Daftar Isi:
- Perlengkapan
- Langkah 1: Pengaturan Robot
- Langkah 2: Pengaturan Joystick
- Langkah 3: Memeriksa Nilai Joystick
- Langkah 4: Menyesuaikan Variabel X dan Y
- Langkah 5: Mengubah X dan Y Menjadi Nilai untuk Motor Kiri dan Kanan
- Langkah 6: Mengirim Nilai Sebagai Pesan Radio
- Langkah 7: Menerima Pesan di Robot Anda
- Langkah 8: Menggunakan Pesan Masuk untuk Mengontrol Motor Robot
- Langkah 9: Menggunakan Tombol -- Menerima Pesan Tambahan
- Langkah 10: Mengirim Pesan Tambahan Menggunakan Tombol Pengontrol
- Langkah 11: Langkah Selanjutnya
Video: Memprogram Mikro:Bit Robot & Joystick:Pengontrol Bit Dengan MicroPython: 11 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Untuk Robocamp 2019, kamp robotika musim panas kami, anak muda berusia 10-13 tahun sedang menyolder, memprogram, dan membuat 'robot antweight' berbasis mikro:bit BBC, serta memprogram mikro:bit untuk digunakan sebagai remote control.
Jika Anda saat ini berada di Robocamp, lewati ke Langkah 3, karena kami telah melakukan dua langkah pertama sebagai sebuah grup
Ini adalah panduan langkah demi langkah untuk membuat robot mikro:bit berkomunikasi dengan pengontrol joystick:bit.
Itu tidak mengambil rute tercepat untuk membuat semuanya berfungsi, tetapi mencoba hal-hal dalam potongan kecil sehingga Anda dapat menguji kode saat Anda pergi, menempelkan stempel Anda sendiri di atasnya, dan memahami mengapa kami melakukan hal-hal yang kami lakukan !
Untuk aktivitas ini, kami menggunakan robot kustom kami sendiri, tetapi akan bekerja dengan robot apa pun yang menggunakan driver motor serupa, seperti L9110s.
File desain untuk robot kami dapat ditemukan di sini:
Panduan ini ditulis untuk pemula, tetapi jika Anda belum pernah menggunakan micro:bit dengan MicroPython sebelumnya, kami sarankan Anda mencoba program yang lebih sederhana terlebih dahulu, seperti lencana nama kami Instructable: https://www.instructables.com/id/Felt -Microbit-Nam…
Perlengkapan
2x mikro BBC: bit
Robot yang bekerja dengan micro:bit BBC (lihat penjelasan di atas)
joystick: pengontrol bit (kami mendapatkannya dari Komponen Keren)
Langkah 1: Pengaturan Robot
Anda memiliki beberapa opsi untuk menulis kode MicroPython untuk mikro:bit Anda:
- Mu, yang dapat Anda unduh dan instal dari sini:
- Editor online, yang dapat Anda temukan di sini:
Instruksi ini mengasumsikan Anda menggunakan Mu
Buka Mu, dan colokkan micro:bit Anda ke komputer Anda. Mu harus mengenali bahwa Anda menggunakan mikro:bit dan pilih mikro:bit 'Mode', tetapi jika tidak, ubah secara manual.
Dapatkan salinan kode uji motor robot dari sini:
Jika Anda tidak terbiasa dengan Github, itu bisa menjadi tidak intuitif! Dua cara mudah untuk mendapatkan kode ini adalah:
- Simpan file Raw ke komputer Anda, lalu Muat ke Mu:
- Salin dan tempel semua kode yang diberikan ke file Baru di Mu.
Sekarang klik tombol 'Flash' dari toolbar Mu, untuk mengirim kode baru Anda ke micro:bit.
Ini tidak akan berfungsi kecuali mikro:bit dicolokkan
Lampu kuning di bagian belakang micro:bit akan mulai berkedip. Setelah selesai, kode Anda telah ditransfer.
MENYIAPKAN ARAH MOTOR
Program ini akan menyalakan motor ke arah yang berbeda ketika Anda menekan tombol 'A' pada mikro:bit.
Apa yang Anda inginkan terjadi adalah:
- Saat 'A' ditampilkan, motor kiri ke depan
- Ketika 'B' ditampilkan, motor kiri mundur
- Saat 'C' ditampilkan, motor kanan ke depan
- Saat 'D' ditampilkan, motor kanan mundur
Ini mungkin tidak akan terjadi, karena itu tergantung pada bagaimana Anda menghubungkan robot Anda!
Di bagian atas kode, Anda akan menemukan daftar variabel, yang menentukan pin mana pada mikro:bit yang mengontrol arah motor mana.
Jika Anda menggunakan salah satu robot kami (file), tukar nama variabel di sekitar untuk membuat robot bergerak ke arah yang benar:
Jika Anda menggunakan robot Anda sendiri, periksa pin mana yang terhubung dengan driver motor sebelum mengedit kode.
MENGUJI DRIVE
Sekarang periksa bagaimana robot Anda mengemudi dengan mengganti kode uji di loop utama dengan beberapa kode Anda sendiri.
Anda memberi tahu robot untuk mengemudi dengan memanggil fungsi drive(). Ini membutuhkan dua argumen - nilai untuk motor kiri dan nilai untuk motor kanan, antara 0 (mati) dan 1023 (kecepatan maksimal).
Dengan memanggil drive (500, 500), misalnya, Anda memberi tahu kedua motor untuk dihidupkan, ke arah depan, dengan kecepatan sekitar setengah.
Cobalah beberapa opsi untuk merasakan seberapa lurus dan seberapa baik putarannya.
Petunjuk: tes motor berada di dalam loop True while, dan pernyataan if - motor tidak akan berputar sampai Anda menekan tombol A pada mikro:bit, dan selamanya memeriksa apakah Anda telah menekan tombol A.
Petunjuk: motor tidak akan mati sampai Anda menyuruhnya! Mereka akan selalu terus melakukan instruksi terakhir mereka.
OPSIONAL: MENINGKATKAN MENGEMUDI DI GARIS LURUS
Jika robot Anda tidak akan mengemudi dalam garis lurus, salah satu motor Anda mungkin berputar lebih cepat dari yang lain.
Setelah memeriksa bahwa tidak ada yang secara fisik menghentikan roda berputar dengan bebas, Anda dapat mengedit kode di fungsi penggerak untuk mengurangi kecepatan motor yang lebih cepat.
Gulir ke atas untuk menemukan definisi fungsi drive, dan lihat dua instruksi teratas:
def drive (L, R):
# Di bawah ini adalah penyesuaian untuk mengoreksi perbedaan kecepatan motor L = int(L*1) R = int(R*1)
Kedua garis tersebut saat ini mengambil nilai L dan R, kalikan dengan 1, lalu pastikan masih bilangan bulat (int).
Misalnya, jika motor kiri Anda lebih cepat, ubah *1 pada barisnya menjadi *0,9, dan lihat apakah itu memperbaiki keadaan.
Anda tidak akan dapat membuatnya sempurna, tetapi Anda dapat terus menyesuaikan sampai drive lebih lurus.
MENYIAPKAN RADIO
Sekarang atur radio, dengan menambahkan baris berikut ke bagian atas kode Anda:
impor radio
radio.config(channel=7, grup=0, antrian=1) radio.on()
Ini akan memungkinkan robot Anda menerima instruksi dari mikro:bit lain, tetapi saat ini robot akan menerima instruksi dari mikro:bit lainnya.
Ini karena saluran 7 dan grup 0 adalah saluran default.
Ubah angka-angka ini, pilih saluran antara 0-82 dan grup antara 0-255. Sekarang mikro:bit Anda hanya akan menerima instruksi dari orang lain dengan informasi konfigurasi yang sama.
queue=1 berarti mikro:bit hanya akan menyimpan satu pesan masuk pada satu waktu - ini memberikan waktu respons yang sedikit lebih cepat daripada default, yaitu 3.
Sekarang Anda perlu mengedit kode loop utama Anda, alih-alih menjalankan instruksi saat Anda menekan tombol, menunggu pesan radio masuk dan merespons dengan tepat.
Coba kode berikut sebagai tes (tidak akan melakukan apa pun sampai Anda mengatur joystick di Langkah 2):
sementara Benar:
pesan = radio.receive() jika pesan == 'teruskan': drive(500, 500)
Langkah 2: Pengaturan Joystick
Cabut mikro:bit robot Anda, dan colokkan mikro:bit joystick Anda sebagai gantinya
Dapatkan salinan kode pengaturan joystick dari sini:
Atur radio menggunakan konfigurasi yang sama (nomor saluran dan grup) seperti yang Anda lakukan untuk robot - ini akan memungkinkan keduanya untuk berkomunikasi satu sama lain.
Di akhir program, mulai loop utama Anda:
sementara Benar:
if button_a.was_pressed(): radio.send('maju')
Kode ini belum menggunakan joystick:bit. Menggunakan tombol A pada mikro:bit untuk mengirim pesan.
Pastikan robot dan mikrokontroler Anda memiliki daya, lalu tekan tombol untuk mengirim pesan Anda.
Jika pesan berhasil diterima, dan robot Anda bergerak… selamat! Anda telah selesai dengan petunjuk pengaturan.
TIPS PEMECAHAN MASALAH
Jika Anda mendapatkan pesan kesalahan pada pengontrol mikro: bit… debug kode pengontrol Anda
Jika Anda mendapatkan pesan kesalahan pada robot micro:bit… pesan radio Anda berhasil terkirim! Tetapi robot tidak dapat memahaminya, jadi periksa apakah pesan yang Anda kirim, dan pesan yang Anda suruh robot untuk mendengarkan cocok.
Jika tidak ada yang terjadi sama sekali
- Pastikan Anda mem-flash kode yang benar ke setiap mikro: bit - mudah untuk secara tidak sengaja mem-flash kode yang salah!
- Pastikan nomor saluran dan grup Anda cocok di setiap mikro:bit
Langkah 3: Memeriksa Nilai Joystick
Beberapa langkah selanjutnya semuanya menggunakan kode pengontrol
Sebelum Anda dapat menggunakan joystick pada pengontrol, Anda perlu mengetahui jenis nilai apa yang Anda dapatkan saat menekan stik.
Ganti loop utama Anda dengan kode berikut:
sementara Benar:
joystick = joystick_push() print(joystick) sleep(500)
Flash kode ini ke micro:bit Anda, lalu klik tombol REPL pada toolbar Mu. Ini akan membuka terminal di bagian bawah editor, yang memberi Anda tautan waktu nyata ke mikro:bit.
Ini tidak akan berfungsi kecuali mikro:bit dicolokkan
Dengan REPL terbuka, tekan tombol reset di bagian belakang micro:bit Anda.
Anda akan melihat beberapa nilai membawa 'dicetak' ke layar Anda:
Dorong tongkat joystick dan lihat apa yang terjadi pada angka-angkanya.
Catat nilai yang diberikan saat joystick berada di posisi tengah - dalam kasus saya (518, 523).
Klik tombol REPL pada toolbar Mu lagi untuk menutupnya - Anda tidak akan dapat mem-flash kode baru ke micro:bit saat sedang terbuka.
Langkah 4: Menyesuaikan Variabel X dan Y
Anda ingin mengubah nilai yang diberikan oleh fungsi joystick, sehingga:
- di tengah itu adalah nol
- naik positif
- bawah adalah negatif.
Ini sesuai dengan instruksi yang dibutuhkan robot - angka positif untuk maju, dan angka negatif untuk mundur.
Lihatlah angka yang Anda dapatkan di langkah terakhir. Bilangan pertama adalah x, dan bilangan kedua adalah y.
Edit definisi joystick_push() yang sudah ada dalam program, untuk mengurangi nilai Anda dari aslinya:
def joystick_push():
x = pin0.read_analog() - 518 y = pin1.read_analog() - 523 pengembalian x, y
Gunakan nomor Anda sendiri, mungkin berbeda dengan nomor saya
Flash kode baru Anda, buka REPL, tekan tombol reset mikro:bit dan periksa nilai Anda.
Apakah Anda mendapatkan (0, 0)?
Langkah 5: Mengubah X dan Y Menjadi Nilai untuk Motor Kiri dan Kanan
Saat ini, joystick ini tidak akan terlalu berguna untuk mengemudikan robot. Didorong ke depan sepenuhnya, Anda akan mendapatkan nilai seperti (0, 500).
Jika Anda memberikan angka-angka ini ke robot, itu akan menghidupkan motor kanan tetapi bukan yang kiri, yang tidak Anda inginkan terjadi!
Diagram ini menunjukkan apa yang terjadi pada nilai x dan y saat Anda menggerakkan joystick, dan apa yang kami ingin robot lakukan saat Anda menggerakkan joystick.
Anda perlu menggunakan beberapa matematika untuk mencampur nilai x dan y, untuk memberi Anda sesuatu yang lebih berguna.
n
MATEMATIKA
Mari kita mulai dengan mendorong joystick ke depan.
Contoh nilai yang mungkin Anda dapatkan adalah:
x = 0
y = 500
Agar berguna bagi robot, Anda ingin mendapatkan nilai seperti ini:
kiri = 500
kanan = 500
Mari kita coba menjumlahkan x dan y dengan cara yang berbeda untuk melihat bilangan apa yang kita peroleh:
x + y = 0 + 500 = 500
x - y = 0 - 500 = -500 y + x = 500 + 0 = 500 y - x = 500 - 0 = 500
Sekarang mari kita lihat apa yang terjadi jika kita mendorong joystick sepenuhnya ke kanan.
Contoh nilai yang mungkin Anda dapatkan adalah:
x = 500
y = 0
Untuk membuat robot berbelok ke kanan, Anda ingin motor kiri bergerak maju, dan motor kanan bergerak mundur:
kiri = 500
kanan = -500
Mari kita coba rumus kita lagi:
x + y = 500 + 0 = 500
x - y = 500 - 0 = 500 y + x = 0 + 500 = 500 y - x = 0 - 500 = -500
Bandingkan dua rangkaian rumus untuk mencari tahu opsi mana yang akan memberi Anda nilai kiri yang benar, dan opsi mana yang akan memberi Anda nilai kanan yang benar.
Cobalah dengan beberapa nilai yang Anda dapatkan dari joystick Anda sendiri, untuk memastikan formula yang Anda pilih berfungsi sepanjang waktu.
n
MEMPERLUAS FUNGSI JOYSTICK
Perluas dan edit fungsi joystick untuk membuat dua variabel baru untuk kiri dan kanan, dan untuk mengembalikan nilai tersebut alih-alih x dan y:
def joystick_push():
x = pin0.read_analog() - 518 y = pin1.read_analog() - 523 kiri = kanan = kembali kiri, kanan
Flash kode baru Anda, buka REPL, tekan tombol reset mikro:bit dan periksa nilai Anda.
Apakah Anda mendapatkan nilai yang Anda harapkan?
Jika Anda memerlukan bantuan lebih lanjut, lihat kode contoh kami di sini:
Langkah 6: Mengirim Nilai Sebagai Pesan Radio
Sekarang Anda memiliki beberapa nilai yang siap dikirim ke robot Anda.
Edit loop utama Anda, sehingga memeriksa nilai joystick, tetapi alih-alih mencetak nilai, ia menyiapkannya untuk dikirim sebagai pesan radio.
sementara Benar:
joystick = joystick_push() pesan = str(joystick[0]) + " " + str(joystick[1])
Ini belum benar-benar mengirim pesan!
Apa yang terjadi di baris kode baru ini?
- joystick[0] berarti informasi pertama yang keluar dari fungsi joystick (kiri)
- joystick[1] adalah informasi selanjutnya (kanan)
- str() mengubah kedua angka ini menjadi format string (teks, bukan angka) - ini diperlukan untuk dapat mengirim informasi melalui radio.
Anda akan terbiasa melihat + berarti penambahan - ini dapat menambahkan angka bersama-sama dan menggabungkan string, yang berarti akan menyatukan dua bit informasi.
Contoh:
150 + 100 = 250
str(150) + str(100) = 150100
Jadi penggabungan akan menyatukan nilai kiri dan kanan Anda.
Untuk memaksa pemisahan antara dua bit informasi (agar robot mengetahui bahwa keduanya adalah dua bit informasi), gabungkan string tambahan di antara keduanya menggunakan " ". Tanda bicara di sekitar ruang berarti sudah menjadi string.
Terakhir, perpanjang kode Anda untuk mengirim pesan yang baru dibuat ini melalui radio:
radio.send(pesan)
tidur(10)
Tidur memperlambat pengiriman pesan sehingga mikro: bit penerima tidak kelebihan beban dengan terlalu banyak informasi!
Flash kode ini ke mikro:bit pengontrol Anda dan debug kesalahan apa pun sebelum melanjutkan ke langkah berikutnya
Langkah 7: Menerima Pesan di Robot Anda
Kembali ke kode robot Anda dari awal - ingatlah untuk mencabut mikrokontroler Anda: bit sehingga Anda tidak secara tidak sengaja mem-flash kode robot ke sana
Gulir ke bawah ke loop utama Anda - hapus kode pengujian dan tambahkan ini sebagai gantinya:
sementara Benar:
pesan = radio.receive() print(pesan) sleep(100)
Ini menetapkan variabel yang sama dengan pesan masuk, dan mencetak pesan ke REPL - untuk memeriksa apakah pesan masuk seperti yang diharapkan.
Flash kode baru Anda, terhubung ke REPL, lalu tekan joystick.
Anda harus mendapatkan sesuatu seperti ini:
TIPS PEMECAHAN MASALAH
Jika Anda mendapatkan pesan kesalahan pada pengontrol mikro: bit… debug kode pengontrol Anda
Jika Anda mendapatkan pesan kesalahan pada robot micro:bit… pesan radio Anda berhasil terkirim! Tetapi robot tidak dapat memahaminya, jadi periksa apakah pesan yang Anda kirim, dan pesan yang Anda suruh robot untuk mendengarkan cocok.
Jika tidak ada yang terjadi sama sekali
- Pastikan Anda mem-flash kode yang benar ke setiap mikro: bit - mudah untuk secara tidak sengaja mem-flash kode yang salah!
- Pastikan nomor saluran dan grup Anda cocok di setiap mikro:bit
Langkah 8: Menggunakan Pesan Masuk untuk Mengontrol Motor Robot
Anda sekarang mendapatkan dua nomor yang dikirim melalui radio sebagai string.
Anda perlu membagi pesan ini menjadi dua string, lalu mengubah string kembali menjadi angka lagi, dan meneruskannya ke fungsi drive. Banyak yang terjadi sekaligus!
Sebelum melakukan ini, Anda perlu memeriksa apakah pesan yang Anda terima dalam format yang benar.
Jika tidak ada pesan yang dikirim, Anda akan menerima 'Tidak Ada' sebagai gantinya. Jika Anda mencoba dan membagi ini, Anda akan mendapatkan pesan kesalahan.
sementara Benar:
message = radio.receive() jika pesan bukan None: message = message.split() drive(int(message[0]), int(message[1]))
Apa yang terjadi disini?
- Kode baru akan berjalan jika pesannya selain 'Tidak Ada'.
- message.split() memeriksa spasi dalam pesan (yang kami tambahkan di langkah terakhir), dan menggunakannya untuk membagi pesan menjadi dua.
- int(message[0]), int(message[1]) melakukan kebalikan dari apa yang kita lakukan pada langkah sebelumnya - mendapatkan setiap informasi satu per satu dan mengubahnya menjadi bilangan bulat (bilangan bulat).
- int(message[0]) digunakan sebagai nilai untuk motor kiri dalam fungsi drive, dan int(message[1]) digunakan sebagai nilai untuk motor kanan.
Periksa apakah berfungsi - apakah motor berputar saat Anda menekan joystick?
Jika tidak - waktu untuk beberapa debugging!
Jika ya, fantastis! Anda memiliki robot remote control yang berfungsi!
Luangkan waktu untuk berlatih dengan robot Anda sebelum melanjutkan ke langkah berikutnya. Apakah itu mengemudi seperti yang Anda harapkan?
Langkah selanjutnya akan menunjukkan cara menggunakan tombol pada joystick untuk menambahkan fungsionalitas ekstra ke robot Anda
Jika Anda ingin melihat versi kode ini sejauh ini:
- Robot:
- Pengontrol:
Langkah 9: Menggunakan Tombol -- Menerima Pesan Tambahan
Saat ini, kode Anda akan mencoba membagi pesan apa pun yang bukan Tidak Ada. Artinya jika menerima, misalnya, 'halo', maka Anda akan mendapatkan pesan kesalahan.
Untuk mengizinkan mikro:bit Anda menafsirkan pesan lain, ia perlu memeriksa setiap pesan yang diharapkan terlebih dahulu, lalu membagi pesan hanya jika belum diperintahkan untuk melakukan hal lain dengannya.
Perluas kode Anda seperti ini:
jika pesan tidak Tidak ada:
if message == 'hello': display.show(Image. HAPPY) elif message == 'duck': display.show(Image. DUCK) else: message = message.split() drive(int(message[0]), int(pesan[1]))
Pertama, ia akan memeriksa apakah ia telah menerima pesan 'halo'. Jika sudah, itu akan menampilkan gambar bahagia, lalu kembali ke atas loop dan periksa pesan berikutnya.
Jika pesannya bukan halo, selanjutnya akan memeriksa apakah pesannya 'bebek'.
Jika pesannya bukan 'halo' ATAU 'bebek, itu akan melakukan hal terakhir dalam daftar, yaitu membagi pesan dan menyalakan motor. Itu tidak akan mencoba untuk membagi pesan jika telah menerima 'halo' atau 'bebek', yang berarti Anda tidak akan mendapatkan pesan kesalahan dari salah satu dari dua pesan ini.
Tanda sama dengan ganda itu penting - artinya 'sama dengan', dibandingkan dengan satu tanda sama dengan, yang mengatur sesuatu (jadi message = 'hello' berarti kita menyetel variabel ke 'hello', message == 'hello' berarti kami menanyakan apakah pesan sama dengan 'halo').
Cobalah hanya dengan dua opsi untuk saat ini, untuk mengujinya - Anda dapat menambahkan pesan lain sebanyak yang Anda suka nanti.
Tautan ke kode kerja:
Langkah 10: Mengirim Pesan Tambahan Menggunakan Tombol Pengontrol
Cabut mikro:bit robot Anda, dan colokkan mikro:bit joystick Anda sebagai gantinya
Kembali ke kode pengontrol Anda untuk mengedit.
Mirip dengan kode robot, kami ingin pengontrol memeriksa apakah Anda mencoba mengirim pesan lain, sebelum mengirim nilai joystick.
Di bagian atas loop, kami masih ingin memeriksa nilai joystick saat ini, tetapi kami juga ingin memeriksa apakah tombol sedang ditekan:
sementara Benar:
joystick = joystick_push() tombol = button_press()
button_press() mengembalikan nilai A, B, C, D, E atau F tergantung pada tombol mana yang sedang ditekan (jika tidak ada yang ditekan, ia mengembalikan None).
Sekarang kita dapat membuat pernyataan if-elif-else, seperti yang kita lakukan untuk kode robot - menggunakan dua tombol, dan mengirimkan nilai joystick jika tidak ada tombol yang ditekan.
jika tombol == 'A':
radio.send('hello') sleep(500) tombol elif == 'B': radio.send('duck') sleep(500) else: message = str(joystick[0]) + " " + str(joystick [1]) radio.send(pesan) tidur(10)
Saat tombol ditekan, kirim salah satu pesan yang Anda suruh robot untuk diwaspadai pada langkah sebelumnya.
Pesan akan dikirim setiap kali tombol ditekan, dan komputer jauh lebih cepat daripada manusia! Jadi itu mungkin mengirim pesan berkali-kali sebelum Anda berhasil melepaskan jari Anda dari tombol.
Tidur setelah mengirim pesan memperlambatnya, sehingga tidak akan memeriksa tombol lagi begitu cepat - coba beberapa angka di sini untuk mendapatkan jumlah waktu yang tepat untuk Anda - terlalu lambat dan tidak akan responsif juga dengan cepat dan robot Anda akan menerima begitu banyak pesan tombol yang mungkin berhenti merespons joystick!
Apakah itu bekerja?
Jika Anda mendapatkan pesan kesalahan, pikirkan baik-baik tentang apa yang baru saja Anda ubah, dan apa yang terjadi.
Jika Anda mendapatkan kesalahan pada robot saat Anda menekan tombol pada pengontrol Anda - Anda tahu bahwa pesannya tersampaikan, tetapi itu membingungkan robot. Periksa apakah pesan yang Anda kirim, dan pesan yang Anda minta agar dicari robot adalah sama.
Tautan ke kode kerja:
Langkah 11: Langkah Selanjutnya
Anda sekarang memiliki pengetahuan yang Anda butuhkan untuk bekerja dengan motor robot Anda, dan dengan joystick:bit controller
Gunakan pengetahuan ini untuk meningkatkan kedua program dan menjadikannya milik Anda sendiri. Beberapa ide di bawah ini!
Anda memiliki enam tombol pada pengontrol Anda! Apa yang Anda ingin mereka lakukan?
- Bagaimana dengan memprogram rutinitas tarian untuk robot Anda lakukan sesuai perintah? Tulis algoritme perintah drive(), dipisahkan oleh perintah sleep()!
- Apakah Anda ingin mengubah arah gerakan robot sehingga dapat dengan mudah mengemudi terbalik? Pikirkan tentang nilai x dan y joystick Anda. Apa yang mereka wakili dan bagaimana Anda bisa memanipulasinya?
- Apakah robot Anda memiliki (atau dapatkah Anda menambahkan!) fitur tambahan seperti LED, speaker, atau sensor?
Ide untuk meningkatkan kode
- Bisakah Anda membantu robot Anda mengatasi pesan yang tidak dikenal dengan menggunakan kode coba/kecuali?
- Matematika yang digunakan untuk menghitung nilai kiri dan kanan dari joystick tidak memberi kita rentang nilai penuh (drive robot dapat menerima angka hingga 1023). Bisakah Anda mengedit kode ini untuk mendapatkan rentang yang lebih baik?
- Ada metode lain untuk mencampur nilai joystick - dapatkah Anda menemukan cara yang lebih baik untuk melakukannya?
Direkomendasikan:
Memprogram ATtiny Dengan Arduino: 7 Langkah (dengan Gambar)
Memprogram ATtiny Dengan Arduino: Berikut adalah petunjuk untuk memprogram mikrokontroler ATtiny menggunakan Arduino IDE. Dalam bahasa Inggris sederhana, ini adalah cara memprogram chip Atmel 8-pin seperti yang biasa Anda lakukan pada Arduino. Ini keren karena ATtiny kecil, dan - yah - ini memungkinkan
Sensor Emg DIY Dengan dan Tanpa Pengontrol Mikro: 6 Langkah
Sensor Emg DIY Dengan dan Tanpa Mikro-kontroler: Selamat datang di platform pembelajaran berbagi pengetahuan. Dalam instruksi ini saya akan membahas cara membuat rangkaian emg dasar dan di balik perhitungan matematis yang terlibat di dalamnya. Anda dapat menggunakan sirkuit ini untuk mengamati variasi denyut nadi otot, kontrol s
Pengontrol Game DIY Berbasis Arduino - Pengontrol Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengontrol Game DIY Berbasis Arduino | Pengontrol Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Halo teman-teman, bermain game selalu menyenangkan tetapi bermain dengan Kontroler game kustom DIY Anda sendiri lebih menyenangkan. Jadi kami akan membuat Pengontrol game menggunakan arduino pro micro dalam instruksi ini
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: 4 Langkah
YABC - Pengontrol Blynk Lain - Pengontrol Suhu dan Kelembaban IoT Cloud, ESP8266: Hai Pembuat,Saya baru-baru ini mulai menanam jamur di rumah, jamur tiram, tetapi saya sudah 3x pengontrol ini di rumah untuk kontrol Suhu Fermentor untuk minuman rumah saya, istri juga melakukan hal Kombucha ini sekarang, dan sebagai Termostat untuk Panas
Cara Merakit Pengontrol Pegangan yang Sederhana dan Kuat-- Berdasarkan Mikro: Bit: 10 Langkah (dengan Gambar)
Cara Merakit Handle Controller yang Sederhana dan Kuat-- Berdasarkan Mikro: Bit: Nama handlenya Handlebit.Bentuknya adalah handle dan tampilannya sangat keren! Sekarang kita dapat membuat pengenalan tentang Handlebit, mari kita lanjutkan