จุดประสงค์การเรียนรู้
1. สามารถเขียนภาษาMicropythonesp32 วัดค่าความเข้มแสงจากพื้นและเส้นสีจากสัญญาณ Analogได้
2.สามารถเขียนCode ภาษาMicropythonesp32 ควบคุมการทำงานของหุ่นยนต์อัตโนมัติในการแทร็กเส้นแบบวนรอบได้
วัสดุอุปกรณ์
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นี้ เพื่อเขียนโปรแกรมให้หุ่นยนต์อ่านค่าแสงจากพื้นสนามได้ และเขียนโค้ดให้หุ่นยนต์สามารถแทร็กเส้นแบบสนามตารางภารกิจได
10. ตัวอย่าง ทำการเขียนCode ในโปรแกรม micropython Thonny ตามรูปแบบข้างล่าง
11. เข้าโปรแกรมเลือกที่ ปุ่ม Run >> Select interpreter ...
หน้าต่างของ thonny options ทำการเลือกพอร์ตที่ต่อกับบอร์ด esp32
ในตัวอย่างเลือกเป็นพอร์ต USB (COM5)
12. เข้าโปรแกรมเลือกที่ ปุ่ม Install orupdate firmware
หน้าต่างของ ESP32 ทำการเลือกพอร์ตที่ต่อกับบอร์ด esp32
ในตัวอย่างเลือกเป็นพอร์ต USB (COM5)
13. ในหน้าต่าง ESP32 firmware installer ในตัวอย่างเลือกเป็นพอร์ต USB (COM5)
ต่อไปในส่งของ Firmware >> Browse... เลือก Firmware ที่เราดาวน์โหลดมาเริ่มข้างต้น
14. เลือก Firmware ที่เราดาวน์โหลดมาเลือกชื่อไฟล์
ESP32_GENERIC-20240222-v1.22.2.bin หรือชื่อไฟล์ที่ดาวน์โหลดมาเวอร์ชั่นล่าสุด
รอจนกว่าจะขึ้นข้อความว่า Done ! และ กดปิดหน้าต่างดังกล่าวออก
15. กดปิดหน้าต่างดังกล่าวออก และ กด OK พอออกมาหน้าโค้ดแล้วกดปุ่มสีแดงSTOP
stop/Restart backend(Ctrl+F2) หนึ่งครั้ง
1ุ6.ขั้นตอนต่อไปเป็นการ บันทึกไฟล์ เลือกที่ File >> Save as >> Micro Python device
ตั้งชื่อเป้น main.py ไว้สั่งงานในบอร์ด esp32
1ุ7.ตั้งชื่อไฟล์ว่า main.py
18.ขั้นตอนต่อไปเป็นการ copyโค้ดและสร้างแท็บใหม่ New >> บันทึกไฟล์ เลือกที่ File >> Save as >> Micro Python device
ตั้งชื่อเป้น ssd1306.py ไว้สั่งงานในบอร์ด esp32
1ุ9.ตั้งชื่อไฟล์ว่า ssd1306.py
20.โหลดไฟล์ให้ครบทั้งสองตัวก่อนเริ่มใช้งาน จอOLED
21.ถัดไปกดปุ่ม Run ปุ่มสีเขียว Run current script (F5)
21. การหาค่าเฉลี่ยของsensor
สีดำสะท้อนแสงน้อยได้วัดจึงวัดได้น้อยกว่าขาว
สีขาวสะท้อนแสงได้ดีจึงวัดได้มาก
22. ตัวอย่างอัลกอริทึม ในการแทร็กเส้นแบบวนรอบ และสามารถปรับอัตราแทร็กได้
23.ตัวอย่างอัลกอริทึม ในการแทร็กเส้นแบบวนรอบ และสามารถปรับอัตราแทร็กได้ ในภาษาซี ใน pythonEsp32 ตั้งแต่บรรทัดที่ 75-89 ฟังชันก์ def track() ดังรูปข้างล่าง
24. ตัวอย่างอัลกอริทึม ในการออกจากloopแทร็กเส้นแบบวนรอบ สามารถปรับเงื่อนไขดังบบรทัดที่ 159-174 ฟังชันก์ def P() ดังรูปข้างล่าง
25.ฟังชั่นใช้งานสำหรับ หุ่นยนต์ pythonEsp32
2.6 ฟังชั่น menu ใช้งานสำหรับ หุ่นยนต์ pythonEsp32
ตัวอย่างการทำงาน