Jom sahut cabaran untuk mengarahkan AkalBOT dalam misi untuk mengesan selipar musuh pada lokasi yang pertama untuk mengeluarkan amaran dan kemudian bergerak menuju ke lokasi kedua untuk mengesan dan menjatuhkan selipar.
Anda perlu menggunakan sensor ultrasonik untuk mengesan kedudukan selipar. Anda akan menentukan sendiri corak perjalanan AkalBOT bagi mengesan dan 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 LED (markah bonus) dalam tempoh yang paling singkat. Semoga berjaya!
Contoh pergerakan yang tersasar! Sepatutnya akalBot tidak melanggar selipar musuh pada lokasi pertama, hanya memberi amaran sahaja dan kemudian mengundur untuk menuju ke lokasi kedua.
☆ BONUS
Tambah nyalaan LED apabila sampai ke selipar pertama (bonus 5 markah)
Penambahan Nyalaan LED
Blok LED 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 mengesan selipar pada dua lokasi supaya tambah nilai papan yang dilalui AkalBOT adalah melebihi 75 markah. Untuk masalah ini, anda perlu membantu akalBOT membuat keputusan jika sensor ultrasonik mengesan selipar pada jarak tertentu. Oleh itu, cuba huraikan masalah ini berdasarkan pertambahan penggunaan sensor ini.
💡 Fikir: Mungkin anda perlu tahu dahulu bagaimana sensor ultrasonik berfungsi dengan merujuk panduan berkaitan sensor ultrasonik. Secara asasnya, sensor ini dapat mengesan jarak kedudukan semasa akalBOT dengan objek dihadapannya. Bagaimana jarak ini boleh digunakan untuk membuat keputusan? Masalah ini boleh dihuraikan kepada dua keadaan.
Keadaan Pertama:
Keadaan Kedua:
🤖 Lakukan:Dengan menggunakan AkalBLOK, susun blok untuk mengerakkan AkalBOT supaya AkalBOT bergerak menuju ke dua lokasi selipar berdasarkan urutan carta alir. Blok yang terlibat adalah:
Misi kali ini memerlukan anda menghasilkan satu aturcara baharu atau mengedit aturcara yang dihasilkan melalui akalBLOK. Atur cara yang dihasilkan menggunakan akalblok ini adalah untuk carta alir pada seksyen sebelum ini. Aturcara ini perlu ditambah baik supaya misi ketiga dicapai.
🤖 Bimbingan:Anda boleh bertindak untuk mendapatkan maklumat lanjut berkaitan atur cara yang terhasil menggunakan chatbot AI seperti chatGPT (https://chat.openai.com/). Mari kita terokai dunia pembelajaran interaktif dengan bertanya soalan menggunakan 2 topi berbeza: sebagai pelajar dan sebagai guru. Terokai lebih lanjut dengan pelbagai soalan yang anda karang sendiri sehingga berjaya memahami kod tersebut dan dapat tambah baik kod sehingga misi kali ini berjaya.
Sebagai pelajar: “Saya pelajar sekolah menengah, bantu saya untuk memahami kod ini:” Anda perlu salin dan tampal (copy & paste) kod yang terhasil dalam akalBLOK dalam chatGPT
Sebagai guru: “Sebagai seorang guru di Malaysia, terangkan kod ini supaya pelajar faham konsep if yang digunakan” Anda perlu salin dan tampal (copy & paste) kod yang terhasil dalam akalBLOK dalam chatGPT
Jom tonton video menggunakan chatGPT
Mari uji bagaimana atur cara yang dibangunkan dapat mengerakkan AkalBOT untuk mengesan selipar musuh pada lokasi yang pertama untuk mengeluarkan amaran dan kemudian bergerak menuju ke lokasi kedua untuk mengesan dan menjatuhkan selipar.
📋 Uji: Susun padang permainan supaya sesuai dengan laluan AkalBOT pada misi ketiga ini. Kemudian, susun selipar secara menegak pada dua lokasi yang telah anda rancang.
Contoh susunan pertama iaitu selipar boleh berada diluar padang permainan kerana Akalbot hanya perlu mengelak untuk lokasi pertama
Contoh susunan kedua iaitu kedua-dua lokasi selipar di atas padang permainan.
📋 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
📋 Uji: Perhatikan pergerakan Akalbot. Adakah Akalbot berjaya mengelak lokasi selipar yang pertama dan tapi berjaya menjatuhkan selipar yang kedua?
Akalbot boleh mengelak dan menjatuhkan selipar pada lokasi yang sama? Perlu tambah baik arahan kod selepas pengesanan selipar pertama!
Anda boleh menggunakan chatbot AI untuk mendapatkan pandangan bagi memperbaiki kod. Anda boleh bagi arahan seperti berikut untuk berkomunikasi dengan AI:
Saya pelajar sekolah menengah dan sedang memperbaiki kod untuk robot yang menggunakan arduino. [nyatakan masalah kod anda di sini. Contohnya: Robot ini tidak berjaya mengelak selipar pada lokasi pertama]. Tunjuk pada bahagian mana yang perlu ditambah baik dan nyatakan sebabnya.
Mari tonton video robot yang berjaya mengelak selipar pada lokasi pertama dan menjatuhkan selipar pada lokasi kedua.
⭐ Jika anda telah berjaya menjatuhkan selipar, tahniah diucapkan !!!!!
👀 Tenung : Cuba renungkan bagaimana Akalbot boleh membuat keputusan sama ada untuk mengelak atau melanggar selipar apabila ada objek dikesan oleh sensor ultrasonik. Keputusan dapat dibuat apabila kita mengarahkan Akalbot untuk bertindak berdasarkan peraturan iaitu: JIKA jarak antara objek dan robot kurang daripada 30 cm, maka robot akan berhenti.
👀
Tenung : Cuba renungkan bagaimana AkalBOT boleh mengesan dan mengelak objek menggunakan sensor ultrasonik?
Sebenarnya anda boleh menukar jarak antara objek dengan pengesan dengan menukar nilai dalam pernyataan if ini:
if (DM < 60 && DM> 30)
Lihat bagaimana nilai DM ini perolehi daripada fungsi berikut:
DM = checkdistance();
Library | Code |
---|---|
Pemboleh Ubah |
const int TriggerPin = 2;
|
void setup () |
//setup untuk Ultrasonik
|
void loop () |
DM = checkdistance();
|
Fungsi |
float checkdistance() {
|
👀 Tenung : Bagaimana pula jika AkalBOT perlu mengelak objek ketika sedang bergerak untuk menuju selipar menggunakan sensor lain iaitu infrared sensor (IR)? Apakah perbezaan IR sensor ini dengan ulrasonik sensor?