จุดประสงค์การเรียนรู้
- สามารถใช้โปรแกรมArduino IDE เขียนวัดค่าเซนเซอร์การสะท้อนของแสงที่พื้นสนามหุ่นยนต์ได้
เนื้อหา
Lotus T3 เป็น Sensor ที่ใช้วัดค่าแสงที่พื้น ผลิตโดยLotusArduibot โดยมีตัวส่งแสง(LED) และตัวรับแสง(Phototransistor) โดยอาศัยทฤษฎีคลื่นแม่เหล็กไฟฟ้าที่ว่าด้วยเรื่องการสะท้อนแสง และทฤษฏีการดูดกลืนพลังงานของสี โดยรับค่าสัญญาณAnalog โดยปกติLotus T3 จะมีขาPinอยู่3 ขา คือ
G หมายถึง ขั้วลบ หรือ Ground
V หมายถึง ขั้วบวก หรือ ไฟเลี้ยง
S หมายถึง ขาสัญญาณAnalog
ประโยชน์ของSersor Lotus T3 คือ สามาถแทร็กเส้นหรือพื้นได้หลายช่วงความยาวคลื่นหรือหลากหลายสีนั่นเอง โดยปกติถ้าเป็นSensorแทร็คเส้นชนิดTCRT5000 จะสามารถแทร็คได้เฉพาะสีขาวดำเท่านั้น Lotus T3 ได้ทลายความสามารถนี้ให้สามารถแทร็คเส้นได้มากกว่าสีขาวดำ
สำหรับหลักการในการแยกสีขาวดำของSensor Lotus T3 อาศัยหลักการแยกสีดังรูปภาพข้างล่าง
เป้าหมาย
เขียนโปรแกรมวัดค่าสัญญาณAnalog Input จากSensor Lotus T3 จำนวน 3-5 ตัว
วัสดุอุปกรณ์
1. บอร์ดLotusMegaBot จำนวน 1 ตัว
2. สายMicroUSB จำนวน 1 เส้น
3. Sensor Lotus T3 จำนวน 3-5 ตัว
4. แบตเตอรี่Lipo หรือ Adaptor ขนาด 7.4v-9v จำนวน 1 ตัว
ทำการประกอบหุ่นยนต์และเซนเซอร์ดังภาพข้างล่าง
วิธีทำ
1. เปิด Arduino IDE แล้วทำการเขียนโค้ดดังภาพข้างล่าง โดยที่หากเขียนโค้ดไว้ในเครื่องหมายปีกกา{} ภายใต้ void setup() โปรแกรมจะทำงานเพียงครั้งเดียว และหากเขียนโค้ดภายในเครื่องหมายปีกกา{} ภายใต้void loop() โปรแกรมจะทำงานต่อเนื่อง
2.ทำการเสียบสายMicroUSBกับบอร์ดLotusMegaBotกับเครื่องคอมพิวเตอร์ ดังรูปข้างล่าง
3.สำหรับการอัพโหลดโปรแกรมลงบนบอร์ดสามารถทำตามขั้นตอนต่อไปนี้
ตัวอย่างVDOการทำงานของโปรแกรม
หลังจากอัพโหลดโค้ดแล้วให้นำหุ่นยนต์มาในสนามที่มีพื้นที่สีขาวและสีดำ สังเกตค่าสีขาวและสีดำที่จอOLED A0-A2 แสดงให้เห็นว่าสีขาวสะท้อนได้ดีกว่าค่าAnalogที่จอOLEDจะสูงกว่าสีดำนั่นเอง
4. ทำการจดบันทึกค่าสัญญาณAnalog ที่จอOLED ของ Sensor A0-A2 ทั้งที่เป็นสีพื้นดำ และสีพื้นขาว ทั้ง 3 ตัวแล้วหาค่าเฉลี่ยตามสมการ
จากการทดลองสรุปได้ว่าค่าเฉลี่ยระหว่างสีขาวกับสีดำ จะได้สีในระดับสีเทา แนวทางการเขียนโปรแกรมให้หุ่นยนต์สามารถแยกสีขาวดำได้ เราสามารถเขียนได้ตามเงื่อนไขประมาณนี้
หากค่าที่รับมาจากSensor A0 มีค่ามากกว่า 534 (หรือค่ากลาง) แสดงว่าสีที่พื้นเป็นสีขาว
หากค่าที่รับมาจากSensor A0 มีค่าน้อยกว่า 534 (หรือค่ากลาง) แสดงว่าสีที่พื้นเป็นดำ