Pelajaran Teach
Robot Arduino Visual (2/4): butang, LED dan mod
Murid menggunakan blok visual untuk membaca butang, mengawal LED dan membina mod robot ringkas dengan bukti daripada perkakasan sebenar.
Log masuk dengan akaun pendidik untuk menyediakan sesi kelas. Pelajar menyertai dengan kod kelas.
Kali pertama menggunakan LabsLand? Cipta akaun guru anda
Hasil pembelajaran
Menggunakan butang robot sebagai input untuk membuat keputusan.
Menggunakan LED dan mesej bersiri untuk menyampaikan keadaan robot.
Membina program berasaskan mod yang ringkas dengan tingkah laku selamat.
Pratonton aktiviti pelajar
Kandungan aktiviti
Pratonton sahaja. Dalam sesi kelas, pelajar boleh mengisi jawapan dan menyerahkan hasil kerja mereka kepada guru.
Reka bentuk mod
8 min
Butang ialah input. Pemboleh ubah mod mengingati pilihan, manakala robot menunjukkan output melalui LED, teks bersiri atau motor.
Butang, mod dan output robot
Robot boleh mempunyai keadaan, bukan pergerakan sahaja. Contohnya:
- Mod menunggu: motor berhenti, LED merah menyala.
- Mod sedia: motor berhenti, LED biru menyala.
- Mod ujian: satu pergerakan yang sangat singkat, kemudian berhenti.
Reka tiga mod robot menggunakan butang A, B dan C. Bagi setiap mod, nyatakan LED yang menyala, sama ada terdapat mesej bersiri dan sama ada robot bergerak atau kekal berhenti.
Program input dan output
24 min
Sebelum kedua-dua contoh, sediakan Serial pada 9600 dengan blok berasingan dalam ruang kerja serta Button A sebagai buttonA, Button B sebagai buttonB dan Button C sebagai buttonC. Kedua-dua motor kekal pada 0 sepanjang pelajaran LED dan keadaan ini.
Buka makmal visual robot dan pilih pilihan
any-circuityang disarankan.Konfigurasikan butang:
Button A as buttonA,Button B as buttonB,Button C as buttonC.Dalam gelung utama, gunakan blok
if...then(jika...maka).Jika
buttonA is pressed, hidupkan LED merah dan padamkan LED biru.Jika
buttonB is pressed, hidupkan LED biru dan padamkan LED merah.Jika
buttonC is pressed, tetapkan kedua-dua motor kepada0, padamkan LED dan cetakberhenti.Sahkan, muat naik dan uji setiap butang daripada antara muka robot.
Rujukan blok dalam bentuk imej dan teks:
Blok butang dan LED
Blok konfigurasi:
[Button] A [as] buttonA
[Button] B [as] buttonB
[Button] C [as] buttonC
Dalam gelung utama:
jika [buttonA is pressed]:
[Set] red [led to] HIGH
[Set] blue [led to] LOW
jika [buttonB is pressed]:
[Set] blue [led to] HIGH
[Set] red [led to] LOW
jika [buttonC is pressed]:
[Change two motors speed]
Kiri: 0
Kanan: 0
[Set] red [led to] LOW
[Set] blue [led to] LOW
[print] "berhenti"
Blok Button ... as ... mencipta nama untuk butang. Selepas itu, blok is pressed boleh menggunakan nama tersebut. Gunakan is pressed, yang memeriksa sama ada butang sedang ditekan pada ketika itu. Untuk memastikan tekanan didaftarkan, tahan butang semasa program memeriksanya dalam gelung.
Isi jadual selepas menguji butang. Gunakan satu baris untuk setiap butang: A, B dan C. Jika jadual menunjukkan baris kosong tambahan, biarkan kosong. Dalam setiap baris, rekod mod yang dirancang, LED yang dilihat, apa-apa mesej bersiri dan sama ada hasilnya selamat.
| Butang | Mod yang dirancang | LED yang diperhatikan | Mesej bersiri | Hasil selamat |
|---|---|---|---|---|
Mengapakah anda perlu mengkonfigurasikan butang sebelum menggunakan blok yang memeriksa sama ada butang itu ditekan?
Tambah pemboleh ubah mod
15 min
Sebagai penambahbaikan, tambah pemboleh ubah bernama mod daripada kategori Variables. Pemboleh ubah ialah "kotak" bernama yang menyimpan nilai dan mengingatinya. Beri nilai permulaan, contohnya mod = "menunggu", supaya robot mempunyai keadaan sejak mula. Jika anda tidak menetapkan nilai permulaan, pemboleh ubah itu kosong sehingga butang ditekan dan anda tidak akan melihat apa-apa perubahan. Setiap butang menukar nilainya:
- Tekan A:
mod = "menunggu". - Tekan B:
mod = "sedia". - Tekan C:
mod = "berhenti".
Kemudian gunakan mod untuk menentukan LED atau mesej yang perlu ditunjukkan.
Rujukan teks:
Configuration: Button A as buttonA; Button B as buttonB; Button C as buttonC
Setup Serial speed 9600 (separate workspace block)
Arduino run first:
set mode to "waiting"
Change two motors speed: Left 0, Right 0
Arduino loop forever:
if buttonA is pressed: set mode to "waiting"
if buttonB is pressed: set mode to "ready"
if buttonC is pressed: set mode to "stopped"
Change two motors speed: Left 0, Right 0
if mode = "waiting": red LED HIGH; blue LED LOW
if mode = "ready": red LED LOW; blue LED HIGH
if mode = "stopped": red LED LOW; blue LED LOW
print mode
wait 100 millisecondsApakah kelebihan mengingati mod dalam pemboleh ubah berbanding hanya memeriksa sama ada butang ditekan pada saat ini?
Jika tekanan butang tidak mengubah apa-apa, tulis tiga pemeriksaan yang akan anda lakukan sebelum meminta bantuan.
Hantaran ringkas
8 min
Peta mod robot
Hantar peta mod anda dan bukti bahawa sekurang-kurangnya dua butang berfungsi. Bukti boleh berupa tangkap layar program, jadual pemerhatian atau penjelasan bertulis berserta hasilnya.
Jadikan pratonton ini satu sesi kelas sebenar
Teruskan ke LabsLand Teach untuk menggunakan pelajaran ini bersama pelajar dan menyemak akses akaun anda.
Kali pertama menggunakan LabsLand? Cipta akaun guru anda