Teach Pelajaran dengan makmal jarak jauh

Pelajaran Teach

Pengaturcaraan visual dengan Arduino sebenar (3/4): input dan keputusan

Murid menggunakan blok visual untuk membaca input, membuat keputusan berdasarkan nilai ambang dan mengesahkan tingkah laku LED pada papan Arduino sebenar.

  • Papan Arduino (visual)
  • 55 min
  • Sekolah menengah rendah / Tingkatan 2–3
  • Bahasa Melayu
  • Sistem terbenam

Log masuk dengan akaun pendidik untuk menyediakan sesi kelas. Pelajar menyertai dengan kod kelas.

Rajah blok visual: di dalam gelung Arduino selama-lamanya terdapat syarat jika bacaan pin analog A0 lebih besar atau sama dengan 500; dalam lakukan, Tetapkan LED terbina dalam kepada HIGH; dalam jika tidak, Tetapkan LED terbina dalam kepada LOW; kemudian Tunggu 100 milisaat.
Papan Arduino (visual) · Butiran makmal

Hasil pembelajaran

  • Membaca input dan memastikan nilainya berubah sebelum menentukan output.

  • Menggunakan syarat if / else dengan perbandingan dan nilai ambang.

  • Membezakan input digital dengan input analog melalui contoh sebenar.

Pratonton aktiviti pelajar

Kandungan aktiviti

Pratonton sahaja. Dalam sesi kelas, pelajar boleh mengisi jawapan dan menyerahkan hasil kerja mereka kepada guru.

1

Input, nilai ambang dan keputusan

10 min

Input ialah maklumat dari dunia luar yang dibaca oleh papan. Terdapat dua jenis:

  • Input digital: hanya mempunyai dua keadaan, seperti butang ditekan / tidak ditekan (atau HIGH / LOW).
  • Input analog: mempunyai banyak nilai yang mungkin. Pada papan Arduino Uno, bacaan analog memberikan nombor antara 0 hingga 1023 (contohnya kedudukan potensiometer, iaitu tombol yang diputar).

Penderia ialah komponen yang menghasilkan salah satu bacaan tersebut. Nilai ambang ialah nilai pemisah yang menukar bacaan analog (banyak nombor) kepada keputusan ya/tidak. Contoh: "jika bacaan lebih besar atau sama dengan 500, nyalakan LED; jika tidak, padamkan LED." Dalam contoh ini, 500 ialah nilai ambang.

Ingat struktur editor: Arduino run first berjalan sekali pada permulaan; Arduino loop forever berulang tanpa henti. Bacaan input dan keputusan perlu diletakkan dalam gelung supaya papan menyemak nilai berkali-kali.

Apakah maksud menggunakan nilai ambang 500 bagi bacaan analog yang berjulat dari 0 hingga 1023?

Nyatakan satu perbezaan antara input digital dengan input analog.

2

Baca dan semak input

16 min

Gunakan keputusan LED yang kelihatan untuk menyemak input sebelum mengisi jadual.

  1. Buka makmal papan Arduino visual. Gunakan potensiometer pertama pada antara muka, disambungkan ke A0, dan kekalkan input lain.

  2. Bina keputusan LED sebelum mengumpul data. Dalam Arduino loop forever: jika read analog pin# A0 >= 500, LED terbina dalam HIGH; jika tidak LOW; kemudian tunggu 100 ms.

  3. Serial pilihan: kekalkan Setup serial 9600 bps dalam ruang kerja dan cetak read analog pin# A0 dalam gelung. Laluan LED berfungsi tanpa serial.

  4. Sahkan/kompil, muat naik ke peranti dan programkannya apabila diminta. Gerakkan potensiometer pertama ke minimum, tengah dan maksimum. Rekod keadaan LED dan bacaan serial jika tersedia pada setiap kedudukan.

  5. Skala ADC ialah 0–1023, tetapi potensiometer jauh mungkin tidak meliputi keseluruhannya. Gunakan hujung julat yang diperhatikan; input 3.3 V dengan rujukan 5 V memberikan kira-kira 675 di hujung atas. Ini anggaran, bukan bacaan wajib.

  6. Jika tiada perubahan, semak A0, potensiometer pertama dan program yang dimuat naik. Jangan cuba pin secara rawak. Jika julat tidak merentasi 500, letakkan ambang dalam julat itu dan uji semula.

Isi jadual dengan satu baris bagi setiap kedudukan input yang diuji. Gunakan sekurang-kurangnya tiga baris: rendah, pertengahan dan tinggi; biarkan baris tambahan kosong. Dalam setiap baris, rekod kedudukan input, pin yang digunakan, bacaan atau kesan yang dapat dilihat, dan sama ada nilainya berubah apabila anda menggerakkan input.

Kedudukan / keadaan input Pin yang digunakan Bacaan atau kesan yang diperhatikan Berubah apabila input digerakkan?
3

Buat keputusan

22 min

Sekarang, tambah syarat if / else daripada kategori Logic yang menggunakan bacaan dan nilai ambang untuk menyalakan atau memadamkan LED terbina dalam.

  1. Kekalkan program A0 dengan LED yang telah diuji. Semak strukturnya menggunakan kod dan rajah di bawah. Pilih ambang yang memisahkan dua kedudukan, muat naik perubahan dan uji semula kedua-duanya. Tanpa serial, rekod LED hidup/mati dan ambang yang diuji; bacaan ADC berangka ialah pilihan.

Program anda sepatutnya lebih kurang seperti berikut:

Rajah blok visual: di dalam gelung Arduino selama-lamanya terdapat syarat jika bacaan pin analog A0 lebih besar atau sama dengan 500; dalam lakukan, Tetapkan LED terbina dalam kepada HIGH; dalam jika tidak, Tetapkan LED terbina dalam kepada LOW; kemudian Tunggu 100 milisaat.

Rajah rujukan bagi keputusan. Bacaan A0 dibandingkan dengan nilai ambang, dan LED berubah mengikut cabang do atau else.

Arduino loop forever:
   if  [read analog pin# [A0]]  [≥]  [500]
   do:
      [set built-in LED] [HIGH]
   else:
      [set built-in LED] [LOW]
   [wait] 100 milliseconds

Terangkan syarat penuh anda: input yang dibaca, nilai ambang (atau keadaan) yang dibandingkan, dan output yang berubah.

Huraikan dua ujian: satu ujian yang menyalakan LED dan satu ujian yang memadamkannya. Sertakan kedudukan/keadaan input dan, jika anda menentukurnya, nilai ambang akhir.

4

Jika tiada perubahan, nyahpepijat

7 min

Jika LED tidak berubah apabila anda menggerakkan input, tulis tiga semakan mengikut urutan yang akan anda lakukan sebelum meminta bantuan (fikirkan pin bacaan, nilai ambang dan sama ada program telah dimuat naik).

Jadikan pratonton ini satu sesi kelas sebenar

Teruskan ke LabsLand Teach untuk menggunakan pelajaran ini bersama pelajar dan menyemak akses akaun anda.