โปรเจกต์ ESP8266 + L298N Motor Drive + Smartphone
ควบคุม Arduino robot ด้วย Smartphone โดยใช้ ESP8266 (อัปเดตล่าสุด: 08/06/2022)
ควบคุม Arduino robot ด้วย Smartphone โดยใช้ ESP8266 (อัปเดตล่าสุด: 08/06/2022)
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
เอกสารนี้เกี่ยวกับความพยายามของฉันในการควบคุมหุ่นยนต์ Arduino ด้วย L298N motor drive และ AI-Thinker ESP8266 หุ่นยนต์ตัวนี้มีชื่อว่า UTFPRBot version 1.0
นี่คือวิดีโอ YouTube เพื่อสาธิตการทำงานของมัน:
โปรเจกต์นี้จะอธิบายวิธีการสร้างหุ่นยนต์ Arduino ตัวนี้ นอกจากนี้ ฉันยังได้อธิบายขั้นตอนส่วนตัวในการทำให้การ deployment โปรแกรมเพื่อควบคุมหุ่นยนต์ตัวนี้ทำได้ง่ายขึ้น
โปรเจกต์นี้เป็นผลมาจากความพยายามอย่างมากในการสร้างหุ่นยนต์ง่ายๆ ที่ควบคุมด้วย ESP8266 ฉันไม่พบแหล่งข้อมูลที่ดีบนอินเทอร์เน็ตที่อธิบายวิธีสร้างหุ่นยนต์ด้วย ESP8266 แบบง่ายๆ นอกจากนี้ ฉันยังพบข้อมูลมากมายที่จากการทดลองจริงแล้วไม่มีความจำเป็นต้องทำเช่นนั้น แม้จะเป็นความเห็นในฟอรั่มต่างๆ ก็ตาม โปรเจกต์นี้จึงเสนอวิธีการทำให้กระบวนการที่ยุ่งยากนี้ง่ายขึ้น
นี่คือเป้าหมายของเรา:


ฉันใส่ LED ไว้ในวงจรเพื่อให้รู้ว่า ESP8266 ได้รับไฟ 3.3V จริงๆ แต่คุณสามารถใช้ multimeter เพื่อตรวจสอบแรงดันไฟฟ้าได้ ฉันใช้ solderless breadboard เพราะมีการเชื่อมต่อหลายจุด ฉันพยายามใช้ Arduino breadboard shield เพื่อหลีกเลี่ยงการใช้ solderless breadboard แต่ Module นี้รองรับแค่การ deployment ซอฟต์แวร์โดยตรงกับ Arduino Board เท่านั้น
ESP8266 -- Arduino
ขั้นตอนนี้ทำเพียงครั้งเดียวเพื่อให้แน่ใจว่า firmware ได้รับการอัปเดตแล้ว
a) การ deployment ของ ESP8266 จะทำงานได้ก็ต่อเมื่อ ไม่มี ชิป ATMega เท่านั้น แต่คุณสามารถต่อสายไฟเส้นเดียวใน Pins RST และ GND บน Arduino ได้ ซึ่งจะทำให้มีการใช้งานเฉพาะตัว Board เท่านั้น โดยไม่ผ่านชิป ATMega
b) คุณต้องต่อ GPIO0 เพื่อทำการ deployment และต้องถอด GPIO0 ออกหลังจากทำการ deployment sketch เสร็จสิ้น
c) คุณต้องใช้ Pins RST ทุกครั้งก่อนการ deployment เพื่อ sync ตัว ESP ของคุณ ให้ต่อ RST กับ GND อย่างรวดเร็วแล้วสังเกตไฟกะพริบ หากไม่มีอะไรเกิดขึ้น ให้ลองใหม่จนกว่าจะเห็นไฟกะพริบสีน้ำเงิน หลังจากไฟสีน้ำเงินกะพริบแล้ว ให้ถอดสาย RST ออก
d) จ่ายไฟให้ ESP8266 เชื่อมต่อ VCC, CH_PD และ GPIO2 เข้ากับ 3.3V ฉันใช้ 1K Resistor เพื่อป้องกันไม่ให้กระแสไฟฟ้าสูงเกินไปสำหรับ LED ของฉัน
e) คุณต้องต่อ Rx🠚Rx และ Tx🠚Tx เพื่อ deployment firmware ใน ESP8266
f) หลังจากการ deployment ให้ถอดสายตามลำดับนี้: TX และ RX, GPIO0, VCC จากนั้นให้เสียบเฉพาะ VCC อีกครั้งเพื่อตรวจสอบว่า ESP8266 ยังคงเก็บข้อมูลที่ deployment ไว้หรือไม่
1) ต่อสาย Module ESP8266 ของคุณตามที่แสดงในรูปภาพ
2) เปิดไฟล์ FLASH_DOWNLOAD_TOOLS_v2.4_150924/ESP_DOWNLOAD_TOOL_V2.4.exe
3) เปิด “Device Manager” ใน Windows เพื่อตรวจสอบการเชื่อมต่อ COM port เมื่อคุณเสียบสาย USB Arduino ทดสอบ serial COM port ของคุณในโปรแกรม FlashDownloadTools โดยคลิกปุ่ม START แต่ก่อนอื่นให้ยกเลิกการเลือกช่อง config ของ download path ในส่วนของ DETECT INFO และ MAC Address พื้นที่ส่วนนี้ควรแสดงข้อมูลของ ESP8266

3) ตอนนี้ ทำเครื่องหมายในช่อง path และกรอกข้อมูลในฟิลด์ต่างๆ ตามที่แสดงในรูปภาพ:
esp_iot_sdk_v1.5.0_15_11_27\\esp_iot_sdk_v1.5.0\\bin\\esp_init_data_default.bin à0xfc000
esp_iot_sdk_v1.5.0\\bin\\blank.bin à 0xfe000
esp_iot_sdk_v1.5.0\\bin\\boot_v1.4(b1).bin à 0x00000
esp_iot_sdk_v1.5.0\\bin\\at\\512+512\\user1.1024.new.2.bin à 0x01000
ai-thinker-0.9.5.2.bin à 0x00000
4) คลิก START และรอจนกว่าจะ SYNC และทำการ flash ไฟล์ firmware ทั้งหมดจนเสร็จสมบูรณ์
5) หลังจากการ deployment ให้ถอดสายตามลำดับนี้: TX และ RX, GPIO0, VCC จากนั้นเสียบเฉพาะ VCC อีกครั้งเพื่อตรวจสอบว่า ESP8266 ยังคงเก็บโค้ดที่ deployment ไว้หรือไม่

ในขั้นตอนนี้ คุณต้องนำ ITEADLIB_Arduino_WeeESP8266-master ไปไว้ใน C:\\Program Files (x86)\\Arduino\\libraries นอกจากนี้ คุณต้องเอา comment ออกในบรรทัดต่อไปนี้ใน ESP8266.h:
#define ESP8266_USE_SOFTWARE_SERIAL
ในขั้นตอนนี้ คุณต้องเปิดใช้งาน Module ESP8266 ใน Arduino IDE (ไปที่ File 🠚 Preferences: ใส่ URL: http://arduino.esp8266.com/package_esp8266com_index.json) หลังจากนั้นให้ upload Module ESP8266 (ฉันติดตั้งทั้งหมดที่ฉันเห็นว่ามีประโยชน์และมีการระบุถึง ESP8266)
ใน Arduino IDE ให้เลือก Generic ESP8266 Module โดยตั้งค่าต่างๆ ดังนี้:

จากนั้น upload sketch ใหม่: Web Server เพื่อรับการเชื่อมต่อ HTTP สำหรับเคลื่อนที่หุ่นยนต์ อย่าลืมการต่อสายเพื่อ deployment sketches ใน ESP8266:
อย่าลืมถอดสายหลังจากการ deployment:
ตอนนี้ ให้เสียบ VCC อีกครั้งเพื่อให้แน่ใจว่า sketch ของคุณถูก deployment เรียบร้อยแล้ว ใช้ Code1 (ที่แนบมา) เพื่อ: สร้าง WiFi access point และให้บริการ web server บนนั้นเพื่อควบคุมการเคลื่อนที่ของหุ่นยนต์
ตอนนี้คุณต้อง deployment code ลงในชิป Arduino ATMega โปรดทราบว่าฉันใช้ solderless breadboard shield เพื่อหลีกเลี่ยงการถอด/ใส่ชิป ATMega บ่อยๆ ตอนนี้คุณเพียงแค่ต้องถอดสาย RST ออกจาก GND
สำคัญ: ในการอ่านข้อมูลจาก SoftwareSerial คุณต้องสลับการเชื่อมต่อของสาย RX/TX ที่ ESP8266 ใช้เชื่อมต่อกับ Arduino
Wiring

ใช้ Code 2 (ที่แนบมา) เพื่อ:
Wiring

Final remarks:
LLC (Logic Level Converter): ฉันสังเกตว่าหลายฟอรั่มแนะนำให้ใช้ LLC เพื่อเชื่อมต่อ ESP8266 กับ Arduino ฉันซื้อมาตัวหนึ่งและต้องประหลาดใจที่ฉันไม่สามารถใช้งานมันกับ ESP8266 และ Arduino ได้ (มันใช้งานไม่ได้ทั้งตอน deployment หรือการส่ง/รับข้อมูล serial) ดูเหมือนว่าการใช้งานมันจะไม่จำเป็นสำหรับการอัปเดต firmware หรือการ deployment โปรแกรมใหม่ๆ ลงใน ESP8266 ข้อสันนิษฐานบางประการ:
ยินดีรับข้อสงสัย ข้อเสนอแนะ และความคิดเห็นต่างๆ
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมิน Project
เอาฟอร์มยาวออกจากท้ายหน้า Project แล้ว เหลือเป็นปุ่มให้กดไปกรอกหน้าเดียว ตัวใหญ่ เว้นบรรทัดเยอะ อ่านง่ายกว่า
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย