Pelajaran Teach
Pengaturcaraan visual dengan Arduino sebenar (2/4): urutan dan gelung
Murid membina urutan LED dengan blok visual, menggantikan salinan berulang dengan gelung dan menguji pemasaan pada papan Arduino sebenar.
Kali pertama menggunakan LabsLand? Cipta akaun guru anda
Hasil pembelajaran
Membina corak lampu dengan urutan yang jelas.
Menggunakan gelung untuk mengurangkan pengulangan.
Menerangkan bahagian program yang berulang dan sebabnya.
Pratonton aktiviti pelajar
Kandungan aktiviti
Pratonton sahaja. Dalam sesi kelas, pelajar boleh mengisi jawapan dan menyerahkan hasil kerja mereka kepada guru.
Reka bentuk corak
10 min
Corak ialah urutan yang dapat dikenal pasti dan berulang. Contohnya:
- Tiga kelipan pantas dan satu jeda panjang.
- Menyala seketika, padam seketika, kemudian menyala lebih lama.
Perhatikan perbezaan antara dua cara pengulangan:
- Arduino run first: berjalan sekali apabila program bermula; corak lampu hari ini tidak diletakkan di sini.
- Arduino loop forever: mengulang semua blok di dalamnya tanpa henti.
- repeat N times: blok dalam kategori Loops yang mengulang satu bahagian sahaja sebanyak bilangan tertentu. Blok ini mengelakkan anda daripada menyalin blok yang sama berkali-kali.
Huraikan corak yang akan anda cuba hasilkan dengan LED terbina dalam. Corak itu mesti mempunyai sekurang-kurangnya tiga langkah yang dapat diperhatikan (contohnya: kelip, kelip, kelip, jeda).
Isi jadual dengan satu baris bagi setiap langkah corak sebelum membuka
makmal. Jika corak anda mempunyai empat langkah, gunakan empat baris dan biarkan
baris tambahan kosong. Dalam setiap baris, nyatakan output (LED terbina dalam),
tindakan (menyala, padam atau tunggu) dan tempoh anggaran dalam milisaat.
| Langkah | Output | Tindakan | Tempoh (ms) |
|---|---|---|---|
Versi panjang: langkah demi langkah
15 min
Mula-mula, bina corak tanpa blok repeat. Salin blok menyala, padam dan
tunggu sebanyak yang diperlukan supaya corak dimainkan sekali. Letakkan semua
blok itu di dalam Arduino loop forever.
Buka
arduino-visual-board.Di dalam
Arduino loop forever, bina corak menggunakan blokInput/Output(set built-in LEDkepadaHIGH/LOW) dan blokTime(wait).Tekan
Verify / compile.Tekan
Upload into device.Perhatikan satu pengulangan penuh corak pada papan sebenar.
Apakah kelemahan membina keseluruhan corak dengan menyalin blok yang sama berkali-kali?
Versi gelung
22 min
Sekarang, gunakan blok repeat N times dalam kategori Loops untuk
mengulang bahagian yang benar-benar berulang sahaja. Pilih bilangan pengulangan,
contohnya 3.
Dalam kategori
Loops, seret blokrepeat [ ] times.Letakkan hanya bahagian yang berulang (satu kelipan) di dalam ruang
do.Biarkan di luar blok
repeatperkara yang perlu berlaku sekali sahaja (contohnya jeda panjang di hujung).Tekan
Verify / compile, kemudianUpload into device, dan perhatikan hasilnya.Jika corak terputus atau terlalu pantas untuk dilihat melalui kamera, naikkan tempoh kepada 200–1000 ms.
Program gelung anda sepatutnya lebih kurang seperti berikut (tiga kelipan pantas
dan satu jeda, berulang):
Rajah rujukan bagi corak gelung. Jeda panjang 1000 milisaat kekal di luar
repeat 3 times, tetapi masih di dalam Arduino loop forever.
Arduino loop forever:
repeat [3] times
do:
[set built-in LED] [HIGH]
[wait] 200 milliseconds
[set built-in LED] [LOW]
[wait] 200 milliseconds
[wait] 1000 millisecondsBlok yang manakah diletakkan di dalam gelung repeat? Apakah yang akan berlaku jika anda turut meletakkan jeda panjang (yang sepatutnya berlaku sekali sahaja) di dalam gelung itu?
Berapa kali LED berkelip berturut-turut sebelum jeda pada papan sebenar?
Refleksi
8 min
Terangkan satu penambahbaikan yang anda lakukan antara versi panjang dengan versi gelung. Apakah bukti yang mendorong anda membuat keputusan itu?