สร้างรถ RC ที่คุณสามารถควบคุมได้ด้วยรีโมท: 6 ขั้นตอน

สร้างรถ RC ที่คุณสามารถควบคุมได้ด้วยรีโมท: 6 ขั้นตอน

สารบัญ:

Anonim

ในคำแนะนำนี้ฉันจะแสดงให้คุณเห็นว่าคุณสามารถสร้างรถให้เป็นตัวของตัวเองได้อย่างไร

สิ่งที่ดีที่สุดเกี่ยวกับรถคันนี้คือมีการดัดแปลงเล็กน้อยคุณสามารถควบคุมได้ด้วยรีโมทเกือบทุกอย่างที่คุณสามารถจินตนาการได้

ตัวอย่างเช่นคุณสามารถควบคุมได้โดยใช้:

  • แอพ (ซึ่งฉันจะให้คุณดูเร็ว ๆ นี้;)
  • รีโมท RC (ซึ่งฉันใช้อยู่ที่นี่)
  • IR ระยะไกล

มาเริ่มกันเลย!

วัสดุ:

ขั้นตอนที่ 1: อะไหล่

ในการสร้างรถยนต์คุณจะต้องมีหลายส่วน

  • ชุดอุปกรณ์ในรถยนต์ที่มีมอเตอร์และเฟรม
  • H-bridge เพื่อควบคุมมอเตอร์ (ความเร็วและทิศทาง)
  • Aarduino ฉันใช้ mega ที่นี่ แต่คุณสามารถใช้ aarduino ประเภทใดก็ได้
  • รีโมตคอนโทรลบางชนิด (ฉันใช้ Spektrum DX6i แต่คุณสามารถใช้รีโมตได้เกือบทุกชนิด)

ไม่จำเป็น:

  • ตัวแปลง 12V เป็น 6V (เฉพาะในกรณีที่คุณใช้แบตเตอรี่ 12V แทนเซลล์ 4AA)
  • โมดูลบลูทู ธ HC-05 (สำหรับควบคุมรถยนต์สำหรับโทรศัพท์หรือพีซี)
  • อุปกรณ์เสริมอื่น ๆ

ขั้นตอนที่ 2: สิ่งที่รวมอยู่ในชุดอุปกรณ์ในรถยนต์

ด้วยชุดอุปกรณ์ในรถยนต์คุณจะได้รับชิ้นส่วนมากมาย พวกเขาเป็น:

  • 4 ล้อพร้อมยางยาง
  • แผ่นอะคริลิคด้านบนและด้านล่าง
  • 4 มอเตอร์ที่มีกระปุกเกียร์ดังนั้นเพลาส่งออกจะช้ากว่าเพลามอเตอร์ แต่มีแรงบิดมากกว่า
  • กล่องแบตเตอรี่สำหรับแบตเตอรี่ 4AA ฉันไม่ได้ใช้เพราะฉันควรใช้แบตเตอรี่ lipo
  • 2 สายสำหรับทุกมอเตอร์ (สีแดงและสีดำ)
  • มีสกรูและน็อตเพียงพอสำหรับประกอบเข้าด้วยกัน
  • 6 Spacers สำหรับระหว่างแผ่นด้านบนและด้านล่าง
  • 8 ตัวยึดมอเตอร์ 2 ตัวสำหรับแต่ละมอเตอร์
  • 4 Encoder ดิสก์สำหรับหากคุณต้องการวัดความเร็วมอเตอร์
  • ไขควง
  • คำแนะนำการสร้าง

ขั้นตอนที่ 3: การประกอบรถยนต์

ขั้นตอนแรกคือการลอกกระดาษป้องกันออกจากอะคริลิคทุกชิ้น (แผ่นด้านบนและด้านล่าง, ตัวยึดมอเตอร์, ดิสก์ตัวเข้ารหัส)

หลังจากนั้นคุณสามารถเริ่มประกอบแชสซีโดยใช้รูปภาพตามคำแนะนำ ออกจากแผ่นด้านบนออก

หลังจากนั้นคุณสามารถตัดลวดให้สั้นลงและบัดกรีให้เป็นสี่มอเตอร์ (เท่าที่เห็นในภาพสุดท้าย)

ขั้นตอนที่ 4: การติดตั้งอุปกรณ์อิเล็กทรอนิกส์

อันดับแรกให้วางสะพาน H ระหว่างมอเตอร์ทั้ง 4 ตัวและเชื่อมต่อกับมอเตอร์

หลังจากนั้นคุณสามารถเชื่อมต่อตัวควบคุมแรงดันไฟฟ้าหากมีการใช้งานมิฉะนั้นเชื่อมต่อชุดแบตเตอรี่เข้ากับ H-bridge ไปยัง VCC และ GND

เพิ่มสายไฟอีก 2 เส้น (สีแดงและสีน้ำเงิน) สำหรับให้พลังงานกับอาร์ดิโน คุณสามารถใช้ตัวควบคุม 5V บนสะพาน H

นอกจากนี้ยังเพิ่มสำหรับสายจัมเปอร์หญิงชายหรือหญิงหญิงจัมเปอร์ที่หมุดควบคุมสะพาน H

หากคุณใช้แบตเตอรี่ lipo ให้เชื่อมต่อขั้วต่อแบตเตอรี่กับอินพุตของตัวปรับแรงดันไฟฟ้า

ตอนนี้สกรูบนแผ่นด้านบน และติดตั้ง arduino ด้านบน

เชื่อมต่อสายสีแดงและสีน้ำเงินเข้ากับ 5V และ GND ของ arduino

เชื่อมต่อหมุดควบคุม 4 ตัวจากสะพาน H ไปยังขา 10 - 13

นี่คือส่วนหนึ่งสำหรับรถ ส่วนถัดไปสำหรับรีโมต หากคุณใช้ประเภทอื่น (บลูทู ธ, …) คุณจะต้องเปลี่ยนที่นี่

สำหรับคอนโทรลเลอร์ RC เพียงเชื่อมต่อ 5V และ GND กับการเชื่อมต่อ 5V และ GND ของ Arduino เชื่อมต่อช่อง 2 และ 3 (สำหรับการขับรถ) ด้วยพิน 3 และ 4

นั่นคือสำหรับด้านฮาร์ดแวร์ ตอนนี้เราไปที่ด้านซอฟต์แวร์

ขั้นตอนที่ 5: ซอฟต์แวร์ Arduino

ซอฟต์แวร์ของ Arduino นั้นไม่ยาก ฉันได้เพิ่มความคิดเห็นแล้ว แต่ถ้ามีอะไรไม่ชัดเจนโปรดแจ้งให้เราทราบ

#define Motor1_Dir 13 // มอเตอร์ 1 ทิศทางควบคุมพิน #define Motor2_Dir 11 // มอเตอร์ควบคุมทิศทาง 2 #define Motor1_PWM 12 // มอเตอร์ควบคุมความเร็ว 1 พิน #define Motor2_PWM 10 // มอเตอร์ควบคุมความเร็ว int channel 4 = {0, 0, 0, 0}; // ตัวแปรสำหรับบันทึกค่ารีโมตควบคุม int pwm 4 = {0, 0, 0, 0}; // ตัวแปรสำหรับบันทึกค่ารีโมตจาก -255 ถึง 255 int prev_pwm 4 = {0, 0, 0, 0}; // ตัวแปรเพื่อตรวจสอบว่าสถานะมีการเปลี่ยนแปลง int pwm_m1 = 0 หรือไม่ // ตัวแปรเพื่อบันทึกความเร็วของมอเตอร์ตัวแรก int pwm_m2 = 0; // ตัวแปรเพื่อบันทึกความเร็วของมอเตอร์ตัวที่สอง int reverse = 0; // ตัวแปรเพื่อตรวจสอบว่ารถจำเป็นต้องขับรถย้อนกลับ int prev_reverse = 0 หรือไม่ // ตัวแปรเพื่อตรวจสอบว่าสถานะของการย้อนกลับเปลี่ยนแปลง const int const 4 = {2, 3, 4, 5}; // ตัวแปร const สำหรับพินของการตั้งค่าโมฆะระยะไกล () {pinMode (2, INPUT); // Ch1 pinMode (3, INPUT); // Ch2 pinMode (4, INPUT); // Ch3 pinMode (5, INPUT); // Ch4 pinMode (6, INPUT); // Ch5 pinMode (7, INPUT); // Ch6 pinMode (Motor1_Dir, OUTPUT); pinMode (Motor2_Dir, OUTPUT); pinMode (Motor1_PWM, OUTPUT); pinMode (Motor2_PWM, OUTPUT); digitalWrite (Motor1_Dir, LOW); // มอเตอร์ 1 ไปข้างหน้า digitalWrite (Motor2_Dir, LOW); // มอเตอร์ 2 ไปข้างหน้า} void loop () {สำหรับ (int i = 1; i <3; i ++) // ตรวจสอบช่องที่ 2 และ 3 (จาก 0 ถึง 3) {channel i = pulseIn (พิน i, สูง, 25000); // อ่านช่องสัญญาณชีพจร i = (ช่องสัญญาณ i == 0)? 990: ช่อง i; // หากมีข้อผิดพลาดค่าคือ 0 / ************************************** *** * เหมือนกัน แต่สั้นกว่า: * ถ้า (channel i == 0) * {* channel i = 990; *} * else * {* channel i = channel i; *} ******************************************* / pwm i = แผนที่ (ช่อง i, 990, 2000, -255, 255); // แปลงจาก (990 - 2000) เป็น (-255 - 255) ถ้า (i == 2) // ถ้าช่อง 3 ถูกเลือก (การเคลื่อนที่ในแนวดิ่ง) {reverse = (pwm i <2)? 1: 0; // ไปข้างหน้าหรือข้างหลัง pwm i = (pwm i <0)? (255 + pwm i): pwm i; // ถ้าย้อนหลังแทน (-255 ถึง 0) => (0 ถึง 255)} ถ้า ((prev_pwm i + 4 <pwm i) || (prev_pwm i - 4> pwm i)) // หากมีการเคลื่อนไหวน้อยที่สุดของ 4 ในทิศทางเดียว {/ ** กำหนดมอเตอร์ 1 ความเร็ว ** / pwm_m1 = pwm 2 - pwm 1; pwm_m1 = (pwm_m1 <0)? 0: pwm_m1; // ขั้นต่ำ 0, ไม่ใช่ลบ pwm_m1 = (pwm_m1> 255)? 255: pwm_m1; // สูงสุด 255, ไม่เกิน / ** กำหนดมอเตอร์ 2 ความเร็ว ** / pwm_m2 = pwm 2 + pwm 1; pwm_m2 = (pwm_m2 <0)? 0: pwm_m2; // ขั้นต่ำ 0, ไม่ใช่ลบ pwm_m2 = (pwm_m2> 255)? 255: pwm_m2; // สูงสุด 255, ไม่มี analogWrite เพิ่มเติม (Motor1_PWM, pwm_m1); // ความเร็วในการเขียนไปยังอะนาล็อก motorWrite (Motor2_PWM, pwm_m2); prev_pwm i = pwm i; // วางที่นี่เพื่อตรวจสอบการเคลื่อนไหวที่น้อยที่สุดของ 4 (ดูขึ้น)} ถ้า (ย้อนกลับ! = prev_reverse) // หากทิศทางเปลี่ยนไป {digitalWrite (Motor1_Dir, ย้อนกลับ); // เขียนมันไปที่ H bridge digitalWrite (Motor2_Dir, reverse); // เขียนมันลงไปที่สะพาน H prev_reverse = reverse; // กำหนดการตรวจสอบภายหลัง}} ล่าช้า (100); // หลับใหล}

นั่นคือรหัสทั้งหมด

ขั้นตอนที่ 6: ดำเนินการต่อ

คุณก็สร้างรถที่คุณสามารถควบคุมได้ด้วยรีโมทเกือบทุกตัว

สนุกกับการทำและขับมัน!

หากคุณชอบมันโปรดลงคะแนนให้และแบ่งปัน

หากคุณมีความคิดสำหรับฉันจะทำอย่างไรต่อไปโปรดแบ่งปันพวกเขา!

หากคุณมีคำถามให้พวกเขาทราบในความคิดเห็น

และสวัสดีปีใหม่!

ลอเรน