Daftar Isi:
- Persediaan:
- Langkah 1: Bahan!
- Langkah 2: Pengaturan!
- Langkah 3: Membaca Servo! Dengan Cutoff Sinyal!
- Langkah 4: Kode Final untuk Cutoff Sinyal
Truk yang lebih baru memiliki beberapa fitur keselamatan bawaan, atau Anda bisa mendapatkan bagian aftermarket tambahan untuk truk Anda. Namun, saya memutuskan untuk menggunakan arduino, untuk membuat truk yang dibantu komputer, yang memiliki banyak fitur truk yang lebih baru. Misalnya, lampu Berkedip atau stabil, Cutoff tegangan rendah, mode Pelatihan (kecepatan terbatas), Perlindungan kehilangan sinyal (Memotong motor ketika sinyal hilang.) Daftar ini terus berlanjut!
Setelah membaca tentang cara kerja truk, itu cukup sederhana, dan itu sangat mengundang untuk Arduino! Setiap saluran mengontrol servo, yang beroperasi pada 5 volt, Tegangan favorit Arduino! Servo kabur dari PWM, Mudah ditafsirkan dan dikendalikan oleh seorang Arduino!
Sejauh ini, inilah satu-satunya video yang saya miliki tentang kendaraan: Anti Locking Brakes, Dan LCD telemetry!
Persediaan:
Langkah 1: Bahan!
Minimum untuk bangunan ini cukup sederhana!
Anda akan perlu:
Truk / Mobil Anda
Arduino, saya memilih duemilinove.
Konektor servo betina 3 pin (Seperti yang ada pada servo biasa)
Papan tempat memotong roti opsional atau Protoshield.
Langkah 2: Pengaturan!
Menghubungkan Arduino ke truk cukup sederhana. Penerima RC menghasilkan 5 volt, dan sinyal servo PWM. Menggunakan kawat servo 3 pin, Anda dapat menghubungkan ujung kabel kosong ke Arduino, Ground menuju ke ground, 5 volt ke 5 volt di Arduino, Sinyal masuk ke semua pin digital pada Arduino. Tadaa! Sekarang, sambungkan kabel ESC dengan cara yang sama, dan pastikan untuk menggunakan pin digital.
Sejauh memasang arduino ke truk, saya sarankan menggunakan semacam kandang plastik untuk menutup air, debu, dan kotoran. Untuk membuat prototipe, saya menggunakan beberapa perangkat keras open source, RUBBER BANDS!
Langkah 3: Membaca Servo! Dengan Cutoff Sinyal!
Membaca sinyal servo yang keluar dari penerima RC Anda sederhana.. ish …
Dengan menggunakan pulseIn (), Anda dapat menentukan berapa lama pulsa keluar dari receiver Anda. Menggunakan output dari sinyal Servo Arduino, saya dapat mengkalibrasi bacaan.
di sini adalah kode untuk membaca sinyal. perhatikan, 520 dan 2370 adalah nilai mikrodetik yang digunakan untuk mengkalibrasi bacaan. Saya menggunakan output dari Perpustakaan Servo Arduino untuk mengkalibrasi, dan bekerja dengan baik. PWMpin adalah input dari penerima RC. 20000 adalah nilai mikrodetik yang digunakan sebagai fitur batas waktu. Jika batas waktu habis tercapai, kita tahu bahwa kita tidak mendapatkan sinyal dari Transmitter, dan nanti kita bisa menggunakannya untuk memotong motor.
RCinput = pulseIn (PWMpin, HIGH, 20000);
ServoVal = peta (RCinput, 520, 2370, 0, 180);
setelah itu, kami melakukan beberapa analisis data! Catatan, ThrottleServo adalah output di mana input ESC terhubung ke pin Arduino. Pin 13 adalah output yang digunakan untuk menunjukkan kesalahan.
if (RCinput == 0) {// Sinyal habis waktu!
digitalWrite (13, HIGH); // PERINGATAN!
ThrottleServo.write (97); // Pergilah ke posisi throttle netral
}
}
lain{
digitalWrite (13, LOW);
ThrottleServo.write (ServoVal); // Ulangi data ke ESC truk
Serial.print ("PulseMicros"); // Bagian ini digunakan untuk men-debug nilai untuk kalibrasi
Serial.print (RCinput);
Serial.print ("ServoRead");
Serial.println (ServoVal);
}
Langkah 4: Kode Final untuk Cutoff Sinyal
#termasuk
Servo ThrottleServo;
int PWMpin = 2; // sambungkan penerima RC di sini.
int ServoVal;
int RCinput;
pengaturan batal ()
{
Serial.begin (9600);
ThrottleServo.attach (9); // pasang servo pada pin 9 ke objek servo
ThrottleServo.write (97); // pergi ke nuetral
pinMode (13, OUTPUT);
}
membatalkan loop ()
{
RCinput = pulseIn (PWMpin, HIGH, 20000);
ServoVal = peta (RCinput, 520, 2370, 0, 180);
if (RCinput == 0) {// Sinyal habis waktu!
digitalWrite (13, HIGH); // PERINGATAN!
ThrottleServo.write (97); // Pergilah ke posisi throttle netral
}
lain{
digitalWrite (13, LOW); // Semuanya baik.
ThrottleServo.write (ServoVal); // Ulangi data ke ESC truk
Serial.print ("PulseMicros"); // Bagian ini digunakan untuk men-debug nilai untuk kalibrasi
Serial.print (RCinput);
Serial.print ("ServoRead");
Serial.println (ServoVal);
}
}