Teach Pelajaran dengan makmal jarak jauh

Pelajaran Teach

Robot Arduino Visual (4/4): cabaran robot peka penanda

Murid menggabungkan pergerakan, penderia, penanda dan peraturan tindak balas dalam cabaran robot pengaturcaraan visual dengan bukti ujian.

  • Robot Arduino (visual)
  • 60 min
  • Sekolah menengah rendah / menengah atas awal
  • Bahasa Melayu
  • Robotik · Sistem terbenam

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

Pandangan dari atas bagi trek robot dengan beberapa penanda hitam.
Robot Arduino (visual) · Butiran makmal

Hasil pembelajaran

  • Menggunakan penderia garisan sebagai bukti pantulan permukaan cerah atau gelap.

  • Mereka bentuk tingkah laku tindak balas ringkas dengan input, keputusan dan output.

  • Menilai robot berdasarkan bukti dan penjelasan, bukan penjejakan yang sempurna.

Pratonton aktiviti pelajar

Kandungan aktiviti

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

1

Pilih cabaran yang boleh dicapai

8 min

Sensor garisan mengukur cahaya pantulan. Permukaan gelap dan cerah biasanya memberi bacaan berbeza, tetapi julat sebenar bergantung pada robot dan kedudukannya. Ukur kedua-duanya dengan sensor yang sama; jangan andaikan nilai tetap bagi putih atau hitam. Ambang ialah nombor yang memisahkan bacaan yang diperhatikan.

Trek robot dengan penanda hitam

Pandangan dari atas bagi trek robot dengan beberapa penanda hitam.

Bina lampu isyarat permukaan: merah untuk garisan gelap dan biru untuk lantai cerah, dengan motor berhenti semasa bacaan. Tukar kedudukan hanya melalui rangka tekanan tunggal. Program jarak sahaja tidak menjawab soalan sensor garisan pelajaran ini.

Tulis cabaran pilihan anda sebagai peraturan: "Jika penderia mengesan..., maka robot...; jika tidak, robot...".

2

Tentukur permukaan cerah dan gelap

18 min

Kedudukan jauh: gerakkan robot; anda tidak boleh menggerakkan objek fizikal di bilik jauh. Semasa memuat naik, pilih Only robots on 8-shaped circuits (litar berbentuk lapan). Lantai putih, garisan hitam dan dinding ialah rujukan tetap. Kenal pasti hadapan robot pada kamera dan semak ruang kosong. Tambahkan rangka kawalan di bawah. Setiap tekanan baharu B menghasilkan satu gerakan ke hadapan selama 100 ms; lepaskan sebelum menekan lagi. A dan C boleh menggunakan pola tekanan tunggal yang sama untuk membelok (−125,125 atau 125,−125). Ambil bacaan hanya selepas kedua-dua motor berhenti. Jangan menghampiri dinding semata-mata untuk mendapatkan bacaan tinggi; kekalkan jurang yang kelihatan dan laporkan kedudukan yang tidak dapat diuji dengan selamat.

[Button B as stepButton]  (Buttons)
[Setup Serial speed 9600]
Arduino run first:
  [Change two motors speed] Left: 0 Right: 0
Arduino loop forever:
  if [stepButton single press]:
    [Change two motors speed] Left: 125 Right: 125
    [wait] 100 milliseconds
    [Change two motors speed] Left: 0 Right: 0
  ... baca sensor dan paparkan nilainya di sini ...
  [wait] 50 milliseconds

Gunakan single press, bukan is pressed: ia dicetuskan sekali bagi setiap tekanan baharu walaupun butang ditahan. Kekalkan blok berasingan Button B as stepButton dalam ruang kerja dan pilih stepButton dalam syarat. Arahan berhenti berada dalam syarat selepas gerakan bermasa. Uji sekali di ruang kosong dan perhatikan selama tiga saat: robot mesti kekal berhenti sehingga tekanan baharu. Jika tiada gerakan, semak muat naik, butang dan ruang sebelum memanjangkan gerakan.

  1. Selepas syarat kedudukan, gunakan Read line sensors, cetak nilai center dan tunggu 300 ms. Dalam litar lapan, gunakan belokan atau gerakan pendek sehingga sensor tengah yang sama berada di atas lantai putih; berhenti dan rekod. Letakkannya di atas garisan hitam dan rekod lagi. Semak kedua-dua permukaan pada kamera. Jika serial tiada, bina syarat LED di bawah dahulu dengan ambang percubaan 500, laraskan dan uji kedua-dua kedudukan sehingga dapat dibezakan; rekod ambang dan keadaan LED tanpa mereka bacaan. Jika tidak dapat dibezakan, nyatakan keyakinan rendah dan ambang belum muktamad.

  2. ```text

  3. [Read line sensors]

  4. if [center line-sensor value >= nombor pilihan anda]: [Set red led to HIGH] [Set blue led to LOW]

  5. else: [Set red led to LOW] [Set blue led to HIGH]

  6. [Change two motors speed] Left: 0 Right: 0

  7. ```

Penderia Permukaan Nilai yang diperhatikan (nombor atau cerah/gelap) Nilai ambang yang dicadangkan Keyakinan

Berikan ambang yang diuji dan bandingkan dua pemerhatian (bacaan serial atau keadaan LED pada ambang itu). Jika cerah dan gelap tidak dibezakan, laporkan penentukuran belum muktamad dan ujian semula yang khusus.

3

Uji semula dan baiki peraturan

22 min

Uji sama ada peraturan yang ditentukur memberikan hasil berulang. Kembali ke lantai cerah kemudian garisan gelap; berhenti sebelum setiap bacaan. Ramalkan keadaan LED sebelum menekan butang kedudukan dan bandingkan dengan hasilnya. Jika hasil tidak konsisten, ubah ambang sahaja, muat naik semula dan uji kedua-dua kedudukan. Kekalkan arahan motor berhenti. Rekod sebelum dan selepas; penentukuran belum muktamad yang dijelaskan tetap bukti sah.

Huraikan satu ujian yang berjalan dengan baik dan satu ujian yang perlu ditambah baik. Jika anda hanya menjalankan satu ujian, nyatakan ujian kedua yang akan anda jalankan.

Jelaskan mengapa cabaran anda tidak bergantung pada penjejakan garisan yang sempurna. Apakah keputusan khusus yang dibuat oleh robot berdasarkan maklumat penderia?

4

Hantaran akhir

12 min

Cabaran robot akhir

Hantar:

  1. Nama cabaran.
  2. Blok utama yang digunakan.
  3. Nilai ambang dan bukti penentukuran.
  4. Tangkap layar atau huraian program.
  5. Hasil yang diperhatikan daripada ujian robot.
  6. Satu penambahbaikan khusus.

Apakah perkara yang anda pelajari daripada memprogram robot sebenar yang tidak akan dipelajari melalui simulasi atau papan Arduino sahaja?

Jadikan pratonton ini satu sesi kelas sebenar

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