สารบัญ:
- ขั้นตอนที่ 1: มันทำงานอย่างไร
- ขั้นตอนที่ 2: การติดตั้งซอฟต์แวร์
- ขั้นตอนที่ 3: ทำความเข้าใจรหัส
- ขั้นตอนที่ 4: การติดตั้งฮาร์ดแวร์
วีดีโอ: Arduino Tank Car บทที่ 6 - การควบคุมฮอตสปอต Bluetooth และ Wifi: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ในบทเรียนนี้ เราเรียนรู้วิธีควบคุมแอพมือถือ 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
แนะนำ:
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร
บทที่ 2: การใช้ Arduino เป็นแหล่งพลังงานสำหรับวงจร: 6 ขั้นตอน
บทที่ 2: การใช้ Arduino เป็นแหล่งพลังงานสำหรับวงจร: สวัสดีอีกครั้งนักเรียนในบทเรียนที่สองในหลักสูตรของฉันเพื่อสอนอุปกรณ์อิเล็กทรอนิกส์ขั้นพื้นฐาน สำหรับผู้ที่ยังไม่ได้ดูบทเรียนแรกของฉันซึ่งอธิบายพื้นฐานของวงจร โปรดดูที่ตอนนี้ สำหรับผู้ที่เคยดูไฟล์ก่อนหน้าของผมแล้ว
Java Workshop - บทที่ #1: 9 ขั้นตอน
Java Workshop - บทที่ #1: ยินดีต้อนรับ ot Java Workshop - บทเรียน #1 บทเรียนนี้จัดเตรียมให้คุณโดยรหัสชั้นเรียน () ที่ Virginia Tech
DIY Wave Tank/flume โดยใช้ Arduino และ V-slot: 11 ขั้นตอน (พร้อมรูปภาพ)
DIY Wave Tank/flume โดยใช้ Arduino และ V-slot: ถังคลื่นคือชุดห้องปฏิบัติการสำหรับการสังเกตพฤติกรรมของคลื่นพื้นผิว แท็งก์คลื่นทั่วไปคือกล่องที่บรรจุของเหลว โดยปกติแล้วจะเป็นน้ำ โดยปล่อยให้พื้นที่เปิดโล่งหรือเติมอากาศอยู่ด้านบน ที่ปลายด้านหนึ่งของถัง ตัวกระตุ้นจะสร้างคลื่น อีกอี
เรือยอทช์ฟรี บทที่ 9: Technicolor Dreamboat: 11 ขั้นตอน (พร้อมรูปภาพ)
Free Yacht ตอนที่ 9: Technicolor Dreamboat: ในตอนนี้ เราแปลง Free Boat 2 เป็นเรือ LED Art ลำแรกในอ่าวซานฟรานซิสโก Free Boat 2 เป็นเรือเดินทะเล Piver trimeran ขนาด 32 ฟุต เดิมทีได้มาจากล็อตยึดของนายท่าเรือโดยมาสเตอร์ reuser tim และผ่าน