สารบัญ:

Arduino Tank Car บทที่ 6 - การควบคุมฮอตสปอต Bluetooth และ Wifi: 4 ขั้นตอน
Arduino Tank Car บทที่ 6 - การควบคุมฮอตสปอต Bluetooth และ Wifi: 4 ขั้นตอน

วีดีโอ: Arduino Tank Car บทที่ 6 - การควบคุมฮอตสปอต Bluetooth และ Wifi: 4 ขั้นตอน

วีดีโอ: Arduino Tank Car บทที่ 6 - การควบคุมฮอตสปอต Bluetooth และ Wifi: 4 ขั้นตอน
วีดีโอ: How to make a WIFI control car | WIFI control car with Nodemcu and Blynk [Step by step] 2024, กรกฎาคม
Anonim
Arduino Tank Car บทที่ 6 - Bluetooth และ Wifi Hot Spot Control
Arduino Tank Car บทที่ 6 - Bluetooth และ Wifi Hot Spot Control

ในบทเรียนนี้ เราเรียนรู้วิธีควบคุมแอพมือถือ Robot car ผ่าน WiFi และ Bluetooth เราแค่ใช้ esp8266 wifi espasion board เป็นบอร์ดขยายและควบคุมรถถังผ่านตัวรับสัญญาณ IR ในบทเรียนก่อนหน้า ในบทเรียนนี้ เราจะเรียนรู้วิธีใช้โทรศัพท์เพื่อเชื่อมต่อฮอตสปอตจากบอร์ดขยายและควบคุมการเคลื่อนที่ของรถผ่านแอพโทรศัพท์ ในเวลาเดียวกัน คุณยังสามารถใส่บลูทูธลงในบอร์ดขยายและควบคุมการเคลื่อนที่ของรถผ่านบลูทูธของโทรศัพท์ได้

บทแนะนำโดยละเอียด:

ซื้อที่อเมริกา: Amazon.com

ขั้นตอนที่ 1: มันทำงานอย่างไร

มันทำงานอย่างไร
มันทำงานอย่างไร

มีฮอตสปอตชื่อ DoitWIFI_Config จากบอร์ด ESP8266 ครับ

เวลาทำงานและคุณสามารถเชื่อมต่อฮอตสปอตผ่าน wifi ของโทรศัพท์โดยไม่ต้องใช้รหัสผ่าน เมื่อเปลี่ยนสวิตช์ของบอร์ด ESP8266 เป็น "ON" ข้อความจาก Arduino และ esp8266 สามารถเปลี่ยนได้โดยพอร์ตอนุกรม คำสั่งควบคุมสามารถส่งไปที่ ESP8266 ผ่านแอพโทรศัพท์ แล้วส่งไปยัง Arduino ผ่านพอร์ตอนุกรมระหว่างบอร์ด Arduino และ ESP8266.

เมื่อหมุนสวิตช์บอร์ด ESP8266 ไปที่ตำแหน่ง "1" และ "2" เพื่อตัดการเชื่อมต่อพอร์ตอนุกรมระหว่างบอร์ด Arduino และ ESP8266 หากคุณวางโมดูลบลูทูธบนบอร์ด esp8266 และเชื่อมต่อผ่านบลูทูธของโทรศัพท์ ข้อความจาก Arduino และ esp8266 สามารถแลกเปลี่ยนโดยใช้พอร์ตอนุกรมผ่านโมดูลบลูทูธ

ค้นหาเพิ่มเติมเกี่ยวกับบอร์ดป้องกัน WiFi ของ ESP8266 กรุณาเยี่ยมชมที่นี่:

ขั้นตอนที่ 2: การติดตั้งซอฟต์แวร์

ขั้นตอนที่ 1: ติดตั้ง Arduino IDE ล่าสุด (หากคุณมี Arduino IDE เวอร์ชันหลัง 1.1.16 โปรดข้ามขั้นตอนนี้)

ดาวน์โหลด Arduino IDE จาก https://www.arduino.cc/en/Main/Software?setlang=e… จากนั้นติดตั้งซอฟต์แวร์

ขั้นตอนที่ 2: ดาวน์โหลดโค้ดตัวอย่างบทที่ 7 จาก https://www.kookye.com/download/car/tank_robot_les… แตกไฟล์ zip ที่ดาวน์โหลดมา tank_robot_lesson7.zip คุณจะเห็นโฟลเดอร์ชื่อ tank_robot_lesson7

ขั้นตอนที่ 3: เชื่อมต่อบอร์ด UNO R3 กับพีซีด้วยสาย USB เปิด Arduino IDE -> คลิกไฟล์ -> คลิกเปิด -> เลือกรหัส "tank_robot_lesson7.ino" ในโฟลเดอร์ tank_robot_lesson7 โหลดโค้ดลงใน Arduino

ขั้นตอนที่ 4: เลือกบอร์ดและพอร์ตที่เกี่ยวข้องสำหรับโครงการของคุณ อัปโหลดภาพร่างไปยังบอร์ด

ขั้นตอนที่ 5: ดาวน์โหลดแอปและติดตั้งบนโทรศัพท์ของคุณ: https://kookye.com/download/car/car.apkหมายเหตุ: แอปนี้รองรับ Android และเราขอเสนอซอร์สโค้ดของแอป (https://kookye.com /download/car/BTcar-master.zip). คุณสามารถแก้ไขและปรับแต่งรหัสตามความต้องการของคุณได้

ขั้นตอนที่ 3: ทำความเข้าใจรหัส

โปรแกรมนี้ใช้สำหรับรับคำสั่งควบคุมจากแอพโทรศัพท์

// WiFi / Bluetooth ผ่านการควบคุมแบบอนุกรม

เป็นโมฆะ do_Uart_Tick()

{

ถ่าน Uart_Date=0;

ถ้า(Serial.available())

{ size_t len = Serial.available ();

uint8_t sbuf[len + 1];

sbuf[len] = 0x00;

Serial.readBytes (sbuf, len);

//parseUartPackage((ถ่าน*)sbuf);

memcpy(buffUART + buffUARTIndex, sbuf, len);

// ตรวจสอบให้แน่ใจว่าพอร์ตอนุกรมสามารถอ่านข้อมูลเฟรมทั้งหมดได้

buffUARTIndex += เลน;

preUARTTick = มิลลิวินาที ();

ถ้า (buffUARTIndex >= MAX_PACKETSIZE - 1)

{ buffUARTIndex = MAX_PACKETSIZE - 2;

preUARTTick = preUARTTick - 200; }

}

if(buffUARTIndex > 0 && (มิลลิวินาที () - preUARTTick >= 100))

//APP ส่งแฟล็กเพื่อแก้ไขพารามิเตอร์การหลีกเลี่ยงสิ่งกีดขวาง

{ // ข้อมูลพร้อม buffUART [buffUARTIndex] = 0x00;

if(buffUART[0]=='C')

{ Serial.println (buffUART);

Serial.println("คุณได้แก้ไขพารามิเตอร์!");

// ระบุว่าพารามิเตอร์ระยะการหลีกเลี่ยงสิ่งกีดขวางได้รับการแก้ไข sscanf(buffUART, "CMD%d, %d, %d", &distancelimit, &sidedistancelimit, &turntime);}

อื่น Uart_Date=buffUART[0];

บัฟUARTIndex = 0;

}

สวิตช์ (Uart_Date) // คำแนะนำในการควบคุมแบบอนุกรม

{ กรณี '2': Drive_Status=MANUAL_DRIVE; Drive_Num=GO_ADVANCE;Serial.println("forward"); หยุดพัก;

กรณี '4': Drive_Status=MANUAL_DRIVE; Drive_Num=GO_LEFT; Serial.println("เลี้ยวซ้าย");แตก;

กรณี '6': Drive_Status=MANUAL_DRIVE; Drive_Num=GO_RIGHT; Serial.println("เลี้ยวขวา");แตก;

กรณี '8': Drive_Status=MANUAL_DRIVE; Drive_Num=GO_BACK; Serial.println("ย้อนกลับ");แตก;

กรณี '5': Drive_Status=MANUAL_DRIVE; Drive_Num=STOP_STOP;buzz_off();Serial.println("stop");แตก;

กรณี '3': Drive_Status=AUTO_DRIVE_UO; Serial.println("หลีกเลี่ยงอุปสรรค…");ทำลาย;

กรณี '1': Drive_Status=AUTO_DRIVE_LF; Serial.println("ตามบรรทัด…");break;

ค่าเริ่มต้น:แบ่ง;

}

}

ขั้นตอนที่ 4: การติดตั้งฮาร์ดแวร์

การติดตั้งฮาร์ดแวร์
การติดตั้งฮาร์ดแวร์
การติดตั้งฮาร์ดแวร์
การติดตั้งฮาร์ดแวร์
การติดตั้งฮาร์ดแวร์
การติดตั้งฮาร์ดแวร์

ขั้นตอนที่ 1: ติดตั้งบอร์ดขยาย ESP8266 บนบอร์ด UNO R3

ขั้นตอนที่ 2: หากคุณต้องการควบคุมรถผ่านบลูทูธ โปรดติดตั้งโมดูลบลูทูธบน ESP8266 ดังต่อไปนี้ และใส่สวิตช์ในตำแหน่ง "1, 2" หากคุณต้องการควบคุมรถผ่าน wifi โปรดเก็บบอร์ด esp8266 ไว้โดยไม่มีโมดูลบลูทูธ และเปิดสวิตช์ของ esp8266 ไปที่ตำแหน่ง "เปิด"

หมายเหตุ: โมดูล Bluetooth และบอร์ด Arduino สื่อสารกันผ่านพอร์ตอนุกรม UART โปรดลบโมดูลบลูทูธก่อนที่จะอัปโหลดภาพร่างในบอร์ด Arduino มิฉะนั้นจะอัปโหลดภาพร่างไม่สำเร็จ

ขั้นตอนที่ 3: ใส่แบตเตอรี่ 12865 สองก้อนลงในกล่องแบตเตอรี่แล้วหมุนสวิตช์ของกล่องไปที่ "เปิด" (หากคุณทำตามขั้นตอนข้างต้นในบทที่ 1 เสร็จแล้ว โปรดข้ามขั้นตอนเหล่านี้)

ขั้นตอนที่ 4: เปิดแอปโทรศัพท์และ wifi ค้นหาฮอตสปอตที่เรียกว่า "DoitWIFI_Config" แล้วเชื่อมต่อ

ขั้นที่ 5: เปิดแอพ>> เลือกโหมด WiFi>> จากนั้นคุณสามารถควบคุมรถหุ่นยนต์ผ่าน wifi

ขั้นตอนที่ 6: หากคุณต้องการควบคุมรถหุ่นยนต์ผ่านบลูทูธ โปรดเปิดบลูทูธของโทรศัพท์ Android ที่คุณติดตั้งแอปไว้และสแกนบลูทูธ (โมดูลบลูทูธที่ต่างกันจะสแกนชื่อบลูทูธที่ต่างกัน) คลิกเชื่อมต่อและป้อนรหัสผ่าน "1234" หรือ "0000" หากไม่มีการเปลี่ยนแปลง (คุณสามารถเปลี่ยนการตั้งค่า wifi หรือบลูทูธในโทรศัพท์ Android เพื่อเปลี่ยนเป็นการควบคุมรถผ่าน wifi หรือบลูทูธ):

ขั้นตอนที่ 7: เปิดแอป>> เลือกโหมดบลูทูธ>> จากนั้นคุณสามารถควบคุมรถหุ่นยนต์ผ่านบลูทูธ:

มีสามโหมดการทำงาน: การควบคุมด้วยตนเอง การหลีกเลี่ยงสิ่งกีดขวาง และการติดตาม ผู้ใช้สามารถสลับไปมาระหว่างโหมดการทำงานสามโหมดได้อย่างอิสระ1) ในโหมดการควบคุมด้วยตนเอง คุณสามารถคลิกปุ่ม (^) (V) () เพื่อควบคุมรถหุ่นยนต์ให้เคลื่อนที่ไปข้างหน้าและข้างหลัง เลี้ยวขวาและซ้าย ในขณะเดียวกัน APP สามารถสังเกตการเคลื่อนไหวของรถแบบเรียลไทม์

2) คลิกปุ่ม "ติดตาม" ของแอพเพื่อเปลี่ยนโหมดปัจจุบันเป็นโหมดติดตาม รถหุ่นยนต์จะเคลื่อนที่ไปข้างหน้าตามเส้นสีดำบนพื้นหลังสีขาว ในขณะเดียวกัน APP สามารถสังเกตการเคลื่อนไหวของรถแบบเรียลไทม์ กด "||" ปุ่มเพื่อหยุดการเคลื่อนไหวและคลิกปุ่มอื่น ๆ เพื่อเปลี่ยนโหมดการทำงานของรถหุ่นยนต์ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโหมดนี้ โปรดทบทวนบทเรียนที่ 4

3) คลิกปุ่ม "อุปสรรค" เพื่อเปลี่ยนโหมดปัจจุบันเป็นโหมดหลีกเลี่ยงสิ่งกีดขวาง รถหุ่นยนต์สามารถขับเคลื่อนไปข้างหน้าอย่างต่อเนื่องและหยุดและขับออกไปเมื่อมีสิ่งกีดขวางขวางทาง กด "||" ปุ่มเพื่อหยุดการเคลื่อนไหวแล้วคลิกปุ่มอื่นเพื่อเปลี่ยนโหมดการทำงานของรถหุ่นยนต์ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโหมดนี้ โปรดทบทวนบทเรียนที่ 5

แนะนำ: