การใช้ Arduino แบบ Standalone หมายถึงการหยิบเอาเฉพาะตัวไมโครคอนโทรลเลอร์ (MCU) ที่อยู่บนบอร์ด มาเพียงตัวเดียว และนำมาต่อวงจรต่างๆที่จำเป็นเพิ่มเติมในภายหลัง ซึ่งวิธีนี้ทำให้เรามีความยืดหยุ่นในการดีไซน์วงจรได้มากขึ้น แถมขนาดที่อาจเล็กลง แต่ที่แน่ๆคือ ราคาถูกลงแน่นอน เพราะถ้าเทียบกับงานที่ต้องใช้ Arduino จำนวนมากๆ แต่ถ้าเราซื้อมาเฉพาะตัวไมโครคอนโทรลเลอร์ ก็จะประหยัดเงินได้หลายเท่า

Read More

This tutorial was originally posted on the 10kohms.com website, which now seems to be no longer with us, so we have reproduced it here.

In my last post I discussed using the built in EEPROM to store permanent data on the Arduino. All though this is a very easy and effective way of storing data on the Arduino the built in EEPROM only offers 512 bytes of storage. When working with larger or more advanced Arduino projects we may need to store additional data so an external memory solution like the 24LC256 I²C EEPROM IC becomes necessary.

We’re using a 256kbit eeprom which is actually 32kbytes of space. 262,144 bits / 8 bits in a byte = 32,768 bytes. That’s 62 times the Arduino’s built-in storage!

Read More

I got my hands on an AT24C256 (256 kbit = 32 kbyte serial EEPROM). I found no library for it, so I created a small sketch with few functions to show how the i2c_eeprom_write_page and i2c_eeprom_read_byte functions work.

Because this chip is I2C, it only uses the analog pins 4 & 5 (SDA and SCL), and of course the power (5V) and GND.

Connect as follows:

Arduino analog pin 4 to EEPROM pin 5
Arduino analog pin 5 to EEPROM pin 6
Arduino 5V to EEPROM pin 8
Arduino GND to EEPROM pin 1,2,3,4

Read More

รู้จักกับตัวเก็บประจุ
ตัวเก็บประจุ , คาปาซิเตอร์ (Capacitor) หรือ ตัว C ที่เรานิยมเรียกกัน ตัวเก็บประจุจะทำหน้าที่เก็บประจุไฟฟ้าและคายประจุไฟฟ้า โดยจะว่าไปแล้วตัวเก็บประจุทำหน้าที่คล้ายกับแบตเตอรี่ แต่จะเก็บกระแสไฟฟ้า ได้น้อยกว่าและจะจ่ายกระแสไฟฟ้าไฟฟ้าได้เร็ว กว่า
โดยตามโครงสร้างแล้วตัวเก็บประจุจะประกอบด้วยแผ่นตัวนำวางประกบกันโดยเว้นระยะห่างของแผ่นตัวนำโดยภายในจะมีสารไดอิเล็กตริกอยู่ เราจึงนิยมมักเห็นตัวเก็บประจุอยู่ในวงจรอิเล็กทรอนิกส์เสมอ นอกจากเราจะใช้ตัวเก็บประจุ เก็บและคายประจุให้วงจรอิเล็กทรอนิกส์แล้วเรายังใช้ตัวเก็บประจุ ในวงจรกรองความถี่ได้อีกด้วย หน่วยของตัวเก็บประจุเรียกว่า F (ฟารัส) 10uF(10ไมโครฟารัส) 0.01uF (0.01ไมโครฟารัส) เป็นต้น ซึ่งการอ่านค่าและ การแปลงหน่วยจะกล่าวถึงในส่วนต่อไป

Read More

PWM หมายถึง Pulse Width Modulation เป็นเทคนิคที่ Arduino ใช้ในการควบคุมวงจร
และ เขียนค่าแบบอะนาล๊อก (Analog) ด้วยพอร์ตดิจิตัล (Digital) 
คือ โดยปกติแล้ว พอร์ตดิจิตัล จะสามารถมีได้แค่ 2 สถานะ คือ HIGH (5 โวล์ท) กับ LOW (0 โวล์ท)
เท่านั้น จึงทำให้สร้างค่าสัญญาณลอจิคได้เพียง เปิดหรือปิด (1 หรือ 0 , มีไฟหรือไม่มีไฟ) แค่นั้น
ซึ่งการใช้เทคนิค PWM นั้น จะเป็นการทำให้พอร์ตดิจิตัล สามารถเขียนค่าได้มากกว่า HIGH หรือ LOW
โดย ทำให้สามารถเขียนค่าเป็นแบบอะนาล๊อกได้ (อาจเป็น 0-255 หรือ 0-1023) โดยวิธีการนั้น
จะใช้การปรับสถานะของสัญญาณลอจิค HIGH / LOW สลับกันไปมาด้วยคาบเวลาหนึ่งๆ
โดยค่าที่ได้นั้นจะขึ้นอยู่กับ สัดส่วนเวลาของสัญญาณในช่วงเวลาที่มีสถานะเป็น HIGH
กับช่วงเวลาที่เป็น LOW โดย ช่วงเวลาทั้งหมดที่สัญญาณมีสถานะเป็น HIGH นั้นเราจะเรียกว่าเป็น

“ความกว้าง Pulse (Pulse Width)”

โดยสัญญาณพัลส์ เมื่อเทียบ % ของช่วงเวลาที่เป็น HIGH (หรือก็คือ % ของ Pulse Width)
กับ % ของคาบเวลา (Period) ของพัลส์ลูกนั้นๆ เราจะเรียกว่า Duty Cycle ครับ
เพื่อความเข้าใจสามารถดูได้จากตัวอย่างด้านล่างครับ
(คลิ๊กที่รูปภาพเพื่อดูภาพขนาดเต็ม)

Read More