วันเสาร์ที่ 16 กันยายน พ.ศ. 2560

บันทึก ค่า string ใน EEPROM และการอ่านค่าขึ้นมาใน Arduino


EEPROM เป็นอะไรที่สะดวกดีในการบันทึกข้อมูล
ลงใน rom ของ อุปกรณ์อิเลคโทรนิค
สำหรับใน Arduino ตามปกติแล้วจะบันทึกและอ่านได้ทีละ byte
ในการบันทึกและอ่านค่า แบบ string พวกข้อความกลับไม่ได้มีตระเตรียมไว้
หากเขียนปกติต้องค่อยๆ เรียงทีละ byte ซึ่งยุ่งยากมากๆ

เลยต้องพึ่งวิธีพิเศษขึ้น
วิธีทำที่สั้นสุดจะเป็นดังนี้


วันศุกร์ที่ 15 กันยายน พ.ศ. 2560

Arduino 2 ตัว ยิง String หากัน ทาง I2C


มีคนมาตั้งกระทู้ใน กลุ่ม Arduino Thailand
ว่า I2C ยิง String แต่อีกฝั่งดันรับเป็น char ตัวแรก เท่านั้นทำไงดี

เนื่องด้วย I2C ยิงหากัน
หากจะส่งรับหากัน
หลักการไม่ยาก

คือ ฝั่งส่ง ก็ใช้ Wire.println();
และ ฝั่งรับ ก็ใช้ Wire.readStringUntil('\n');
เพียงเท่านี้ ก็ทำให้ การสื่อสาร แบบ I2C ระหว่าง Arduino 2 ตัว รับค่ากันได้ราบรื่น

ตัวอย่าง code ที่เขียนสด ไม่ได้ทดสอบผล
แต่ผู้ตั้งกระทู้ท่านนั้น ได้เอาไปใช้ ก็บอกว่าได้ผลตามต้องการ

ตัวอย่าง code เป็นดังนี้