มีหลายประเภทของหุ่นยนต์จากคนง่ายๆเช่นรถของเล่นไปจนถึงขั้นสูงเช่นหุ่นยนต์อุตสาหกรรม เราได้กล่าวถึง Robots หลายประเภทโดยใช้เทคโนโลยีที่แตกต่างกันไปแล้วดูที่:

และตอนนี้เรากำลังเพิ่มหนึ่งหุ่นยนต์อื่น ๆ ใน 'ของเราหุ่นยนต์โครงการส่วน' คราวนี้เราจะไปทำหุ่นยนต์ควบคุมการเชื่อมต่อ Wi-Fi โดยใช้ Arduino และ Blynk App หุ่นยนต์ที่ใช้ Arduino นี้สามารถควบคุมแบบไร้สายโดยใช้โทรศัพท์สมาร์ท Android ที่ใช้ Wi-Fi ได้
สำหรับการสาธิตหุ่นยนต์ที่ควบคุมด้วย Wi-Fiเราได้ใช้ Android Mobile App ชื่อ " Blynk " แล้ว Blynk เป็นแอพพลิเคชั่นที่เข้ากันได้กับ Arduino เพื่อสร้างโครงการIoT คุณสามารถดาวน์โหลดแอปนี้จาก Google Play สโตร์และสามารถกำหนดค่าได้อย่างง่ายดาย

ขั้นตอนในการกำหนดค่า Blynk App:

1. ดาวน์โหลดจาก Google Play Store ก่อนแล้วติดตั้งลงในโทรศัพท์มือถือ Android
2. หลังจากนั้นจะต้องสร้างบัญชี คุณสามารถใช้บัญชี Gmail ปัจจุบันของคุณได้
3. เลือก Arduino Board และระบุชื่อโครงการของคุณ
หุ่นยนต์เคลื่อนที่ไร้สายควบคุมด้วย blynk-app

4. จดรหัส Auth Token Code หรือส่งอีเมลไปที่บัญชีอีเมลของคุณแล้วคัดลอกและวางในร่าง Arduino (รหัสโปรแกรม)
อินเตอร์เน็ตไร้สายควบคุมหุ่นยนต์ blynk แอป-auth-โทเค็น
5. ใส่ Token Code นี้ใน Arduino sketch
// คุณควรได้รับ Auth Token ใน Blynk App
// ไปที่การตั้งค่าโครงการ (ไอคอนอ่อนนุช)
char auth [] = "caa17a11c0124d4083d0eaa995f45917";
6. จากนั้นคลิกที่ปุ่มสร้างในแอปพลิเคชัน Blynk
7. ตอนนี้เลือก Widget ของจอยสติ๊กคลิกที่จอยสติ๊กกำหนดค่าจอยสติ๊ก (ดูวิดีโอท้าย) แล้วกดปุ่มย้อนกลับ
WiFi ควบคุมหุ่นยนต์มือถือ app blynk 2 WiFi ควบคุมหุ่นยนต์มือถือ app blynk 3 WiFi ควบคุมหุ่นยนต์มือถือ app blynk 4
8. หลังจากกดปุ่มเล่นที่ด้านขวาบนของหน้าจอ
กระบวนการทั้งหมดนี้ในการใช้ Blynk App ได้รับการอธิบายอย่างชัดเจนในวิดีโอแล้วในตอนท้าย
  

ส่วนประกอบที่จำเป็น:

  • Arduino UNO
  • โมดูล Wi-Fi ESP8266
  • สาย USB
  • สายเชื่อมต่อ
  • L293D
  • มอเตอร์กระแสตรง
  • แบตเตอรี่
  • POT 10K (อุปกรณ์เสริม)
  • แชสซีหุ่นยนต์บวกล้อ
  • ล้อเลื่อน
  • โทรศัพท์ Android Mobile
  • แอป Blynk

วงจรอธิบาย:

 แผนภาพวงจรมือถือระบบควบคุม Wi-Fi
แผนภาพวงจรของหุ่นยนต์ควบคุมด้วย Wi-Fiมีดังต่อไปนี้ เราต้องใช้โมดูล Wi-Fi Arduino และ ESP8266 เป็นหลัก หมุด Vcc และ GND ของ ESP8266 เชื่อมต่อโดยตรงกับ 3.3V และ GND ของ Arduino และ CH_PD จะเชื่อมต่อกับ 3.3V ขา Tx และ Rx ของ ESP8266 เชื่อมต่อโดยตรงกับขา 2 และ 3 ของ Arduino ซอฟต์แวร์ Serial Library ใช้เพื่ออนุญาตการสื่อสารแบบอนุกรมของ Pin 2 และ 3 ของ Arduino เราได้กล่าวถึงInterfacing ของ ESP-8266 Wi-Fi โมดูลเพื่อ Arduinoรายละเอียด
ไดร์เวอร์ L293D มอเตอร์ ICถูกนำมาใช้สำหรับการขับรถมอเตอร์กระแสตรง หมุดขาเข้าของ IC ไดรเวอร์มอเตอร์เชื่อมต่อโดยตรงกับขา 8, 9, 10 และ 11 ของ Arduino และมอเตอร์กระแสตรงเชื่อมต่อที่ขาเอาต์พุต ที่นี่เราได้ใช้แบตเตอรี่ 9 โวลต์สำหรับขับมอเตอร์วงจรและ DC

อธิบายการทำงาน:

แผนภาพบล็อกหุ่นยนต์เคลื่อนที่แบบไร้สาย
การทำงานของหุ่นยนต์ที่ควบคุมด้วย Wi-Fi เป็นเรื่องง่ายมากเราต้องลากหรือเลื่อนจอยสติ๊กไปในทิศทางซึ่งเราต้องการย้ายหุ่น เช่นถ้าเราต้องการย้ายหุ่นยนต์ไปข้างหน้าทิศทางเราจำเป็นต้องลากจอยสติ๊ก 'วงกลม' ไปข้างหน้าทิศทาง ในทำนองเดียวกันเราสามารถย้ายหุ่นยนต์ไปทางซ้ายขวาและย้อนกลับได้โดยการลากจอยสติ๊กไปในทิศทางเดียวกัน ตอนนี้เราจะปล่อยจอยสติ๊กขึ้นมาใหม่และหุ่นยนต์จะหยุดลง
แอป Blynk จะส่งค่าจากจอยสติ๊กสองแกนไปยัง Arduino ผ่านทาง Wi-Fi medium Arduino ได้รับค่าเปรียบเทียบกับค่าที่กำหนดไว้ล่วงหน้าและย้ายหุ่นยนต์ไปตามทิศทางนั้น

Programming คำอธิบาย:

Program เกือบจะพร้อมใช้งานใน Arduino IDE เราจำเป็นต้องดาวน์โหลด Blynk Library for Arduino และหลังจากทำการเปลี่ยนแปลงบางอย่างแล้วผู้ใช้สามารถทำหุ่นยนต์ควบคุม Wi-Fi ของตัวเองได้
ขั้นแรกเราได้รวมไลบรารีทั้งหมดที่จำเป็นเพื่อเรียกใช้รหัสนี้ใน Arduino IDE แล้วป้อน Auth Token จากแอป Blynk ในสตริงการรับรอง ต่อไปนี้เราจะเชื่อมต่อ PIN แบบ Wi-Fi กับ Software Serial ของ Arduino พินที่เลือก 2 เป็น RX และ 3 เป็น TX
#define BLYNK_PRINT Serial // แสดงความคิดเห็นเพื่อปิดการใช้งานพิมพ์และประหยัดเนื้อที่
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>

// Set ESP8266 วัตถุแบบอนุกรม
#include <SoftwareSerial.h>
SoftwareSerial EspSerial (2, 3); // RX, TX

ESP8266 WiFi (EspSerial);

// คุณควรได้รับ Auth Token ใน Blynk App
// ไปที่การตั้งค่าโครงการ (ไอคอนอ่อนนุช)
char auth [] = "caa17a11c0124d4083d0eaa995f45917";

จากนั้นเราได้กำหนดพินเอาต์พุต (8,9,10,11) สำหรับมอเตอร์และเขียนฟังก์ชันทิศทางบางอย่างเพื่อย้ายหุ่นยนต์ไปในทิศทางที่เฉพาะเจาะจง: void forward (), โมฆะย้อนกลับ (), โมฆะขวา ()และถือเป็นโมฆะซ้าย ()  
หลังจากนี้ในการตั้งค่าเราจะเริ่มต้นอุปกรณ์ที่จำเป็นทั้งหมดเช่นการกำหนดทิศทางหมุดมอเตอร์ให้เริ่มต้นการสื่อสารแบบอนุกรมโดยให้ชื่อผู้ใช้และรหัสผ่าน Wi-Fi
การตั้งค่าเป็นโมฆะ ()
{
  / / กำหนดอัตราบอดี้คอนโซล
  Serial.begin (9600);
  ล่าช้า (10);
  // ตั้งอัตราการส่งผ่านข้อมูล ESP8266
  // 9600 แนะนำสำหรับซอฟต์แวร์ Serial
  EspSerial.begin (9600);
  ล่าช้า (10);

  Blynk.begin (auth, wifi, "username", "password"); // ชื่อผู้ใช้ wifi และรหัสผ่าน
  pinMode (m11, OUTPUT);
  pinMode (m12, OUTPUT);
  pinMode (m21, OUTPUT);
  pinMode (m22, เอาท์พุท);
}

ตอนนี้เราได้ตรวจสอบเงื่อนไขบางอย่างในการควบคุมหุ่นยนต์ ที่นี่เราได้เลือกPIN เสมือน 1 (V1) สำหรับการป้อนข้อมูลจาก Blynk Appเพื่อควบคุมหุ่นยนต์ เนื่องจากเราได้ใช้ตัวเลือก marge ใน app ดังนั้นเราจะได้รับค่าแกน x และ y ที่ขาเดียวกัน
BLYNK_WRITE (V1) 
{
  int x = param [0] .asInt ();
  int y = param [1] .asInt ();
  ถ้า (y> 220)
  ไปข้างหน้า ();
  อื่นถ้า (y <35)
  ย้อนกลับ();
  else if (x> 220)
  ขวา();
  else if (x <35)
  ซ้าย();
  อื่น
  หยุด();
}
ในที่สุดเราจำเป็นต้องเรียกใช้ฟังก์ชัน blynkในลูปเพื่อเรียกใช้ระบบ
void loop ()
{
  Blynk.run ();
}
รหัส
#define BLYNK_PRINT Serial // แสดงความคิดเห็นออกมาเพื่อปิดการใช้งาน prints และประหยัดพื้นที่
#include <ESP8266_SoftSer.h> 
#include <BlynkSimpleShieldEsp8266_SoftSer.h>
// Set ESP8266 Serial object 
#include <SoftwareSerial.h> 
SoftwareSerial EspSerial (2, 3); // RX, TX
ESP8266 WiFi (EspSerial);
// คุณควรได้รับ Auth Token ใน Blynk App 
// ไปที่การตั้งค่าโครงการ (ไอคอนอ่อนนุช) 
char auth [] = "caa17a11c0124d4083d0eaa995f45917";
# ระบุ m11 8 
# ระบุ m12 9 
# ระบุ m21 10 
# ระบุ m22 11
โมฆะไปข้างหน้า () 

  digitalWrite (m11 สูง); 
  digitalWrite (m12 ต่ำ); 
  digitalWrite (M21, HIGH); 
  digitalWrite (m22 ต่ำ); 
}
โมฆะถอยหลัง () 

  digitalWrite (m11, LOW); 
  digitalWrite (m12 สูง); 
  digitalWrite (M21 ต่ำ); 
  digitalWrite (m22 สูง); 
}
สิทธิเป็นโมฆะ () 

  digitalWrite (m11, HIGH); 
  digitalWrite (m12 ต่ำ); 
  digitalWrite (M21 ต่ำ); 
  digitalWrite (m22 ต่ำ); 
}
ถือเป็นโมฆะทางซ้าย () 

  digitalWrite (m11, LOW); 
  digitalWrite (m12 ต่ำ); 
  digitalWrite (M21, HIGH); 
  digitalWrite (m22 ต่ำ); 
}
โมฆะ Stop () 

  digitalWrite (m11, LOW); 
  digitalWrite (m12 ต่ำ); 
  digitalWrite (M21 ต่ำ); 
  digitalWrite (m22 ต่ำ); 
}
การตั้งค่าเป็นโมฆะ () 

  / / ตั้งอัตราสเตทคอนโซล
  Serial.begin (9600); 
  ล่าช้า (10); 
  / / กำหนดอัตราการส่งผ่านข้อมูล ESP8266 
  / 9600 สำหรับซอฟต์แวร์
  SerialSpeechial.begin (9600); 
  ล่าช้า (10);
  Blynk.begin (auth, wifi, "username", "password"); // ชื่อผู้ใช้ wifi และรหัสผ่าน
  pinMode (m11, OUTPUT); 
  pinMode (m12, OUTPUT); 
  pinMode (m21, OUTPUT); 
  pinMode (m22, เอาท์พุท); 
}
BLYNK_WRITE (V1)  

  int x = param [0] .asInt (); 
  int y = param [1] .asInt ();
  / / ทำอะไรกับ x และ y 
/ * Serial.print ("X ="); 
  Serial.print (x); 
  Serial.print ("; Y ="); 
  Serial.println (y); * / 
  if (y> 220) 
  forward (); 
  else ถ้า (y <35) 
  ย้อนกลับ (); 
  else if (x> 220) 
  right (); 
  else if (x <35) 
  left (); 
  อื่น
  Stop (); 
}
void loop () 

  Blynk.run (); 
}