สารบัญ:

หุ่นยนต์ 4 ล้อควบคุมด้วย Wi-Fi: 6 ขั้นตอน
หุ่นยนต์ 4 ล้อควบคุมด้วย Wi-Fi: 6 ขั้นตอน

วีดีโอ: หุ่นยนต์ 4 ล้อควบคุมด้วย Wi-Fi: 6 ขั้นตอน

วีดีโอ: หุ่นยนต์ 4 ล้อควบคุมด้วย Wi-Fi: 6 ขั้นตอน
วีดีโอ: How to control Robot arm with Blynk app สอนทำ robot arm ควบคุมผ่าน wifi ด้วยแอป Blynk 2024, พฤศจิกายน
Anonim
หุ่นยนต์ 4 ล้อควบคุมด้วย Wi-Fi
หุ่นยนต์ 4 ล้อควบคุมด้วย Wi-Fi

สำหรับโครงการนี้ เราจะพัฒนาหุ่นยนต์ 4 ล้อโดยใช้ ESP8266 ซึ่งจะควบคุมผ่านเครือข่าย Wi-Fi หุ่นยนต์สามารถควบคุมได้จากอินเทอร์เน็ตเบราว์เซอร์ทั่วไป โดยใช้อินเทอร์เฟซที่ออกแบบด้วย HTML หรือจากแอปพลิเคชันมือถือ Android ชิป ESP8266 เป็นไมโครคอนโทรลเลอร์ที่มีประสิทธิภาพและราคาถูก ซึ่งไม่เพียงแต่ใช้งานง่าย แต่ยังมาพร้อมกับการเชื่อมต่อ Wi-Fi ในตัวอีกด้วย นี่เป็นเพียงชิปที่สมบูรณ์แบบในการควบคุมหุ่นยนต์จากระยะไกลจากคอมพิวเตอร์หรืออุปกรณ์เคลื่อนที่ของคุณ

เพื่อรวมชิปนี้เข้ากับโปรเจ็กต์ของเรา เราสามารถใช้บอร์ดพัฒนาที่หลากหลายตามไมโครคอนโทรลเลอร์นี้

1. Adafruit Feather Huzzah - ผลิตโดย Adafruit และมีคำแนะนำและการสนับสนุนที่หาได้ง่าย มีเครื่องชาร์จแบตเตอรี่ li-po อยู่บนบอร์ด ดังนั้นมันจะมีประโยชน์มากในโครงการแบบพกพา

2. NodeMCU ESP8266 - บอร์ดนี้เป็นโอเพ่นซอร์สและมีเอกสารประกอบที่ยอดเยี่ยม จึงง่ายต่อการเริ่มต้น

3. Sparkfun ESP8266 - เหมือนกับ Huzzah ด้วยการเพิ่มสวิตช์เปิดปิดและเสาอากาศภายนอกสำหรับช่วง Wi-Fi ที่ยาวขึ้น

4. Wemos D1 Mini - เป็นบอร์ดที่เล็กที่สุด แต่ไม่มีผลใดๆ ต่อประสิทธิภาพการทำงาน

สำหรับโครงการของฉัน ฉันใช้ Wemos D1 Mini เพื่อสร้างหุ่นยนต์ 4 ล้อที่ควบคุมด้วย Wi-Fi แต่คุณสามารถใช้บอร์ดพัฒนา ESP8266 ใดก็ได้ และใช้โค้ด Arduino เดียวกันโดยไม่ต้องทำการเปลี่ยนแปลงใดๆ ฉันได้ออกแบบ PCB สำหรับโครงการนี้ แต่คุณสามารถใช้บอร์ด dot pcb เพื่อใช้วงจรหรือแม้แต่ออกแบบ pcb ของคุณเอง

และเราจะใช้ Robotic Chassis Kit แบบ 4WD ตามที่แสดงในภาพด้านบน เนื่องจากเหมาะสำหรับ DIY และเป็นชุดอุปกรณ์ในรถหุ่นยนต์ที่ประหยัดที่สุดด้วยโครงสร้างทางกลที่เรียบง่าย

คุณสมบัติของชุดนี้:-

1. มาพร้อมกับมอเตอร์พลาสติก BO แยกกันสี่ตัวพร้อมกระปุกเกียร์ จึงเหมาะสำหรับความคล่องตัว

2. โครงอะคริลิกขนาดใหญ่ที่ทนทานช่วยให้คุณทำ DIY ได้อย่างยอดเยี่ยม

3. ชุดแชสซีรถสมาร์ทขับเคลื่อนสี่ล้อ ติดตั้งง่ายมาก เพียงเพิ่มไมโครคอนโทรลเลอร์ (เช่น Arduino) และโมดูลเซ็นเซอร์เพื่อสร้างหุ่นยนต์อัตโนมัติเต็มรูปแบบ

ขั้นตอนที่ 1: รายการส่วนประกอบ

รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ

Wemos D1 Mini [จำนวน – 1]

L293d Motor Driver IC [จำนวน – 2]

PCF8574 Port Expander IC [ปริมาณ – 1]

แบตเตอรี่ลิเธียมไอออน 12V [ปริมาณ – 1]

PCB หุ่นยนต์ควบคุมด้วย Wi-Fi [จำนวน – 1]

4WD Robot Smart Car Chassis Kit [จำนวน – 1]

ขั้นตอนที่ 2: สมองของโครงการ - คณะกรรมการพัฒนา ESP8266 (Wemos D1 Mini)

สมองของโครงการ - คณะกรรมการพัฒนา ESP8266 (Wemos D1 Mini)
สมองของโครงการ - คณะกรรมการพัฒนา ESP8266 (Wemos D1 Mini)

Wemos D1 Mini เป็นบอร์ดพัฒนา Wi-Fi ขนาดเล็กพร้อมแฟลช 4MB ที่ใช้ชิป ESP-8266

  • มีพินอินพุต/เอาต์พุตดิจิตอล 11 พิน พินทั้งหมดรองรับอินเตอร์รัปต์/pwm/I2C/one-wire (ยกเว้น D0)
  • มีอินพุตแบบอะนาล็อก 1 ช่อง (อินพุตสูงสุด 3.2V)
  • มีการเชื่อมต่อ Micro USB สำหรับการเขียนโปรแกรมรวมทั้งแหล่งจ่ายไฟ

บอร์ดนี้ใช้ ESP8266 ดังนั้นจึงเข้ากันได้กับ Arduino IDE ดังนั้นจึงสามารถตั้งโปรแกรมโดยใช้ Arduino หรือสามารถตั้งโปรแกรมโดยใช้คอมไพเลอร์ Lua นอกจากนี้ยังรองรับการเขียนโปรแกรมทั้งแบบอนุกรมและ OTA

เราจะเขียนโปรแกรม Wemos D1 Mini โดยใช้ Arduino IDE ในการตั้งโปรแกรมบอร์ดโดยใช้ Arduino IDE ต้องเป็นไปตามข้อกำหนด

ความต้องการ:-

  • ไดรเวอร์ CH340G
  • ติดตั้ง Arduino IDE ล่าสุดจากเว็บไซต์ Arduino
  • สาย micro usb สำหรับการเขียนโปรแกรม

หลังจากติดตั้งไดรเวอร์และซอฟต์แวร์ Arduino แล้ว คุณต้องติดตั้ง “Arduino core สำหรับชิป ESP8266 WiFi” ภายใน Arduino IDE เพื่อให้เราสามารถตั้งโปรแกรมชิป ESP8266 จากสภาพแวดล้อม Arduino แกน Arduino ของ ESP8266 นี้ให้คุณเขียนสเก็ตช์โดยใช้ฟังก์ชันและไลบรารีของ Arduino ที่คุ้นเคย และเรียกใช้โดยตรงบน ESP8266 โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์ภายนอก

ESP8266 Arduino core มาพร้อมกับไลบรารี่เพื่อสื่อสารผ่าน WiFi โดยใช้ TCP และ UDP, ตั้งค่าเซิร์ฟเวอร์ HTTP, mDNS, SSDP และ DNS, อัปเดต OTA, ใช้ระบบไฟล์ในหน่วยความจำแฟลช, ทำงานกับการ์ด SD, เซอร์โว, อุปกรณ์ต่อพ่วง SPI และ I2C.

ดาวน์โหลดเอกสารต่อไปนี้เพื่อรับแนวคิดเกี่ยวกับวิธีการติดตั้ง Esp8266 arduino core

ขั้นตอนที่ 3: ตัวขับมอเตอร์ - L293d

ตัวขับมอเตอร์ - L293d
ตัวขับมอเตอร์ - L293d
ตัวขับมอเตอร์ - L293d
ตัวขับมอเตอร์ - L293d
ตัวขับมอเตอร์ - L293d
ตัวขับมอเตอร์ - L293d

ตัวขับมอเตอร์คือ IC สำหรับมอเตอร์ที่ให้คุณควบคุมความเร็วในการทำงานและทิศทางของมอเตอร์สองตัวพร้อมกัน

L293d ได้รับการออกแบบมาเพื่อให้กระแสของไดรฟ์แบบสองทิศทางที่แรงดันไฟฟ้าตั้งแต่ 5 V ถึง 36 V L293D สามารถขับเคลื่อนมอเตอร์ DC ได้ 2 ตัวพร้อมกัน

L293D เป็น IC ไดรเวอร์มอเตอร์ 16 พิน มี 4 INPUT pin, 4 OUTPUT pins และ 2 ENABLE pin สำหรับมอเตอร์แต่ละตัว

คุณสมบัติ L293D:

ความสามารถกระแสเอาต์พุต 600mA ต่อช่องสัญญาณ

การควบคุมทิศทางของนาฬิกาและทวนเข็มนาฬิกาสำหรับแต่ละช่อง

คำอธิบายพินของ L293d:

  • พิน 1: เมื่อ Enable1 เป็น HIGH ส่วนด้านซ้ายของ IC จะทำงาน เช่น มอเตอร์ที่เชื่อมต่อกับพิน 3 และพิน 6 จะหมุน
  • พิน 2: อินพุต 1 เมื่อพินนี้สูง กระแสจะไหลผ่านเอาต์พุต 1
  • พิน 3: เอาต์พุต 1 พินนี้เชื่อมต่อกับขั้วหนึ่งของมอเตอร์
  • พิน 4/5: หมุด GND
  • พิน 6: เอาต์พุต 2 พินนี้เชื่อมต่อกับขั้วหนึ่งของมอเตอร์
  • พิน 7: อินพุต 2 เมื่อพินนี้สูง กระแสจะไหลผ่านเอาต์พุต 2
  • พิน 8: VCC2 พินนี้ใช้สำหรับจ่ายไฟให้กับมอเตอร์ที่เชื่อมต่อตั้งแต่ 5V ถึง 36V สูงสุดขึ้นอยู่กับมอเตอร์ที่เชื่อมต่อ
  • Pin 9: เมื่อ Enable 2 เป็น HIGH ส่วนด้านขวาของ IC จะทำงาน เช่น มอเตอร์ที่เชื่อมต่อกับพิน 11 และพิน 14 จะหมุน
  • พิน 10: อินพุต 4 เมื่อพินนี้สูง กระแสจะไหลผ่านเอาต์พุต 4
  • พิน 11: เอาต์พุต 4 พินนี้เชื่อมต่อกับเทอร์มินัลของมอเตอร์หนึ่งตัว
  • พิน 12/13: พิน GND
  • พิน 14: เอาต์พุต 3 พินนี้เชื่อมต่อกับขั้วหนึ่งของมอเตอร์
  • พิน 15: อินพุต 3 เมื่อพินนี้สูง กระแสจะไหลผ่านเอาต์พุต 3
  • ขา 16: VCC1 สำหรับการจ่ายไฟลอจิกไปยัง IC เช่น 5V

ดังนั้น คุณจะเห็นได้ว่าคุณต้องการพินดิจิทัล 3 ตัวเพื่อควบคุมมอเตอร์แต่ละตัว (หนึ่งพินสำหรับควบคุมความเร็วและอีก 2 พินสำหรับควบคุมทิศทาง) หาก L293d หนึ่งตัวควบคุมมอเตอร์ DC สองตัว เราจะต้องใช้ L293d IC สองตัวเพื่อควบคุม DC Motor สี่ตัว เราจะใช้พลาสติก BO Motors สำหรับโครงการนี้ ดังนั้น คุณจะเห็นว่าเราต้องใช้พินดิจิทัล 12 ตัวเพื่อควบคุมมอเตอร์ DC สี่ตัวทั้งหมดอย่างอิสระด้วยการควบคุมความเร็วและทิศทาง

แต่ถ้าคุณเห็น Wemos D1 mini มีเพียง 11 พิน Digital I/O และ 1 อะนาล็อกพิน เพื่อแก้ปัญหานี้ เราจะเชื่อมต่อสี่พินที่เปิดใช้งาน (สองพินที่เปิดใช้งานของ L293d ตัวแรกและสองพินที่เปิดใช้งานของ L293d อื่น ๆ) กับหมุด Wemos Digital โดยตรงในขณะที่พินอินพุตทั้งหมดแปดอัน (สี่ของ L293d ตัวแรกและ L293d อื่นสี่ตัว) โดยใช้ PCF8574 (ตัวขยายพอร์ต I/O) ผ่าน I2C

ขั้นตอนที่ 4: PCF8574 - ตัวขยายพอร์ต I/O

PCF8574 - ตัวขยายพอร์ต I/O
PCF8574 - ตัวขยายพอร์ต I/O
PCF8574 - ตัวขยายพอร์ต I/O
PCF8574 - ตัวขยายพอร์ต I/O

Wemos D1 Mini (เช่น ESP8266) มีพินอินพุต/เอาต์พุตไม่เพียงพอ เราสามารถเพิ่มพินอินพุต/เอาต์พุตดิจิทัลโดยใช้ I/O expander IC เช่น PCF8574 ซึ่งเป็นตัวขยาย I/O 8 บิต

ข้อดีอย่างหนึ่งของการใช้ PCF8574A I/O expander คือใช้บัส I2C ซึ่งต้องการเพียงสองสายข้อมูล นั่นคือ นาฬิกา (SCK) และข้อมูล (SDA) ดังนั้น ด้วยสองบรรทัดนี้ คุณสามารถควบคุมพินของชิปตัวเดียวกันได้มากถึงแปดพิน ด้วยการเปลี่ยนหมุดที่อยู่สามตัวของ PCF8574 แต่ละอัน เราสามารถควบคุม 64 พินโดยรวมได้

ตัวขยายอินพุต/เอาท์พุต (I/O) 8 บิตสำหรับบัสสองทิศทางแบบสองบรรทัด (I2C) นี้ออกแบบมาสำหรับการทำงาน VCC 2.5V ถึง 6V อุปกรณ์ PCF8574 ให้การขยาย I/O ระยะไกลสำหรับวัตถุประสงค์ทั่วไปสำหรับตระกูลไมโครคอนโทรลเลอร์ส่วนใหญ่โดยใช้อินเทอร์เฟซ I2C [นาฬิกาอนุกรม (SCL), ข้อมูลอนุกรม (SDA)]

อุปกรณ์นี้มีพอร์ต I/O กึ่งสองทิศทางแบบ 8 บิต (P0–P7) รวมถึงเอาท์พุตแบบแลตช์ที่มีความสามารถในการขับกระแสไฟสูงสำหรับไฟ LED ที่ขับโดยตรง I/O กึ่งสองทิศทางแต่ละรายการสามารถใช้เป็นอินพุตหรือเอาต์พุตได้โดยไม่ต้องใช้สัญญาณควบคุมทิศทางข้อมูล เมื่อเปิดเครื่อง I/O จะสูง

ดูไฟล์ pdf "PCF8574_With_L293d" ด้านล่างสำหรับไดอะแกรมการเชื่อมต่อของ PCF8574 กับ L293d IC สองตัว

ขั้นตอนที่ 5: แผนผัง

แผนผัง
แผนผัง
แผนผัง
แผนผัง

ฉันใช้ Kicad สำหรับการออกแบบ PCB

ดาวน์โหลด pdf แผนผังด้านล่างเพื่อออกแบบ pcb ของคุณเองหรือนำไปใช้บนบอร์ด dot pcb

ขั้นตอนที่ 6: รหัส

เชื่อมต่อกับจุดเชื่อมต่อ Wi-Fi ต่อไปนี้:-

// User Defined Network Credentialsconst char* ssid = "WiFi_Robot";

รหัสผ่าน const char* = "Automate@111";

หลังจากเชื่อมต่อกับจุดเชื่อมต่อด้านบนแล้ว ให้ไปที่ลิงก์ด้านล่างในเว็บเบราว์เซอร์:-

192.168.4.1

คุณจะได้รับข้อความต่อไปนี้:-

"สวัสดีจากโรบ็อต!"

192.168.4.1/fw

จะทำให้หุ่นยนต์เคลื่อนที่ไปข้างหน้า

192.168.4.1/bk

จะทำให้หุ่นยนต์ถอยหลัง

192.168.4.1/lt

จะทำให้หุ่นยนต์เคลื่อนที่ไปทางซ้าย

192.168.4.1/rt

จะทำให้หุ่นยนต์เคลื่อนที่ไปทางขวา

192.168.4.1/st

จะทำให้หุ่นยนต์หยุดทำงาน

หากคุณต้องการ คุณสามารถควบคุมหุ่นยนต์ผ่านแอพ Android ที่สร้างโดย Robo India

{ค้นหาแอพ Android "WiFi Robot Controller" บน playstore ที่สร้างโดย Robo India}

[หมายเหตุ: ฉันไม่ได้เชื่อมต่อกับ Robo India แต่อย่างใดและนี่ไม่ใช่เพื่อการโฆษณา นี่เป็นโครงการส่วนตัวของฉัน!]

วิดีโอการทำงานของโครงการ:-

แนะนำ: