Jom sahut cabaran untuk mengarahkan AkalBOT untuk lebih banyak bergerak dalam misi menjatuhkan 2 set selipar pada 2 lokasi berbeza.
Anda akan menentukan sendiri corak perjalanan AkalBOT bagi menjatuhkan selipar dengan menyusun papan padang permainan berdasarkan nilai setiap papan.
Gunakan kreativiti anda untuk menyusun papan tersebut supaya hasil tambah nilai papan yang dilalui AkalBOT mesti melebihi 75 markah. Peraturan permainan ialah:
Jika anda bertanding dengan rakan anda, pemenang adalah yang mendapat markah yang tertinggi iaitu hasil tambah papan yang dilalui AkalBOT dengan tambahan buzzer, LED dan OLED (markah bonus) dalam tempoh yang paling singkat. Semoga berjaya!
☆ BONUS 1
Tambah bunyi dengan menggunakan buzzer apabila sampai ke selipar pertama dan kedua (bonus 5 markah)
Penambahan Bunyi Buzzer
Blok Buzzer dalam AkalBLOK
☆ BONUS 2
Tambah nyalaan LED apabila sampai ke selipar kedua (bonus 5 markah)
Penambahan Nyalaan LED
Blok LED dalam AkalBLOK
☆ BONUS 3
Tambah paparan βBerjayaβ menggunakan paparan OLED apabila sampai ke selipar kedua (bonus 5 markah)
Penambahan Paparan OLED
Blok OLED dalam AkalBLOK
Mari kita analisis masalah ini menggunakan teknik pemikiran komputasional iaitu penguraian.
Masalah utama dalam misi tuju selipar kali ini ialah bagaimana untuk menyusun pergerakan AkalBOT supaya berjaya meruntuhkan selipar pada dua lokasi supaya tambah nilai papan yang dilalui AkalBOT adalah melebihi 75 markah. Ada beberapa faktor yang anda boleh fikirkan seperti susunan papan permainan, lokasi selipar dan aliran pergerakan robot. Oleh itu, cuba huraikan masalah ini berdasarkan faktor ini.
💡 Fikir: Mungkin anda perlu susun papan dahulu berdasarkan nilai pada papan, diikuti lokasi selipar dan akhir sekali pergerakan robot.
Berdasarkan pergerakan robot, anda sudah boleh membangunkan algoritma bagi menyusun langkah demi langkah. Boleh rujuk semula panduan membangunkan algoritma menggunakan carta alir.
💡 Fikir:Apakah langkah yang perlu diubahsuai atau ditambah pada carta alir supaya misi kedua ini berjaya atau anda boleh membangunkan carta alir yang baharu?
🤖 Lakukan: Dengan menggunakan AkalBLOK, susun blok untuk menggerakkan AkalBOT supaya AkalBOT bergerak menuju ke dua lokasi selipar berdasarkan urutan carta alir. Blok yang terlibat adalah:
Misi kali ini memerlukan anda menyusun sendiri blok dalam Akalblok. Contoh yang diberikan ini hanya untuk sebahagian atur cara iaitu apabila AkalBOT sampai ke lokasi selipar yang kedua dengan bunyian buzzer, nyalaan kedua-dua LED dan OLED memaparkan mesej.
Mari uji bagaimana atur cara yang dibangunkan dapat mengerakkan AkalBOT untuk menjatuhkan dua lokasi selipar.
π Uji: Susun padang permainan supaya sesuai dengan laluan AkalBOT. Kemudian, susun selipar secara menegak pada dua lokasi yang telah anda rancang.
π Uji: Dengan menggunakan Editor Arduino, kompil atur cara yang dibangunkan. Rujuk bahagian Kompil Aturcara untuk langkah menguji atur cara.
Letak AkalBot pada padang permainan. Larikan AkalBOT dengan menekan butang ON. Pastikan bateri AkalBOT mencukupi.
Pengujian tidak berjaya? Teruskan usaha πͺ
π Uji: Jika anda tidak berjaya menjatuhkan selipar menggunakan AkalBOT, ubahsuai urutan pergerakan dan nilai pada blok delay. Uji semula sehingga berjaya.
Mari tonton video rakan yang telah berjaya selepas mengubahsuai atur cara berkali-kali:
π Uji: Jika anda telah berjaya menjatuhkan selipar, tahniah diucapkan. Anda telah memasukkan arahan utk buzzer, led dan oled? Jika belum, inilah masanya. Semoga berjaya!
👀 Tenung: Cuba renungkan bagaimana kita boleh tambah arahan kepada AkalBOT untuk bergerak mengikut corak yang kita setkan.
Malah kita boleh cuba pelbagai corak pergerakan yang berbeza atau menyalakan LED pada waktu yang lain atau mengubah mesej dalam OLED.
Contoh 1: Susunan Lokasi
Contoh 2: Susunan Lokasi
👀 Tenung: Cuba renungkan bagaimana AkalBOT boleh mengeluarkan bunyi.
Sebenarnya anda boleh menukar bunyi dengan menukar nilai dalam fungsi ini di editor Arduino:
tone(buzzer, 5000, 500);
Library | Code |
---|---|
Pembolehubah |
#define buzzer 9
|
void setup () |
pinMode (buzzer,OUTPUT); |
void loop () |
tone (buzzer,5000, 500); |
👀 Tenung: Cuba renungkan bagaimana AkalBOT boleh menyalakan dan menutup LED dengan mengubah nilai HIGH dan LOW untuk fungsi berikut:
digitalWrite(led1, HIGH);
👀 Tenung:Cuba renungkan bagaimana AkalBOT boleh memaparkan mesej. Anda boleh mengubah mesej pada arahan berikut di editor Arduino:
display.println("TUJU SELIPAR!");
👀 Tenung:Bagaimana jika ada tiga lokasi selipar, apa perubahan yang perlu dilakukan?
Contoh corak pengerakan untuk tiga lokasi selipar.
👀 Tenung:Bagaimana pula jika AkalBOT perlu mengelak objek ketika sedang bergerak untuk menuju selipar? Adakah komponen sensor seperti mata AkalBOT ini boleh digunakan?