กลับไปหน้ารวมไฟล์
4wd-rover-with-sonar-mega-rf24-l298nw-self-drive-mode-45850b.md

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

มันมีอารมณ์ขัน หรือมันยังไม่ "ฉลาดพอ"

Smart Rover

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 และควรให้สัญญาณที่ชัดเจน

RF24 Adaptor, รองรับอินพุต 5 V

RF24L01 - คุณสามารถปล่อย PIN IRQ ไว้โดยไม่ต้องเชื่อมต่อ

PIN SPI สำหรับ RF24

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

PIN ของ Arduino Mega, ทั้งหมดเป็น digital ยกเว้น ENA และ ENB ซึ่งเป็น PIN แบบ PWM (สำหรับควบคุมความเร็ว)

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

การต่อสาย Ultrasonic Servo

Motor driver L298N มีแรงดันไฟฟ้าอินพุตสูงสุดที่ 47V

โปรเจกต์นี้ใช้มอเตอร์เกียร์ 6V พร้อมแบตเตอรี่ 18650 ขนาด 3.7V สองก้อนสำหรับ driver แต่ละตัว

L298N สามารถรองรับแรงดันไฟฟ้าอินพุตสูงสุดที่ 47 V

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

ภาพระยะใกล้ของ pinout ของ L298N โปรดสังเกตว่าผมได้ต่อสายกราวด์ของ L298N เข้ากับ Mega ด้วย

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

ขอให้สนุกกับการสร้างของคุณเองตอนนี้

การต่อสาย 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 ทำหน้าที่เป็นเรดาร์หลัก

  1. การสแกน: Sensor จะปล่อย pulse และวัด time-of-flight
  2. เมทริกซ์การตัดสินใจ: หากตรวจพบสิ่งกีดขวางภายในระยะที่กำหนด (เช่น 20 ซม.) rover จะหยุด, ถอยหลังเล็กน้อย, สแกนซ้ายและขวาเพื่อหาเส้นทางที่ชัดเจนที่สุด แล้วจึงเคลื่อนที่ต่อไป
  3. ประสิทธิภาพของ Mega: การใช้ Arduino Mega ช่วยให้มี PIN I/O จำนวนมาก ซึ่งอำนวยความสะดวกในการรวม sensor หลายตัวและ telemetry feedback พร้อมกัน

ข้อมูล Frontmatter ดั้งเดิม

title: "4WD Rover with Sonar, Mega, RF24, L298N(W/ SELF DRIVE MODE)"
description: "Using an RF24 to send and receive data to control a 4WD rover with radar. With Automation Code is easy even for beginners!"
author: "Gallax"
category: ""
tags:
  - "arduino mega"
  - "rover"
  - "ultrasonic sensor"
  - "radar"
  - "l298n"
  - "nrf24l01"
  - "button"
  - "4wd"
  - "hc-sr04"
  - "remote control"
  - "rf24"
views: 4111
likes: 0
price: 3450
difficulty: "Intermediate"
components:
  - "1x Resistor 1k ohm"
  - "2x Dual H-Bridge motor drivers L298"
  - "1x Tactile Switch, Top Actuated"
  - "2x Analog joystick (Generic)"
  - "1x 9V battery (generic)"
  - "3x Battery Holder, 18650 x 2"
  - "1x Jumper wires (generic)"
  - "4x DC Motor, 12 V"
  - "1x Multitool, Screwdriver"
  - "1x Ultrasonic Sensor - HC-SR04 (Generic)"
  - "1x Arduino Mega 2560"
  - "1x Arduino Nano R3"
  - "6x Battery, 3.7 V"
  - "2x nRF24 Module (Generic)"
tools: []
apps:
  - "1x Processing"
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "9a6f6ae518bc7b282e492deaa5df19a4af7ae709d9ad74fc73c948f1035482e3"
encryptedPayload: "U2FsdGVkX1/ipdICvfwWt1lthBeDPszFmUEgXzNV03yt5+rTdlVGW3eurHQXW0OGr+3KEOBi/9RWKLf9x2d84r3S+Wz+Pj0amH17giFzA+m1eGyx1R+ei/4WXObUjiSL"
seoDescription: "Build a 4WD Rover with RF24, Mega, and Radar. Features SELF DRIVE MODE and beginner-friendly Automation Code."
videoLinks:
  - "https://www.youtube.com/embed/It5hKAz_BGQ"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/4wd-rover-with-sonar-mega-rf24-l298nw-self-drive-mode-45850b_cover.jpg"
lang: "th"