สารบัญ:
- ขั้นตอนที่ 1: ทั้ง MASTER และ SLAVE ในรหัสเดียวกัน
- ขั้นตอนที่ 2: โมดูล BLUETOOTH พูดคุยผ่านการอ่านและเขียนแบบอนุกรม
- ขั้นตอนที่ 3: ควบคุมการแข่งขัน
- ขั้นตอนที่ 4: ส่วนที่เหลือของรหัส
- ขั้นตอนที่ 5: อะไรต่อไป?
วีดีโอ: Arduino Hot Wheels Speed Track Part #2 - รหัส: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ในส่วนแรกของโครงการนี้ เราได้สร้างฮาร์ดแวร์สำหรับต้นแบบบนเขียงหั่นขนม 2 อัน
และในส่วนนี้เราจะพูดถึงโค้ดว่ามันทำงานอย่างไรและทดสอบดู
อย่าลืมดูวิดีโอด้านบนสำหรับการตรวจสอบโค้ดทั้งหมดและการแสดงโค้ดการทำงาน
ขั้นตอนที่ 1: ทั้ง MASTER และ SLAVE ในรหัสเดียวกัน
รหัสอยู่ใน 2 ส่วน แต่อยู่ในไฟล์เดียวกัน ฉันใช้ #define และ #ifdef เพื่อกำหนดว่าโค้ดใดที่จะคอมไพล์หรือละเว้น เพื่อให้ฉันสามารถแยกโค้ดใดๆ ที่มีไว้สำหรับเขียงหั่นขนม MASTER และโค้ดที่ใช้สำหรับเขียงหั่นขนม SLAVE เท่านั้น
โดยทั่วไป หากพบdefine MASTER โค้ดใดๆ ที่อยู่ในบล็อคโค้ด MASTER จะถูกคอมไพล์ และโค้ดใดๆ นอกบล็อกนั้นจะถูกลบออกในเวลาคอมไพล์
#ifdef มาสเตอร์
//รหัสเฉพาะมาสเตอร์อยู่ในนี้
#อื่น
#define ทาส
// รหัสเฉพาะของ Slave อยู่ในนี้
#endif
ฉันยังใช้เทคนิคเดียวกันนี้ในการ #define SLAVE เมื่อรวบรวม MASTER ดังนั้นคุณจะต้องกังวลเกี่ยวกับการกำหนด MASTER หรือไม่เปิดใช้งาน SLAVE เพื่อกำหนด
ขั้นตอนที่ 2: โมดูล BLUETOOTH พูดคุยผ่านการอ่านและเขียนแบบอนุกรม
ในโครงการนี้ มีเพียงเขียงหั่นขนม SLAVE เท่านั้นที่คุยกับเขียงหั่นขนม MASTER MASTER ไม่เคยพูดตอบ แต่จะฟังและดำเนินการกับข้อมูลที่เข้ามาเท่านั้น
โมดูลพูดและฟังโดยใช้คลาส Serial ในตัวในระบบนิเวศการเข้ารหัส Arduino
โมดูล Bluetooth สื่อสารที่ 38400 บอด ดังนั้นเส้นทางรหัสทั้งสองจึงเริ่มต้นการสื่อสารแบบอนุกรมโดยใช้:
Serial.begin(38400);
และทาสใช้:
Serial.write (ข้อมูลที่นี่);
ในการพูดคุยกับ MASTER และ MASTER ใช้:
ข้อมูล = Serial.read();
เพื่อฟังซีเรียลสตรีมและอ่านเนื้อหาและเก็บไว้ในตัวแปร
ขั้นตอนที่ 3: ควบคุมการแข่งขัน
SLAVE จะบอก MASTER ว่าอยู่ในโหมด race more หรือ ready ผ่านปุ่มสีเขียวที่เชื่อมต่อกับไมโครคอนโทรลเลอร์ ในโหมดพร้อม เซ็นเซอร์ IR จะไม่ทำอะไรเลย และ MASTER จะแสดงเส้นประ 8 เส้นบนจอแสดงผลเพื่อระบุว่าอยู่ในโหมดพร้อม
เมื่อสเลฟบอกอาจารย์ว่าการแข่งขันกำลังจะเริ่มต้น สเลฟจะเริ่มสำรวจเซ็นเซอร์ IR ที่ด้านข้าง (จุดเริ่มต้นของสนามแข่ง) เพื่อให้รถผ่านด้านล่าง
เมื่อรถแต่ละคันผ่านใต้เซ็นเซอร์ IR แต่ละตัว มันจะส่ง A (รถ 1) หรือ B (รถ 2) ไปยัง MASTER
เมื่อ MASTER ได้รับ A หรือ B จะเปิดใช้งานตัวจับเวลาสำหรับรถยนต์คันนั้น ๆ จากนั้นรอให้รถผ่านใต้เซ็นเซอร์ IR ที่สอดคล้องกันที่เส้นชัย
จอแสดงผลจะอัปเดตทุก ๆ 50ms เพื่อแสดงเวลาปัจจุบันของรถแต่ละคันในหน่วยวินาทีโดยมีทศนิยม 2 ตำแหน่ง
เมื่อรถทั้งสองคันเข้าเส้นชัย MASTER จะตัดสินว่ารถคันใดเร็วที่สุดและกะพริบเวลานั้นบนหน้าจอเพื่อระบุผู้ชนะ
ขั้นตอนที่ 4: ส่วนที่เหลือของรหัส
รหัสที่เหลือเป็นเพียงรหัสยูทิลิตี้ที่ควบคุมการแสดงข้อมูลบนจอแสดงผล 8 หลักหรือจัดการตรรกะการกดปุ่มเป็นต้น
ในตอนท้ายของวิดีโอในส่วนแนะนำของโปรเจ็กต์นี้ ฉันจะแสดงตัวอย่างโค้ดที่ทำงานบนบอร์ดทดลอง 2 อัน ดังนั้นอย่าลืมลองดู!
คุณสามารถคว้ารหัสสำหรับโครงการนี้จาก repo github ของฉัน
ขั้นตอนที่ 5: อะไรต่อไป?
แค่นี้แหละ… ในตอนที่ 3 เราจะดูการย้ายส่วนประกอบออกจากเขียงหั่นขนมและไปยังสิ่งที่ถาวรกว่านี้… คอยติดตาม!
ฉันหวังว่าคุณจะสนุกกับโครงการนี้!
ติดตามฉันได้ที่:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
แนะนำ:
Arduino Multi-track MIDI Loop Station: 6 ขั้นตอน
Arduino Multi-track MIDI Loop Station: ลูปสเตชันหรือลูปเปอร์เป็นเครื่องมือสำคัญสำหรับการเล่นในแบบเรียลไทม์ riffs เครื่องดนตรีของคุณ (ลูป) ไม่ได้ตั้งใจให้เป็นสื่อบันทึก แต่เป็นเครื่องมือในการสร้างแรงบันดาลใจโดยไม่วอกแวก (และในที่สุดก็แสดงสด…)Ther
หุ่นยนต์ Mecanum Omni Wheels พร้อม GRBL Stepper Motors Arduino Shield: 4 ขั้นตอน
หุ่นยนต์ Mecanum Omni Wheels พร้อม GRBL Stepper Motors Arduino Shield: Mecanum Robot - โปรเจ็กต์ที่ฉันอยากจะสร้างตั้งแต่เห็นมันในบล็อก gread mechatronics ของ Dejan: howtomechatronics.com Dejan ทำได้ดีจริงๆ ครอบคลุมทุกด้านตั้งแต่ฮาร์ดแวร์ การพิมพ์ 3 มิติ , อุปกรณ์อิเล็กทรอนิกส์, รหัส และแอพ Android (MIT
วิธีปรับเปลี่ยน Hot Wheels มาตรฐานเป็น R/C Hot Wheels:D: 6 ขั้นตอน (พร้อมรูปภาพ)
วิธีปรับเปลี่ยน Hot Wheels มาตรฐานเป็น R/C Hot Wheels:D: ตั้งแต่ฉันยังเด็ก ฉันชอบ Hot Wheels Cars มันทำให้ฉันมีแรงบันดาลใจในการออกแบบรถยนต์แฟนตาซี คราวนี้พวกเขาเอาชนะตัวเองด้วย Star War Hot Wheels, C-3PO อย่างไรก็ตาม ฉันต้องการมากกว่าการผลักดันหรือเดินทางบนเส้นทาง ฉันตัดสินใจว่า “L
Star Track - ตัวชี้ดาวและตัวติดตามที่ขับเคลื่อนด้วย Arduino: 11 ขั้นตอน (พร้อมรูปภาพ)
Star Track - ตัวชี้ดาวและตัวติดตามที่ขับเคลื่อนด้วย Arduino: แทร็กสตาร์คือระบบติดตามดาวที่ได้รับแรงบันดาลใจจาก GoTo-mount ที่ใช้ Arduino มันสามารถชี้และติดตามวัตถุใด ๆ บนท้องฟ้า (พิกัดท้องฟ้าจะได้รับเป็นอินพุต) ด้วย 2 Arduinos, ไจโร, โมดูล RTC, สเต็ปเปอร์มอเตอร์ราคาประหยัดสองตัว และโครงสร้างที่พิมพ์ 3 มิติ
Arduino Hot Wheels Speed Track - ตอนที่ 1 - ต้นแบบ: 4 ขั้นตอน
Arduino Hot Wheels Speed Track - ตอนที่ 1 - ต้นแบบ: ไม่น่าแปลกใจเลยที่ลูกชายของฉันชอบล้อร้อนและแข่งรถไปทั่วบ้าน! สิ่งหนึ่งที่เขาโปรดปรานคือการแข่งรถทุกคันของเขา (มากกว่า 100 คันในตอนนี้) เพื่อดูว่ารถคันไหนเร็วที่สุด ตอนนี้เขาทำทุกอย่างด้วยตา และ