Khamis, 22 Februari 2024

KURSUS - BASIC ARDUINO

Untuk artikel kali ini saya menggunakan bahasa rojak ya. Utamanya bahasa melayu dengan istilah2 teknikal dalam bahasa Inggeris sekiranya lebih sesuai untuk pemahaman. Ok baik........











 





Arduino adalah sebuah micro-processor based developement board. Ia di buat secara open source dan dengan rekabentuk yang dipermudahkan dengan tujuan supaya ianya boleh digunakan oleh bukan sahaja para jurutera tetapi juga oleh hobbyist dan artis. Ia popular terutamanya di kalangan pelajar kejuruteraan di mana ia banyak digunakan untuk menghasilkan projek akhir tahun pelajar.

Ramai yang bertanya...macam mana nak belajar Arduino ni. Apa yang diperlukan dan hendak bermula di mana ?

 Bagi saya, jalan termudah untuk belajar Arduino ialah dengan mengikuti langkah2 yang berikut ;

1. Pertama, mengenali hardware iaitu peranti-peranti yang terlibat bermula dengan board Arduino itu sendiri, input devices seperti sensor, suis, output devices seperti Led, buzzer, relay, motor dan lain2. Mesti tahu juga fungsi setiap satu dan cara penyambungan di terminal2nya. Kenal dan tahu fungsi komponen elektronik asas terutama sekali resistor dan juga tahu cara menggunakan aksesori seperti jumper wires dan breadboard.

Pada masa yang sama kena tahu juga menggunakan software programmer untuk Arduino iaitu Arduino IDE. Memahami dan boleh melaksanakan proses 'compile', 'upload' selain tahu cara untuk mencari dan download drivers yang diperlukan.

2. Kedua, mesti memahami 3 struktur asas program di mana ada bahagian yang kita perlu mengisytiharkan peranti, memberi fungsi kepada pin-pin dan menulis prosesnya. Pada peringkat ini juga kita seharusnya boleh memahami apa yang berlaku di dalam program dan boleh membandingkannya dengan hardware yang telah siap tersambung.

3. Ketiga, kita seharusnya sudah mampu membuat modifikasi hardware dan software. Contohnya menambah bilangan LED dari projek asal dan menambah arahan di dalam program.

4. Pastinya matlamat akhir ialah supaya kita mampu merekacipta projek dan menulis program sendiri.

Halangan pada ramai termasuk diri saya sendiri ialah untuk mahir dalam programming. Walau bagaimanapun ia bukanlah suatu halangan yang besar kerana pertamanya terdapat banyak maklumat dan projek yang telah di kongsi di internet untuk dijadikan rujukan. Keduanya pada hari ini telah hadir satu teknologi rakan belajar dan rakan kerja yang boleh membantu dalam banyak urusan termasuklah dalam urusan menulis program. Rakan ini lah yang kita panggil sebagai AI.

Ya, AI boleh membantu kita menulis program. Hasilnya bergantung pada ketepatan maklumat dan interaksi kita dengan AI tersebut. Pengalaman saya dengan Chat GPT, ada program yang dihasilkan tepat. Program yang lebih rumit ada yang memerlukan sedikit modifikasi atau pembetulan. 


KURSUS BASIC ARDUINO


Pada 30 dan 31 Januari telah berlangsung satu Kursus Basic Arduino di Jabatan Kejuruteraan Mekanikal Politeknik Ungku Omar (PUO). Oleh kerana namanya pun Basic Arduino, maka telah dirancang suatu kursus yang bermula dengan pengenalan kepada fungsi micro-controller. Turut di sentuh ialah sejarah penciptaan Arduino, tujuan ia direkabentuk dan bagaimana kegunaannya yang begitu meluas pada waktu ini di dalam penghasilan projek pelajar dan pembangunan sistem sama ada oleh profesional dan bukan profesional.

Peserta di beri tunjuk ajar bagaimana untuk memuat turun Arduino IDE di komputer masing-masing. Penerangan juga diberikan tentang bagaimana cara mengendalikan software programmer untuk Arduino ini, struktur asas program dan bagaimana hubungan antara software dan hardware supaya peserta yang baru bermula akan mendapat idea tentang fungsi, cara pengendalian dan proses membangunkan projek menggunakan Arduino.

Perjalanan seterusnya kursus ini ialah dengan peserta membina projek2 mini di mana ada projek yang akan dikembangkan untuk lebih pemahaman dalam aspek hardware dan software. Beberapa projek lain juga di buat untuk penerangan fungsi2 penting seperti digital input/output, pullup/down resistor, voltage divider, serial monitor, LCD display dan lain2.

Penceramah utama di jemput daripada Jabatan Kejuruteraan Elektrik PUO iaitu En, Suhaimi dan saya sendiri membantu sebagai penceramah kedua. Peserta ialah terdiri daripada staf2 Jabatan Kejuruteraan Mekanikal PUO.

Oleh kerana permintaan untuk penganjuran kursus ini telah diajukan kepada saya pada mulanya, saya telah mengambil langkah untuk merangka silibus yang sesuai dan menghasilkan Training Manual. Alhamdulillah En Suhaimi telah membuat proof reading dan bersetuju dengan silibus yang dirancangkan. Yang paling penting, di dalam ceramahnya, En Suhaimi telah mengembangkan setiap topik dengan lebih mendalam untuk menambah kefahaman peserta. 

Di bawah ini ialah link Training Manual yang dihasilkan khusus untuk Kursus ini;

https://docs.google.com/document/d/1KwyZP82Mlcr_MJb04GpH3_8y4Oyfvn5w/edit?usp=drive_link&ouid=109775515928138353933&rtpof=true&sd=true


Berikut pula ialah link video projek2 yang akan di bina oleh peserta semasa kursus. Rakaman video ini di buat beberapa hari sebelum hari kursus iaitu ketika saya membuat proses verifikasi terhadap projek2 yang dirancang untuk memastikan tiada kesalahan dari segi litar dan programya;

https://drive.google.com/file/d/1fk05YOz2IpAn6xODwnZh8zu4CaucYY7J/view?usp=drive_link


Kursus ini menggunakan Board UNO Compatible di mana rupa fizikal dan fungsinya menyamai ARDUINO UNO R3. Satu2nya yang berbeza ialah board ini menggunakan CH340 sebagai USB Driver untuk kos yang jauh lebih rendah berbanding board original buatan Italy.

Peserta telah dikenakan bayaran untuk membeli training kit yang terdiri daripada UNO compatible, input dan output devices, komponen elektronik dan aksesori berkaitan.

Arduino UNO di pilih untuk pembelajaran ini kerana ia adalah development board yang paling popular di mana terdapat banyak info dan documented projects yang dikongsikan di internet yang boleh dijadikan panduan dan rujukan.


PROJEK-PROJEK


1. BLINK

Ini ialah projek paling asas untuk pengenalan di mana kita boleh mengawal output fizikal daripada Board Arduino. Setelah peserta memahami fungsi hardware dan softwarenya, pesewrta di minta untuk membuat modifikasi seperti berikut ;

- menyalakan LED luaran di Breadboard

- memambah bilangan LED, output pin dan mengubahsuai program

- mengubahsuai program untuk mengawal turutan dan meletakkan syarat menggunakan integer i dan arahan for (int i=0;i<10;i++) dengan penerangan dari penceramah


2.  AUTOMATIC WATER LEVEL CONTROL USING FLOAT SENSOR (PULLUP/DOWN RESISTOR EXPLAINED)

Projek ini ialah menggunakan Float Sensor. Sensor ini ialah sejenis suis ( Reed Switch / Magnetic Switch ). Oleh itu litar perlu di tambah dengan Pullup Resistor sama ada dengan secara luaran atau secara programming iaitu menggunakan Pullup Resistor dalaman. Penerangan tentang fungsi dan kenapa perlu ada pullup resistor diberikan.


3. AUTOMATIC LIGHT SWITCH USING LDR

Projek ini memberikan contoh fungsi analog input. Selain daripada itu turut memberi penerangan tentang keperluan menambah litar voltage divider untuk input signal dari LDR. Selain daripada itu juga peserta diperkenalkan dengan fungsi serial monitor pada IDE, mengubah suai delay untuk bacaan yang boleh di baca dan threshhold untuk mengubah sensitivity LDR mengikut keadaan cahaya yang di terima.


4. SERVO MOTOR KNOB

Projek ini menunjukkan bagaimana Arduino menginterpritasi skala rintangan kepada skala sudut untuk kawalan kedudukan servo motor. Seterusnya peserta boleh mencuba satu lagi projek menggunakan servo motor iaitu Servo Sweep. Dengan menggunakan apa2 input device sebagai trigger, servo motor boleh dipusingkan kepada satu sudut mengikut nilai sudut yang diprogramkan. Peserta boleh mencuba fungsi delay atau input device kedua untuk arahan servo motor kembali ke kedudukan asal.


5. SCROLLING TEXT ON LCD 16X2

Dimulakan dengan penerangan tentang peranti paparan LCD bersaiz 16x2. Seterusnya daripada projek ini, peserta akan melihat bagaimana untuk menjana huruf pada kedudukan tertentu pada LCD.


6. TEMPERATURE & HUMIDITY METER

Projek ini memerlukan peserta untuk download library bagi input device. Peserta juga boleh cuba mengubahsuai paparan. Selain daripada itu, peserta boleh menambah fungsi paparan data ke dalam serial monitor dengan merujuk pada program bagi projek ketiga (LDR).


Di akhir kursus, telah ditunjukkan satu demo tentang projek IOT menggunakan NodeMCU. Maklumat lanjut boleh rujuk  di dalam Training Manual. Secara ringkasnya ditunjukkan bagaimana projek ini berfungsi dan bagaimana untuk menambah board ESP8688 ke dalam IDE supaya ia boleh di program.


Kekangan masa mungkin menyebabkan ada beberapa perkara yang tidak sempat di cuba atau sampaikan namun dengan pengetahuan awal yang ada serta kit training yang dibekalkan peserta boleh sahaja mencuba sendiri projek2 yang telah dicadangkan di dalam manual latihan ataupun projek2 lain yang infonya boleh didapati dengan banyak sekali di internet.


Akhir kata, Arduino sebenarnya mudah dipelajari kerana ia memang direkacipta supaya dapat digunakan oleh mereka yang tidak mempunyai latar belakang kejuruteraan dan komputer. Selain daripada itu terdapat banyak informasi dan dokumen2 projek yang telah dikongsikan oleh ramai orang di dalam internet yang dapat dijadikan sebagai rujukan.


GALERI

Saya bersama Ketua Jabatan Kejuruteraan Mekanikal PUO dan En. Suhaimi (baju biru)



Peserta Kursus Basic Arduino



Alhamdulillah. Sebelum ini pernah juga beri tunjuk ajar pada pelajar PUO dan pelajar sekolah, tetapi tidaklah secara rasmi.


Diharapkan catatan di blog ini boleh membantu menjadi rujukan kepada peserta kursus sekiranya perlu disegarkan kembali ingatan :-). Walau bagaimanapun untuk menambah kefahaman dan kemahiran, terbaik jika dapat diluangkan masa untuk explore dan mencuba membina projek2 baharu. 

Bagi mereka yang baru hendak belajar, boleh juga menggunakan segala maklumat yang ada di dalam blog post ini sebagai panduan.

Di bawah ialah kit belajar komprehensif dari Cytron Technologies. Boleh beli kit ini untuk mulakan perjalanan mengexplore dunia arduino dan micro-processing. Klik link untuk membeli dari kedai Cytron di Lazada.





-Rosedi-

23 Feb 2024








Tiada ulasan:

Catat Ulasan

KURSUS - BASIC ARDUINO

Untuk artikel kali ini saya menggunakan bahasa rojak ya. Utamanya bahasa melayu dengan istilah2 teknikal dalam bahasa Inggeris sekiranya leb...