โครงการ: 4WD Rover พร้อม Sonar, Mega, RF24, L298N (พร้อมโหมด SELF DRIVE)



Rover คันนี้ควบคุมด้วย Radio transceivers
RF24 มีความถี่ 2.4 GHz ซึ่งอาจรบกวนเมาส์ไร้สาย, Wifi หรือแหล่งอื่น ๆ ได้ ดังนั้นผมจึงพยายามอย่างเต็มที่ที่จะให้โค้ดและคำแนะนำเกี่ยวกับวิธีปรับปรุงหรือเพิ่มประสิทธิภาพสัญญาณที่ดีที่สุดเพื่อให้ได้ระยะทางสูงสุด
ตัวอย่างเช่น ในโค้ด เราตั้งค่าระดับ PA เป็น HIGH หรือสูงกว่า และผมได้รวม channel, หมายเลข pipe ที่กำหนดเอง และการกำหนด data rate ซึ่งจำเป็นสำหรับการเชื่อมต่อที่เชื่อถือได้ โค้ดนี้เป็นแบบดิบที่สุดเท่าที่จะเป็นไปได้สำหรับผู้เริ่มต้น
RF24 พร้อมเสาอากาศสามารถส่งสัญญาณได้ไกลถึง 100 เมตร ผมได้บัดกรี capacitor ขนาด 10uF ระหว่าง VCC และ GND บนโมดูล หรือคุณสามารถซื้อ adaptor สำหรับ RF24 ได้หากต้องการ
ห้ามต่อ PIN VCC เข้ากับ 5V คุณจะทำให้มันเสียหาย
ถ้าคุณซื้อ adaptor คุณสามารถต่อเข้ากับ 5V ได้
capacitor ขนาด 10uF ทำงานได้ดีกับอินพุต 3V และควรให้สัญญาณที่ชัดเจน


นี่คือ PIN ที่ผมใช้สำหรับ rover คุณสามารถดูการกำหนดค่าแต่ละ PIN ได้ในโค้ด

ผมได้ซื้อรถ Smart car ซึ่งมีโครงสำหรับ Servo มาด้วย โค้ดนั้นถอดรหัสยาก ผมจึงแยกย่อยให้เข้าใจง่ายสำหรับผู้เริ่มต้น

Motor driver L298N มีแรงดันไฟฟ้าอินพุตสูงสุดที่ 47V
โปรเจกต์นี้ใช้มอเตอร์เกียร์ 6V พร้อมแบตเตอรี่ 18650 ขนาด 3.7V สองก้อนสำหรับ driver แต่ละตัว
L298N สามารถรองรับแรงดันไฟฟ้าอินพุตสูงสุดที่ 47 V
ซึ่งหมายความว่า หากคุณสร้าง rover นี้ คุณสามารถซื้อมอเตอร์, ล้อ และเพิ่มแรงดันไฟฟ้าได้ตามต้องการ ทำให้โปรเจกต์นี้ปรับขนาดได้ง่าย

Controller จะส่งและรับข้อมูลตามที่กำหนดในโค้ด
ขอให้สนุกกับการสร้างของคุณเองตอนนี้

ผมยังคงอัปเดตหน้านี้สำหรับโปรเจกต์นี้อยู่
แต่โค้ดจะทำทุกอย่างที่คุณต้องการโดยใช้ปุ่มอย่างน้อยหนึ่งปุ่มและ joystick หนึ่งอัน
Remote control Radar ซึ่งสามารถติดตั้งกับ rover หรือยานพาหนะใดก็ได้
nRF24L01, L298N, Arduino Mega, Arduino Nano, HC-SR04 Ultrasonic Sensor, Remote control ซึ่งคุณสามารถหาได้จาก tutorial อื่นของผม หากคุณต้องการสร้าง remote control ของคุณเอง
รายละเอียดทางเทคนิคเพิ่มเติม
สถาปัตยกรรมระบบและการสื่อสาร
rover นี้ใช้การเชื่อมโยงการสื่อสารแบบ dual-node RF24 (nRF24L01+) Controller ระยะไกลจะส่งข้อมูลแกน X และ Y (หรือคำสั่งจากปุ่ม) ซึ่ง Arduino Mega บน rover จะถอดรหัสเพื่อคำนวณความเร็วมอเตอร์
- การเพิ่มประสิทธิภาพ NRF24L01+: ทำงานที่ 2.4GHz ด้วยเทคโนโลยี Enhanced ShockBurst™ Mega จัดการโปรโตคอลเพื่อให้แน่ใจว่า packet แบบ multi-byte ได้รับพร้อมการตรวจสอบ CRC
- L298N Motor Driver: ทำหน้าที่เป็น interface ระหว่างมอเตอร์ DC กระแสสูงกับ Mega โดยใช้สัญญาณ PWM เพื่อควบคุมความเร็วและ PIN digital เพื่อควบคุมทิศทาง (H-Bridge logic)
ตรรกะการขับเคลื่อนอัตโนมัติ (Autonomous Mode)
เมื่อเปลี่ยนเป็นโหมด Self-Drive, HC-SR04 Ultrasonic Sensor ทำหน้าที่เป็นเรดาร์หลัก
- การสแกน: Sensor จะปล่อย pulse และวัด time-of-flight
- เมทริกซ์การตัดสินใจ: หากตรวจพบสิ่งกีดขวางภายในระยะที่กำหนด (เช่น 20 ซม.) rover จะหยุด, ถอยหลังเล็กน้อย, สแกนซ้ายและขวาเพื่อหาเส้นทางที่ชัดเจนที่สุด แล้วจึงเคลื่อนที่ต่อไป
- ประสิทธิภาพของ Mega: การใช้ Arduino Mega ช่วยให้มี PIN I/O จำนวนมาก ซึ่งอำนวยความสะดวกในการรวม sensor หลายตัวและ telemetry feedback พร้อมกัน