จุดประสงค์การเรียนรู้
สามารถเขียนCodeภาษาCในArduino IDE วัดค่าความเข้มแสงจากพื้นและเส้นสี จากสัญญาณAnalogได้
2. สามารถเขียนCodeภาษาCในArduino IDEควบคุมการทำงานของหุ่นยนต์อัตโนมัติในการแทร็กเส้นแบบวนรอบได้
วัสดุอุปกรณ์
1. บอร์ดLotus Devkit V.1.0 จำนวน 1 ตัว
2. สายMicro USB จำนวน 1 เส้น
3.Servo Motor จำนวน 1 ตัว
4.DC Motor จำนวน 2 ตัว
5.Battery Lipo 7.4Vdc จำนวน 1 ก้อน
6. เซนเซอร์แทร็กเส้นAnalog Lotus T3 จำนวน 4 ตัว
วิธีทดลอง
เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมให้หุ่นยนต์อ่านค่าแสงจากพื้นสนามได้ และเขียนโค้ดให้หุ่นยนต์สามารถแทร็กเส้นแบบวนรอบได้
ทำการเซนเซอร์ Lotus T3 ดังรูปข้างล่าง
3.หลังจากนั้นให้เข้ามาที่ Tool ->Port แล้วเลือกพอร์ตCom portที่เชื่อมกับUSB ดังรูปข้างล่าง
4. นำหุ่นยนต์มาวัดค่าแสง ที่สนาม โดยเลือกที่ Menu 0 จากการหมุด Knob และกดปุ่มStart (GPIO27)
5. หลังจากคำนวณหาค่าเฉลี่ย ระหว่างสีพื้น และสีเส้น ของเซนเซอร์แต่ละตัวเสร็จเรียบร้อย ให้ทำการนำตัวเลขที่อยู่ในช่องสีเหลืองที่เป็นจำนวนเต็มไปกรอกค่าแสง ในบรรทัดที่ 10-13 ในCode ข้างต้น เพื่อนำมาใช้ในการตัดสินใจ ซึ่งอัลกอรึทึ่มในการตัดสินใจว่า อันไหนเป็นสีพื้นอันไหนเป็นสีเส้นของเซนเซอร์แต่ละตัวในการตัดสิน ในที่นี้คือ
หากค่าเซนเซอร์วัดได้น้อยกว่าค่ากลาง แสดงว่าเป็นสีเส้น (ดำ)
หากค่าเซนเซอร์วัดได้มากกว่าค่ากลาง แสดงว่าเป็นสีพื้น
สำหรับการกรอกค่ากลางเซนเซอร์ในบรรทัดที่ 10-13ของArduino IDE ดังรูปข้างล่าง
6. ตัวอย่างอัลกอริทึม ในการแทร็กเส้นแบบวนรอบ และสามารถปรับอัตราแทร็กได้ ในภาษาซี ในArduino IDE ตั้งแต่บรรทัดที่ 104-108 ดังรูปข้างล่าง
7. ทำการ Upload Code หลังจากกรอกค่าเฉลี่ยแสงแต่ละเซนเซอร์ และปรับค่าอัตราการแทร็กให้เรียบร้อย หลังจากนั้นสามารถเรียกโปรแกรมใช้งาน โดยหมุนตัวต้านทานปรับค่าได้ GPIO35(Knob) ไปที่Menu 1 ที่จอแสดงผลOLED หลังจากนั้นกดสวิตซ์ START GPIO27 เพื่อเป็นการเริ่มต้น การทำงานของโปรแกรมแทร็กเส้นแบบวนรอบ ตัวอย่างวีดีโอการทำงานของโปรแกรมจะอยู่ด้านล่าง