Isi kandungan:
- Langkah 1: Perkara yang Mungkin Anda Perlu …
- Langkah 2: Sambungkan Perkakasan
- Langkah 3: Program Arduino
- Langkah 4: Pasang Perisian
- Langkah 5: Gunakan Program Antara Muka
- Langkah 6: Kreatif
Video: Pengawal Serial Berasaskan Arduino: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:13
Ini adalah pengawal bersiri sederhana untuk pelbagai servos berdasarkan Arduino. (pertama saya juga boleh diajar:))
Sebilangan besar pekerjaan ini berasal dari mendapatkan perisian untuk berbicara dengan arduino dan membuat protokol agar data dapat diserahkan. Bagi aspek perkakasan, semua yang saya gunakan adalah dua servo (servo standard Parallax di sini.) Sparkfun Arduino ProtoShield dan Arduino Duemilanove dengan ATMEGA328, tetapi kebanyakan bahagian ini boleh diganti dengan item serupa. Saya menganggap projek ini sebagai sebahagian daripada sistem RC, tetapi menyiapkan komunikasi memerlukan banyak masa. Sekiranya ada yang mempunyai penambahbaikan, idea, atau pepijat, sila beri komen. EDIT: Saya menulis ini beberapa ketika yang lalu, baru sahaja dapat menerbitkannya.
Langkah 1: Perkara yang Mungkin Anda Perlu …
Beberapa perkara yang anda perlukan untuk membina ini. 1. Papan Arduino (anda pilih) 2. dua (atau satu) servos 3. kabel jumper 4. Visual Studio 2008 Express - pautan (pilihan) 5. Arduino IDE - pautan Maaf peminat Linux dan Apple, program saya hanya berjalan buat masa ini, tetapi anda masih boleh menghantar arahan bersiri secara manual ke arduino tanpa mengubah kodnya.
Langkah 2: Sambungkan Perkakasan
Tidak ada yang sangat rumit untuk langkah ini. Hubungkan satu servo ke pin 9 dan yang lain ke pin 10.
Langkah 3: Program Arduino
sekarang anda boleh memuat naik lakaran ke arduino.
Berikut adalah pecahan ringkas kod: #masuk servo myservo; // buat objek servo untuk mengawal servo servo myservo1; int incomingByte = 0, datacount = 0, counter = 0, siap = 0; // untuk data char data siri yang masuk [10]; const char mengesahkan [8] = "ma11hew"; perintah char [3]; batal persediaan () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // membuka port bersiri, menetapkan kadar data Serial.println ("Hi Arduino Here!"); // ditambahkan untuk membantu mengenal pasti port bersiri Ini hanya menyediakan port dan servo bersiri. int i; untuk (i = 0; i <180; i ++) {myservo.write (i); kelewatan (15); } myservo.write (5); untuk (i = 0; i <180; i ++) {myservo1.write (i); kelewatan (15); } myservo1.write (5); } Pergerakan sapuan sederhana untuk mengesahkan servo berfungsi dengan betul. gelung kekosongan () {siap = 0; pembilang = 0; sementara (1 == 1) {if (Serial.read ()! = sahkan [kaunter]) {rehat; } jika (kaunter == 6) {kelewatan (20); arahan [0] = Serial.read (); arahan [1] = Serial.read (); // if (Serial.read () == ((perintah [1] * 12)% 8)) // {siap = 1; //} Serial.println ("perintah tersimpan"); } kaunter ++; kelewatan (2); } ini memeriksa penyangga bersiri untuk rentetan kebenaran yang betul kemudian mengambil dua bait untuk perintah. yang dinyatakan jika pernyataan itu memungkinkan untuk membuat checksum sementara tetapi akan menjadikan antaramuka manual menjadi sukar. siap boleh diatur ke 0 sehingga perintah tidak akan dihuraikan seperti dalam kes data yang rosak. // cari melalui perintah jika (siap == 1) {if (perintah [0] == 'T') {perintah [0] = 0; Serial.print ("kawalan pendikit pada pin 9 hingga:"); Serial.println (peta (arahan [1], 32, 126, 2, 180), DEC); myservo.write (peta (arahan [1], 32, 126, 2, 180)); } if (perintah [0] == 'S') {perintah [0] = 0; Serial.print ("kawalan pendikit pada pin 10 hingga:"); Serial.println (peta (arahan [1], 32, 126, 2, 180), DEC); myservo1.write (peta (arahan [1], 32, 126, 2, 180)); }}} selebihnya kod adalah mencari perintah untuk mendapatkan perintah yang sah (T atau S.) jika sesuai, ia memerlukan bait seterusnya dan mengirimkannya ke servo. lebih banyak lagi di peta (arahan [1], 32, 126, 2, 180) kemudian … kod di sini boleh dikembangkan untuk apa sahaja yang anda perlukan (mis. lampu, motor, IR, dll.) kod ini harus berfungsi dengan baik tanpa pengubahsuaian.
Langkah 4: Pasang Perisian
Saya mempunyai dua cara untuk memasang ini … pemasang nsis: Muat turun pemasang pengekstrak sendiri di bawah dan jalankan. Anda akan mempunyai pilihan untuk memasang sumber semasa pemasangan. pakej binari pemasang memasang inti c ++ dll sehingga dapat dijalankan di komputer tanpa visual c ++ sudah dipasang. Setelah pemasang selesai anda boleh menjalankannya dari desktop atau menu mula. cara zip (tidak disahkan): Muat turun dan jalankan, ia mesti berfungsi. mungkin. (Arkib zip mempunyai struktur folder yang sama yang dibuat oleh pemasang, tanpa sumber. Saya tidak mempunyai mesin tanpa studio visual untuk mengujinya sehingga mungkin tidak berfungsi.)
Langkah 5: Gunakan Program Antara Muka
Untuk menggunakan program terlebih dahulu pilih kadar baud yang ditentukan dalam lakaran arduino. Lakaran sketsa yang tidak diubah menjadi 38400 baud tetapi boleh diubah untuk memenuhi keperluan anda untuk perkara seperti pautan radio yang lebih perlahan. nota: kadar baud lebih tinggi daripada 38400 belum stabil, saya rasa ini kerana uart mengisi sebelum data dapat diproses. Seterusnya, pilih port COM yang akan digunakan. program lalai ke COM4 pastikan untuk mengubahnya atau program akan rosak. Akhirnya, klik buka. Sekiranya semuanya berjalan lancar, program akan membuka port bersiri yang dipilih pada kadar baud yang dipilih. Sekiranya tidak, program itu mungkin akan terhempas dengan pengecualian yang tidak ditangani. pastikan port betul dan cuba lagi. Gunakan kotak teks untuk menyerahkan arahan langsung ke arduino. "Peta (perintah [1], 32, 126, 2, 180)" skala semua 94 perintah yang mungkin, * spasi * hingga ~, dapat dibaca oleh arduino di ASCII hingga 2 hingga 180 untuk servo. apa-apa bait kurang daripada ASCII 32 (ruang) atau di atas 126 (~) lalai ke 63 (?) Bar trek menyediakan antara muka eaiser untuk arahan langsung. setiap langkah menghantar arahan bersiri ke arduino secara bertahap.
Langkah 6: Kreatif
Fikirkan perkara yang menarik untuk dibuat dengan ini. Beberapa idea: 1. Pendikit jarak jauh untuk kereta. 2. Pemasangan kamera 3D 3. rover bawah air Bersenang-senang !!
Disyorkan:
Pelancar Roket Pengawal Suara Berasaskan Alexa: 9 Langkah (dengan Gambar)
Pelancar Roket Pengawal Suara Berasaskan Alexa: Ketika musim sejuk semakin hampir; datang pada masa itu ketika perayaan lampu disambut. Ya, kita bercakap mengenai Diwali yang merupakan festival India yang benar-benar dirayakan di seluruh dunia. Tahun ini, Diwali sudah berakhir, dan melihat orang
Sistem Pencucian Tangan Automatik Berasaskan Raspberry Pi Berasaskan Langkah Covid-19: 4
Sistem Pencucian Tangan Automatik Raspberry Pi Berbasis Sentuh untuk Covid-19: Ia adalah sistem mencuci tangan yang mudah menggunakan sensor pir dan papan Raspberry pi. Aplikasi ini direka terutamanya untuk tujuan kebersihan. Model ini boleh diletakkan di tempat awam, hospital, pusat beli-belah dll
Pengawal Permainan DIY Berasaskan Arduino - Pengawal Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengawal Permainan DIY Berasaskan Arduino | Pengawal Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Hai kawan-kawan, bermain permainan selalu menyeronokkan tetapi bermain dengan permainan peribadi DIY Controller anda lebih menggembirakan. Oleh itu, kami akan menjadikan Pengawal permainan menggunakan arduino pro micro dalam arahan ini
Termometer Inframerah Bukan Hubungan Berasaskan Arduino - Termometer Berasaskan IR Menggunakan Arduino: 4 Langkah
Termometer Inframerah Bukan Hubungan Berasaskan Arduino | Termometer Berasaskan IR Menggunakan Arduino: Hai kawan-kawan dalam arahan ini, kami akan membuat Termometer tanpa kontak menggunakan arduino. Oleh kerana kadang-kadang suhu cecair / pepejal terlalu tinggi atau terlalu rendah dan sukar untuk bersentuhan dengannya dan membacanya suhu di pemandangan itu
Penjana Muzik Berasaskan Cuaca (Generator Midi Berasaskan ESP8266): 4 Langkah (dengan Gambar)
Penjana Muzik Berasaskan Cuaca (Generator Midi Berasaskan ESP8266): Hai, hari ini saya akan menerangkan cara membuat penjana Muzik berasaskan Cuaca kecil anda sendiri. Ia berdasarkan ESP8266, yang seperti Arduino, dan ia bertindak balas terhadap suhu, hujan dan intensiti cahaya. Jangan berharap untuk membuat keseluruhan lagu atau kord progres