Anda di halaman 1dari 204

BUKU PERCUMA.

DIGITAL SEBARKAN.

CARA BIJAK KUASAI TOPIK


BERKAITAN MIKROPENGAWAL
KSSM REKA BENTUK DAN TEKNOLOGI

Disediakan oleh

DAFIZAL BIN DERAWI


PhD candidate in Aerial Robotics (UTM)
B. Eng. Hons. Mechatronic Systems (ANU - #1Australia)
Dip. Elec. Eng. (Mechatronics) with VC Award (UTM)
KETUA PEGAWAI EKSEKUTIF DRABOT
Sekapur Sirih
Dengan nama Allah Yang Maha Pengasih dan Maha Penyayang. Segala puji
bagi Allah SWT dan salam ke atas junjungan rasul Nabi Muhammad SAW.
Akhirnya, buku digital ini berjaya disiapkan dengan harapan ilmu yang
terkandung dalam penulisan ini dapat disebarkan sebagai salah satu cara
wakaf ilmu daripada kami di pihak DRABOT. Kami berhajat untuk membantu
orang awam di luar sana dalam mendalami ilmu berkaitan mikropengawal
khususnya guru-guru bagi subjek Reka Bentuk dan Teknologi (RBT) dan murid-
murid di luar sana yang berpotensi diasah bakat mereka. InsyaAllah penulisan
ini akan menjadi rujukan terbaik untuk anda bagi topik berkaitan
mikropengawal selari dengan kehendak DSKP KSSM RBT iaitu Reka Bentuk
Elektronik (Tingkatan 2), Reka Bentuk Mekatronik (Tingkatan 3), dan
Penghasilan Produk (Tingkatan 3).
“Belajar menjadi pembina, bukannya pengguna”
Hak Milik
• Modul latihan ini adalah hak cipta terpelihara pihak
DRABOT dan Dafizal Derawi.
• Adalah satu kesalahan dalam meniru atau cubaan
untuk meniru modul latihan dan sistem yang ada
dalam modul ini dengan mengubah suai dan
mengekalkan isi kandungan utama modul latihan
ini.

©DRABOT
©Dafizal Derawi
Dafizal Derawi
Ketua Pegawai Eksekutif, DRABOT

• PhD candidate in Aerial Robotics, Universiti Teknologi


Malaysia (UTM), 2013 – present.
• Research Visitor, Autonomous Control Systems
Laboratory Ltd., Chiba, Japan, Dec 2014 – Dec 2015.
• Research Visitor, Nonami Lab, Chiba University, Japan,
Dec 2014 – Dec 2015.
• Research Assistant, Computer Vision & Robotic
Research Group, Australian National University
(ANU), 2012
• Tutor, Introduction to Electronics course, Research
School of Engineering, Australian National University
(ANU), 2012
• Bachelor of Engineering with Honours majoring in
Mechatronic Systems, ANU, 2011
• Diploma in Electrical Engineering (Mechatronics) with
Vice Chancellor Award, UTM, 2009
• Founder & President of Research & Innovation Club
(RIC), UTM, KL, 2008
PRODUK-PRODUK KELUARAN DRABOT
https://bit.ly/order_drabotrbt
Link video contoh produk-produk inovasi yang
menggunakan DRABOT RBT (Kit Mikropengawal)

• https://youtube.com/playlist?list=PLa9VsSJT0uLLv
tPK5Y7tM2NzbzmBSS-hH
PENGENALAN
Adakah cara amali untuk
topik mikropengawal
dengan menggunakan
breadboard (papan reka)
merupakan kaedah
terbaik untuk murid
sekolah menengah yang
mengambil subjek RBT?

- Berserabut ➔
Penghasilan Produk
- Sambungan tidak
dikaitkan dengan lakaran
litar elektronik
- Kenapa tak jadi?
Boleh tak buat projek seperti palang
automatik dan robot tong sampah?

Semua komponen di
atas breadboard
(papan reka)? Tak
praktikal langsung…
Kerana sebab utama inilah kami memperkenalkan
DRABOT RBT (Kit Mikropengawal)

Alhamdulillah….
Mampu buat projek
yang kreatif dan
praktikal.
Link video produk yang kreatif dengan
menggunakan DRABOT RBT (Kit Mikropengawal)

• https://youtube.com/playlist?list=PLa9VsSJT0uLLv
tPK5Y7tM2NzbzmBSS-hH
Link video pembelajaran dengan menggunakan
DRABOT RBT (Kit Mikropengawal)

• https://youtube.com/playlist?list=PLa9VsSJT0uLJc
ZJ9M0-vYGV0IadiM2tEf
• Anda boleh temui banyak video kemahiran dan
pengajaran berkaitan RBT di link ini yang akan
dikemaskini dari masa ke semasa.
• Cara memudahkan guru-guru atau murid-murid
untuk mendalami topik ini secara sendiri selain
merujuk kepada modul latihan yang telah
dibekalkan bersama-sama DRABOT RBT (Kit
Mikropengawal).
MIKROPENGAWAL
Menyatakan maksud
mikropengawal (microcontroller)
dan Pemprosesmikro
(microprocessor).
Pemprosesmikro (Microprocessor)
• Satu cip digital yang membaca dan melaksanakan
program yang disimpan dalam ingatan (memory) dan
boleh diprogramkan.
• Biasa disingkatkan sebagai µP atau uP atau unit
pemprosesan pusat (CPU- Central Processor Unit)
• Pemprosesmikro:
✓Membaca arahan binari daripada ingatan
✓Menerima data binari sebagai input (masukan) daripada
peranti input
✓Proses data berdasarkan arahan yang dibaca
✓Menghasilkan keputusan sebagai output (keluaran)
• Sistem ringkas berasaskan Pemprosesmikro
• Pemprosesmikro (CPU/µP) memerlukan cip tambahan lain untuk
beroperasi dan membentuk satu sistem komputer yang lengkap
Contoh-contoh Pemprosesmikro

Digunakan dalam sistem komputer riba…


Mikropengawal (Microcontroller)
• Adalah mikrokomputer dalam satu litar bersepadu
(Integrated Circuit- IC) (mikrokomputer cip
tunggal)
• Mengandungi komponen-komponen yang
diperlukan oleh satu sistem komputer dalam hanya
satu cip tunggal.
Contoh-contoh Mikropengawal
• Arizona Microchip Technology: siri PIC, …
• Atmel: AVR, ATMega, …
• Motorola/Freescale: 68HC05, 68HC08, …
• Intel+derivatives: 8X51, DS5000, …
• Hitachi: H8, H16, …
• Nordic Semiconductor: nRF51822
• Renesas: …
• Samsung: …
Contoh mikropengawal buatan
Atmel…
Kegunaan mikropengawal…
Contoh produk menggunakan
mikropengawal

Set Pendidikan Mesin Basuh Lampu Isyarat


Robotik
(DRABOT BOT)
Papan Mikropengawal/ Papan Pembangunan
Mikropengawal yang ada di pasaran….

Arduino (2005)

Micro:bit (2015)
Sejarah | hakikat sebenar | Arduino paling popular
Perbandingan ciri-ciri
Sistem berasaskan Mikropengawal Sistem berasaskan Pemprosesmikro

Aplikasi Tugas yang mudah: Membaca data dari Tugas yang sukar: Visi computer (computer
penderia, mengawal motor, menyalakan vision), kerja-kerja yang memerlukan sistem
diod pemancar cahaya - LED, operasi (OS) seperti Windows, Linux, dan
membunyikan pembaz sebagainya.

Saiz Ingatan Terhad dan tidak boleh ditukar Lebih besar dan boleh ditukar
(Memory)
Saiz Fizikal Lebih kecil Lebih besar

Kos Lebih murah Lebih mahal

Contoh Arduino, Microbit, … Raspberry Pi, komputer riba, …


Sistem
Menjelaskan bahagian-bahagian
yang terdapat dalam
mikropengawal (microcontroller).
Bahagian-bahagian asas….
1. Unit pemprosesan pusat
Central Processor Unit (CPU)
2. Port input/output
Input/Output port (I/O Port)
3. Ingatan capaian rawak
Random Access Memory (RAM)
4. Ingatan baca sahaja
Read Only Memory (ROM)
5. Pemasa/ Pembilang
(Timer/ Counter)
6. Penukar analog ke digital
Analog to Digital Converter (ADC)
7. Port Siri
Serial port
8. Penjana Jam
Clock Generator
1. Unit pemprosesan pusat
Central Processor Unit (CPU)
• CPU ialah otak dalam mikropengawal yang
menterjemah dan melaksanakan arahan dalam
perisian dengan melakukan asas aritmetik, logik,
kawalan dan operasi input/ output.
2. Port input/output
Input/Output port (I/O Port)
• Port input / output digunakan untuk menghubungkan
peranti-peranti input (cth: suis tekan dan penderia) dan
peranti-peranti output (cth: LED dan geganti) kepada
mikropengawal.

• Nota penting: Port input dan port output TIDAK


PERNAH DIASINGKAN DALAM mikropengawal. Port
yang sama boleh menerima masukan (input) dan
menghantar keluaran (output) bergantung dengan
konfigurasi yang telah ditetapkan. Oleh sebab itu, port
ini dipanggil
“Port input/output atau I/O Port”
3. Ingatan capaian rawak
Random Access Memory (RAM)
• Kegunaan utama RAM adalah untuk menyimpan
maklumat-maklumat sementara yang sedang
digunakan oleh aplikasi-aplikasi yang sedang
berjalan.
• RAM hanyalah ingatan sementara dan akan
terpadam apabila komputer (mikropengawal)
ditutup.
4. Ingatan baca sahaja
Read Only Memory (ROM)
• ROM digunakan untuk menyimpan program/ data yang
bersifat kekal iaitu program/ data yang disimpan di
dalam ROM ini tidak mudah hilang atau berubah
walaupun mikropengawal dimatikan.
• Menyimpan data pada ROM tidak dapat dilakukan
dengan mudah, namun membaca data dari ROM dapat
dilakukan dengan mudah. Biasanya program/ data yang
ada dalam ROM ini diisi oleh pembangunnya.
• Oleh karena sifat ini, ROM biasa digunakan untuk
menyimpan firmware iaitu set arahan yang
diprogramkan ke atas mikropengawal.
5. Pemasa/ Pembilang
(Timer/ Counter)
• Inilah salah satu fungsi berguna mikropengawal
menyediakan semua fungsi masa dan mengira di
dalam mikropengawal.
• Mikropengawal mungkin mempunyai lebih
daripada satu pemasa dan pembilang.
• Operasi utama: melaksanakan fungsi jam,
modulasi, penghasilan denyut, mengukur
kekerapan, membuat ayunan, dan lain-lain.
6. Penukar analog ke digital
Analog to Digital Converter (ADC)
• ADC digunakan untuk menukar isyarat analog
kepada bentuk digital.
• Isyarat input ke ADC hendaklah dalam bentuk
analog (Contoh: Output dari penderia) dan output
dari ADC ini hendaklah dalam bentuk digital.
7. Port Siri (Serial port)
• Port siri menyediakan komunikasi antara muka siri
(serial interface communication) antara
mikropengawal dan peranti lain.
• Contoh, komunikasi antara mikropengawal dan
komputer.
8. Penjana Jam (Clock Generator)
• Penjana jam adalah litar yang menghasilkan isyarat
masa (dikenali sebagai isyarat jam) untuk
digunakan dalam menyegerakkan (synchronizing)
operasi litar.
• Menyebabkan beroperasi pada masa atau kadar
yang sama.
PENGENALAN KEPADA
SISTEM & PERKAKAS
SISTEM?
PENGAWAL PERANTI
PERANTI INPUT/ (CONTROLLER) OUTPUT
PENDERIA INPUT OUTPUT (ACTUATORS)
(SENSOR)
PAPAN
MIKROPENGAWAL
Suis tekan LED
(PAPAN SERASI
Penderia cahaya ARDUINO UNO) Pembaz
Penderia suhu Motor servo

MENGAWAL/ MENGHASILKAN
MENGESAN MEMPROSES TINDAKAN
Papan Serasi Arduino UNO
• Sejenis papan mikropengawal
• Menggunakan mikropengawal ATmega328P & USB-serial chip CH340
• Ada kesemua ciri-ciri Arduino UNO & 100% serasi dengan Arduino UNO

CH340 ATMEGA328P
Kenali Papan Serasi Arduino UNO
Port USB (USB Port)
Jack Kuasa - Berkomunikasi dengan komputer
Digunakan untuk sambungan kuasa - Memuat naik program (upload) ke
ke papan serasi Arduino UNO. Voltan dalam papan serasi Arduino UNO.
masukan yang dicadangkan: 7-12V.
- Membekalkan kuasa kepada papan
serasi Arduino UNO, dengan voltan
Bekalan Kuasa (Power Supply) masukan adalah 5V sahaja.
5V, 3.3V dan GND boleh
digunakan untuk memberi kuasa Butang Reset (Reset Button)
kepada litar luaran.
Menetapkan semula papan serasi
VIN adalah pin untuk voltan Arduino UNO apabila ditekan. Dalam
masukan. Voltan masukan yang erti lain untuk mengembalikan kepada
dicadangkan: 7-12V. keadaan awal program.

Pin Input/Output Digital (Digital I/O)


Pin Input Analog (Analog Input)
Terdapat 13 pin I/O digital (0 - 13). Pin
Terdapat 6 pin input analog yang 0 dan 1 juga adalah RX dan TX yang
terdiri daripada A0, A1, A2, A3, A4, boleh digunakan untuk komunikasi siri.
dan A5.
Pin 3, 5, 6, 9, 10 dan 11 juga adalah
* Sebenarnya pin input analog juga adalah pin I/O digital pin PWM yang diwakili symbol ~.
tetapi mempunyai ADC (analog to digital converter).
Spesifikasi Teknikal
5V? GND?
> BEKAL KUASA KEPADA PERANTI INPUT/ OUTPUT
Papan Sambungan Peranti Input/
Output

PAPAN PERANTI PAPAN SERASI


INPUT & OUTPUT ARDUINO UNO
G GND
V 5V
S 0 – 13/ A0 – A5
Sambungan antara dua papan…
Peranti Input (Mengesan)

Modul suis tekan Modul LDR Modul sensor ultrasonic


(2 unit) (sensor cahaya) (1 unit)
(1 unit)

Modul sensor putaran Modul sensor suhu &


(1 unit) kelembapan (1 unit)
Peranti Output (Tindakan)

Modul LED –
Merah, Kuning, Hijau (1 unit)

Motor servo
(1 unit)

Modul Pembaz Pasif Modul RGB LED


(1 unit) (1 unit)
Wayar Pelompat

Wayar pelompat jenis Dupont


(20 helai/ 1 papan)

PENTING:
Leraikan wayar pelompat ini
kepada 6 set seperti di muka
surat seterusnya
Peranti
input

Peranti
output

Peranti
4 pin
Contoh sambungan...
PERMULAAN
MENGGUNAKAN PERISIAN
ARDUINO (WINDOWS)
Langkah 1 : Dapatkan perkakas
tersebut
Langkah 2 : Install perisian Arduino
(Arduino IDE).
• Boleh dapatkan arduino-1.8.13-windows di dalam
modul latihan. Anda tidak perlu download lagi
perisian berkenaan.
• Lokasi: 1_Software
• Buka (double click) arduino-1.8.13-windows
Jika keluar soalan berikut….
• Do you allow this…. ? YES
• SILA PILIH YES/ ALLOW/ INSTALL etc. untuk
sebarang soalan.
Klik butang I Agree
Klik butang Next
Lihat Destination Folder (dinasihatkan supaya tidak
mengubah apa-apa). Klik butang Install.
Tunggu sehingga proses install
selesai.
Klik Close setelah selesai
(Completed)
Langkah 3 : Install CH340 driver
• Boleh dapatkan CH341SER di dalam modul latihan.
Anda tidak perlu download lagi perisian berkenaan.
• Lokasi: KSSM RBT > 1_Software
• Buka (double click) CH341SER
Jika keluar soalan berikut….
• Do you allow this…. ? YES
• SILA PILIH YES/ ALLOW/ INSTALL etc. untuk
sebarang soalan.
Klik INSTALL. Tunggu sehingga selesai. Kemudian,
tutup. Jika terdapat error atau sebagainya, klik
UNINSTALL dahulu kemudian klik INSTALL semula.
Driver berjaya di install.

ATAU
TIPS: Untuk yang mengalami
masalah sahaja
• Jika semasa proses install keluar seperti berikut,
berkemungkinan perisian telah dibuka. Tutup proses install dan
teruskan dengan langkah seterusnya.
TIPS: Untuk yang mengalami
masalah sahaja

Tekan CH341SER.EXE icon pada taskbar.


Icon seperti dalam gambar. Kemudian
mulakan dengan proses install seperti
berikut.
Klik INSTALL. Tunggu sehingga selesai. Kemudian,
tutup. Jika terdapat error atau sebagainya, klik
UNINSTALL dahulu kemudian klik INSTALL semula.
Driver berjaya di install.

ATAU
Langkah 4 : Sambung Papan Serasi
Arduino UNO dengan komputer
Langkah 5 : Semak Sambungan antara
Papan Serasi Arduino UNO dan komputer
• Taip “Device Manager” di search
& klik Device Manager
Double click pada Ports(COM & LPT)
Semak nombor COM untuk USB-SERIAL CH340. Dalam
contoh ini adalah port COM3. Nombor COM anda mungkin
berbeza. Nombor port ini akan digunakan di dalam perisian
Arduino IDE. Sila ingat nombor COM tersebut.

Jika nombor port tidak


kelihatan. Boleh cuba
beberapa penyelesaian ini:

• Semak semula sambungan


USB kabel.
ATAU
• Tukar kepada USB port
yang lain di komputer anda
ATAU
• Uninstall dan install
semula driver CH340.
Langkah 6: Buka perisian Arduino IDE
• Double click pada icon perisian Arduino IDE pada Desktop
Windows. Gambar berikut merupakan contoh icon shortcut
pada desktop Windows.
Langkah 7: Pilih Board > Arduino Uno
Langkah 8: Pilih Port
• Nombor port mungkin
akan lebih dari satu.
Pastikan untuk memilih
USB-SERIAL CH340
(COMX)
• Pergi ke bahagian
Tools → Port → COMX
Langkah 9: Verify asas program

• Klik butang verify


Tunggu
sehingga
Done
compiling
Langkah 10: Upload program
• Klik butang Upload
Tahniah…
Done
uploading
Langkah-langkah membuat
sambungan dan upload ini amatlah
penting dan akan digunakan dalam
setiap pembangunan projek.

Langkah-langkah tersebut tidak


akan lagi diajar dalam topik
seterusnya.
PROJEK
PROJEK 1 LED BERKELIP
Pengenalan
• Output Digital: Menyala & padamkan LED yang
bersambung dengan satu pin digital Arduino.
• Active HIGH - LED akan menyala apabila menerima HIGH
daripada Arduino
• Guna delay(…) untuk mengawal masa (durasi).
• Belajar: Bina asas program, save & upload.

PENGAWAL Digital PERANTI


(HIGH/ LOW) OUTPUT
Papan Serasi
Arduino UNO LED
Apa itu DIGITAL?
• Hanya ada 2 kemungkinan isyarat (signal): HIGH
atau LOW
• Terbahagi kepada dua jenis: Input Digital (isyarat
masukan) dan Output Digital (isyarat keluaran).
• Voltan Operasi, Vcc = 5V
Info Elektronik
• Diod pemancar cahaya/ Light-emitting diode (LED)
adalah sejenis peranti output yang dapat
mengeluarkan cahaya.
• Digunakan sebagai penunjuk (indicator) dalam
banyak peranti.
Perintang
• Komponen elektrik yang menggunakan
rintangan elektrik sebagai elemen litar
• Resistance R = V/I
• Pemalar

Electronic symbol for resistor


GND
Digital Output (HIGH/ LOW)
Digital Output (HIGH/ LOW)
Digital Output (HIGH/ LOW)

PENGAWAL Digital PERANTI


(HIGH/ LOW) OUTPUT
Papan Serasi
Arduino UNO LED
Menghasilkan lakaran reka bentuk
litar elektronik.
OUTPUT Digital: Active HIGH

HIGH

AKTIF HIGH (COMMON KATOD): LED


MENYALA BILA MENERIMA “1”/HIGH/5V
3 LED…
Lebih baik menggunakan simbol
GND untuk litar skematik
Menulis pengaturcaraan mudah
berdasarkan penyambungan litar input
dan litar output.
Teori pengaturcaraan
• Arduino menggunakan Bahasa Pengaturcaraan C/C++
• Setiap program Arduino mesti mempunyai sekurang-
kurangnya 2 fungsi program:

• setup () – Fungsi pertama yang akan dibuat oleh program


Arduino. Di dalam fungsi ini juga keperluan seperti initialized
perlu diletak. Hanya akan run sekali sahaja sebaik program
berjalan.

• loop () – Mempunyai sebarang bentuk program yang akan run


secara berulang. Sebarang program di dalam loop () ini akan
run secara berulang sehingga program tamat.
Syntax
• Salah satu ilmu terpenting di dalam Bahasa Pengaturcaraan C
adalah format penulisan. Tersebut adalah beberapa format syntax
yang penting di dalam Bahasa pengaturcaraan Arduino IDE.
// (Komen satu baris) /* */ (Komen banyak baris)
Sering digunakan untuk menulis nota. Sering digunakan jika mahu menulis nota
Berguna untuk tulis nota untuk yang panjang. Semua perkara yang
kefahaman sendiri atau orang lain. masih terdapat di antara dua simbol ini
Hanya perlu letak dua slashes, dan akan diabaikan di dalam program.
semua perkara sehingga hujung tidak
akan termasuk dalam program.

{ } (Curly brackets) ; (Koma bertitik)


Digunakan untuk setiap permulaan Setiap baris program perlu diletakkan
program dan diikuti penutupnya di koma bertitik. (Jika kehilangan koma
akhir program. bertitik akan menyebabkan kegagalan
untuk compile.
Output Digital
DIGITAL
pinMode (pin, mod); digitalWrite (pin, nilai);
Digunakan untuk tetapkan mod pin, Setelah pin telah ditetapkan sebagai
nombor pin yang ingin digunakan dari OUTPUT, boleh ditetapkan sebagai HIGH
0 hingga 19 (analog 0-5 adalah 14-19). (+5V) atau LOW (Ground).
Mod boleh sama ada INPUT atau
OUTPUT.

Initialize di dalam void Tulis di dalam void loop ().


setup () Fungsi untuk OUTPUT
Digital
delay
• Fungsi ini digunakan untuk mengawal masa (durasi)
• Syntax: delay(value);
• value adalah sebarang nombor dan dikira dalam
millisaat (ms). Jika 1000 ms bermaksud 1 s.

• Contoh:
delay(1000);
Algoritma
MULA
ULANG SELAMANYA
Nyalakan LED merah
Tunggu 1 saat
Padamkan LED merah
Tunggu 1 saat
TAMAT
Contoh
Program
Bandingkan dengan Algoritma
MULA
ULANG SELAMANYA
Nyalakan LED merah
Tunggu 1 saat
Padamkan LED merah
Tunggu 1 saat
TAMAT
JOM BELAJAR CARA SAVE (SIMPAN)
PROGRAM YANG TELAH DIBINA
Klik File >
Klik Save As.
1. Pilih lokasi > 2. Beri File name sebagai
> 3. Klik Save.
Jangan ada selang (space) untuk file name. “_” dibuat dengan tekan shift &
- secara serentak.
Membina litar simulasi yang
berfungsi dengan perisian khas.
Perisian untuk litar simulasi
✓SimulIDE: Perisian percuma & boleh
digunakan secara offline.
✓https://www.simulide.com/
✓Tidak perlu install perisian untuk
membuat simulasi litar. Hanya perlu
membukanya sahaja.
✓Fokus kepada demonstrasi yang bakal
diajarkan oleh pengajar.
✓Rujuk link rasmi SimulIDE untuk
Tutorial.
Cara buka perisian SimulIDE.

• Boleh dapatkan SimulIDE_0.4.15-


SR7_Win64 di dalam folder latihan
(1_Software). Tidak perlu download lagi
perisian berkenaan.
• Cari di dalam folder 1_Software >
SimulIDE_0.4.15-SR7_Win64 >
SimulIDE_0.4.15-SR7_Win64 > bin
• Buka (Open - double click) simulide.
Akan keluar seperti berikut.
Bina litar di dalam perisian SimulIDE dengan
merujuk lakaran litar skematik.
Membuat penyambungan litar
input dan litar output kepada
mikropengawal (microcontroller).
Proses seterusnya adalah penyambungan perkakas. Pastikan
tiada bekalan kuasa yang dibekalkan kepada papan serasi
Arduino Uno. Putuskan sambungan wayar USB seperti dalam
gambar berikut.
Sambungan Perkakas
R = Red = Merah
Y = Yellow = Kuning
G = Green = Hijau

Papan Sambungan Wayar pelompat Modul LED


Peranti Input/ Output
G (sebaris dengan 13) GND
S (13) R
S (12) Y
S (11) G
Selepas siap membuat sambungan
perkakas, anda boleh sambungkan
semula papan serasi Arduino UNO
anda ke USB port di komputer dengan
menggunakan wayar USB untuk
mendapatkan bekalan kuasa.
Membuat pengujian dan penilaian
kefungsian litar elektronik.
SEKARANG ANDA BOLEH UPLOAD
(MUAT NAIK) PROGRAM YANG TELAH
DIBINA DENGAN MENGIKUT CARA
YANG TELAH DIAJAR SEBELUM INI.

ANALISIS TINDAK BALAS YANG


BERLAKU DI PERKAKAS ANDA.
Mencadangkan penambahbaikan
ke atas reka bentuk litar elektronik.

>> Bebas tetapi pastikan logik.


Cuba buat LED kuning dan hijau
berkelip
R = Red = Merah
Y = Yellow = Kuning
G = Green = Hijau

Papan Sambungan Wayar pelompat Modul LED


Peranti Input/ Output
G (sebaris dengan 13) GND
S (13) R
S (12) Y
S (11) G
PROJEK 2 LAMPU ISYARAT
Pengenalan
• Kekalkan sambungan perkakas seperti dalam
Projek 1.
• Mengawal nyalaan LED merah, kuning, dan hijau
secara serentak.
• Sama seperti sistem kawalan lampu isyarat yang
sebenar.
MULA
ULANG SELAMANYA
LED merah padam
LED kuning padam
LED hijau menyala
Tunggu 5 saat

LED merah padam


LED kuning menyala
Algoritma
LED hijau padam
Tunggu 1 saat

LED merah menyala


LED kuning padam
LED hijau padam
Tunggu 5 saat
TAMAT
Setup pin yang
telah bersambung
ke LED sebagai
pin output digital

Cuba LED hijau sahaja


Program yang menyala
untuk 5 saat

(Atur cara) LED kuning sahaja


yang menyala
untuk 1 saat

LED merah sahaja


yang menyala
untuk 5 saat
PROJEK 3 SUIS TEKAN
Pengenalan
• INPUT ↔ OUTPUT
• Suis tekan ↔ LED
• Input Digital: Active LOW (Suis ditekan, LOW (0) yang
dihasilkan)
• Output Digital: Active HIGH
• Blok kawalan if… else (untuk membuat pilihan)
• Jika (if) suis ditekan, LED menyala selain itu (else) LED padam

PERANTI Input Digital PENGAWAL Output Digital PERANTI


INPUT (HIGH/ LOW) (HIGH/ LOW) OUTPUT
Papan Serasi
Suis Tekan Arduino UNO LED
Apa itu DIGITAL?
• Hanya ada 2 kemungkinan isyarat (signal): HIGH
atau LOW
• Terbahagi kepada dua jenis: Input Digital (isyarat
masukan) dan Output Digital (isyarat keluaran).
• Voltan Operasi, Vcc = 5V
Info Elektronik
• Suis tekan adalah sejenis peranti input untuk mengesan
setuhan apabila ditekan.
• Modul suis tekan memerlukan kuasa untuk beroperasi
dan boleh didapatkan daripada papan serasi Arduino
UNO melalui sambungan pin 5V dan GND.

GND
5V
HIGH (1)/
LOW (0)
Litar Skematik
Litar Skematik JENIS LITAR INPUT DIGITAL: AKTIF LOW
PIN 2 (ARDUINO UNO) MENERIMA
“0”/LOW/0V APABILA SUIS TEKAN DITEKAN.
Input Digital
DIGITAL
pinMode (pin, mod); int digitalRead (pin);
Digunakan untuk tetapkan mod pin, Setelah pin telah ditetapkan sebagai
nombor pin yang ingin digunakan dari INPUT, boleh digunakan membaca
0 hingga 19 (analog 0-5 adalah 14-19). sebagai HIGH (+5V) atau LOW (Ground).
Mod boleh sama ada INPUT atau
OUTPUT.

Initialize di dalam void Tulis di dalam void loop ().


setup () Fungsi untuk INPUT Digital
Variables
VARIABLES
int (integer) float (float)
Sering digunakan untuk menyimpan Digunakan untuk matematik nombot
nombor dalam 2 byte (16 bit). Tidak perpuluhan. Mengambil 4 byte (32 bit)
mempunyai tempat perpuluhan dan RAM dan mempunyai julat antara -
akan menyimpan nilai antara -32,768 3.4028235E + 38 hingga 3.4028235E +
hingga 32,767 38.
Operator Perbandingan
OPERATOR PERBANDINGAN
== (sama dengan) contoh: 12 == 10 adalah SALAH atau 12 == 12 adalah BETUL

!= (tidak sama dengan) contoh: 12 != 10 adalah BETUL atau 12 != 12 adalah SALAH.

< (kurang daripada) contoh: 12 < 10 adalah SALAH atau 12 <12 adalah SALAH atau 12 < 14 adalah BETUL.

> (besar daripada) contoh: 12 > 10 adalah BETUL atau 12 > 12 adalah SALAH atau 12 > 14 adalah SALAH.
Struktur Kawalan
STRUKTUR KAWALAN
• if Digunakan bersama dengan struktur operator, diuji sama ada keadaan tersebut telah tiba,
lakukakn sesuatu.

• if…else Digunakan bersama dengan struktur operator, diuji sama ada keadaan tersebut telah tiba,
lakukan sesuatu. Walaubagaimanapon, jika keadaan sebaliknya akan lakukan sesuatu.
Format: if
if (x > 120) digitalWrite (LEDpin, HIGH);

if (x > 120)
digitalWrite (LEDpin, HIGH);
if (apa-apa variable > 50)
{ if (x > 120) { digitalWrite (LEDpin, HIGH);}
//buat sesuatu
} if (x > 120) {
digitalWrite (LEDpin1, HIGH);
digitalWrite (LEDpin2, HIGH);
}

//Semua adalah betul.


Format: if…else

if (apa-apa variable < 500)


{
//buat sesuatu
}
else
{
//buat sesuatu
}
Algoritma
MULA
ULANG SELAMANYA
JIKA suis ditekan MAKA
LED merah menyala
JIKA TIDAK
LED merah padam
TAMAT JIKA
TAMAT
Program
Litar Simulasi
Sambungan Perkakas
Jangan buka sambungan
perkakas yang telah dibuat
untuk Projek 1, 2 & 3.

Papan Sambungan Wayar pelompat Modul suis tekan


Peranti Input/ Output
G (sebaris dengan 2) −
V (sebaris dengan 2)
S (2) S
Upload program & uji
PROJEK 4 PEMBAZ
Pengenalan
• PWM (Pulse Width Modulation): Turn ON/OFF
Pembaz (Buzzer)
• Pembaz Pasif (Piezo)
• Memerlukan denyutan (pulse) (ON dan OFF) untuk
beroperasi (PWM) - berbunyi
• Boleh menghasilkan bunyi nada yang berbeza (melodi)

PENGAWAL PWM PERANTI


OUTPUT
Papan Serasi
Arduino UNO Pembaz
Pin PWM (~)? (3, 5, 6, 9, 10, 11)
Pulse Width Modulation (PWM)?
• Satu cara untuk mendapatkan keputusan seperti analog
dengan cara digital.
• Contoh: mengawal kecerahan cahaya LED, mengawal kekuatan
bunyi, mengawal kelajuan motor, dan sebagainya.
• Nilai PWM: 0 – 255.
• Contoh dalam kes LED-Active HIGH yang bermaksud
• Nilai PWM 0 akan memadamkan nyalaan LED (minimum).
• Nilai PWM 255 akan menghasilkan nyalaan paling terang untuk LED
(maksimum).
• Nilai PWM 127 akan menghasilkan nyalaan separuh terang untuk LED
(50%).
Berbunyi tak?
(OFF sahaja)

Berbunyi tak?

Berbunyi tak?

Berbunyi tak?

Berbunyi tak?
(ON sahaja)
Pembaz pasif memerlukan denyutan
(pulse) (ON dan OFF) untuk beroperasi
– berbunyi
Info Elektronik
• Pembaz adalah sejenis peranti output yang boleh
mengeluarkan bunyi.
• Modul pembaz pasif tersebut mempunyai 3 pin
tetapi hanya 2 pin yang akan digunakan iaitu
pin (-) yang akan disambungkan kepada GND dan
pin (S) yang akan disambungkan dengan pin PWM.
S=+
PWM
(0 - 255)
GND
Litar Skematik
Fungsi PWM
PWM
int analogWrite (pin, nilai);
Beberapa pin Arduino sokong Pulse
Width Modulation (3, 5, 6, 9, 10, 11).
Pin tersebut akan ON dan OFF dalam
TIADA Initialize di dalam masa yang sangat cepat supaya
void setup () kelihatan seperti keluaran analog.
Nilai nombor adalah antara 0 (duty
cycle ~0volt) dan 255 (duty cycle
~5volt)

Initialize di dalam void


loop ()
Algoritma
MULA
ULANG SELAMANYA
Bunyikan pembaz
Tunggu 1 saat
Diamkan pembaz
Tunggu 1 saat
TAMAT
Program
Litar Simulasi
Sambungan Perkakas
Jangan buka sambungan
perkakas yang telah dibuat
untuk Projek 4.

S=+

Papan Sambungan Wayar pelompat Modul pembaz pasif


Peranti Input/ Output
G (sebaris dengan 5) −

S (5) S
Wayar merah tidak
disambungkan
PROJEK 5 SERVO
Pengenalan
• Motor servo bekerja berasaskan
prinsip PWM (Pulse Width
Modulation).
• Sesuai untuk menghasilkan putaran
yang memerlukan sudut yang tepat.
• Servo mempunyai pelbagai jenis dan
dalam modul ini fokus kita hanya
kepada micro servo yang berputar di
antara sudut 0 hingga 180 darjah
sahaja (𝑶° − 𝟏𝟖𝟎° ).
PENGAWAL PERANTI
OUTPUT
Papan Serasi
Arduino UNO Servo
Litar Skematik
Algoritma
MULA
ULANG SELAMANYA
Putar motor servo pada sudut 90 darjah
TAMAT
Program
Litar Simulasi
Sambungan Perkakas
Jangan buka sambungan
perkakas yang telah dibuat
untuk Projek 5.

Papan Sambungan Wayar Motor servo


Peranti Input/ Output
G (sebaris dengan 3) GND
V (sebaris dengan 3) VCC (+5V)
S (3) SIGNAL
PROJEK 6
TONG SAMPAH AUTOMATIK
Pengenalan
• Gabungan Projek 1 hingga Projek 5 yang terdiri
daripada pelbagai jenis peranti output dan peranti
input yang akan dikawal oleh papan serasi Arduino
UNO.
• Hanya mengfokuskan kepada sistem elektronik,
sistem kawalan dan pengaturcaraan. Anda boleh
menggunakan kreativiti anda untuk membina
sistem mekanikal (bekas dan penutup tong
sampah) secara sendiri dengan menggunakan
bahan terbuang seperti kotak atau tong sampah
sedia ada.
Penyataan Masalah
• Tong sampah  Bakteria & Kuman  Tangan
pengguna
• Kanak-kanak kecil  Buka Tong Sampah 
Mudah/ Susah?
Penyelesaian
• Cipta tong sampah automatik yang penutupnya
boleh dibuka sendiri tanpa perlu tangan pengguna
memegang/ hampir dengan penutup berkenaan
yang terdedah dengan bakteria dan kuman.
• Cipta tong sampah yang mudah digunakan oleh
kanak-kanak kecil di mana penutupnya boleh
terbuka sendiri secara automatik.
Cara Kerja
• Modul Suis Tekan akan digunakan oleh pengguna untuk
menentukan penutup pada robot tong sampah perlu dibuka atau
ditutup.
• Papan Serasi Arduino UNO akan digunakan sebagai pengawal
dimana isyarat input yang dihantar oleh modul suis tekan akan
diproses untuk menentukan pergerakan motor servo untuk
membuka atau menutup penutup pada robot tong sampah.
• Modul LED akan digunakan sebagai penunjuk kepada pengguna
dengan mengeluarkan cahaya berwarna hijau (penutup dibuka)
atau merah (penutup ditutup).
• Modul Pembaz akan digunakan sebagai penunjuk kepada
pengguna dengan mengeluarkan bunyi sebagai tanda amaran
kepada pengguna supaya menyegerakan proses membuang
sampah sebelum penutup ditutup secara automatik setelah satu
jangka masa yang telah ditetapkan.
Rajah Blok Projek PERANTI
OUTPUT

PWM Modul
0 – 255 Pembaz

PERANTI
PENGAWAL PERANTI
INPUT
Input Digital Output Digital OUTPUT
HIGH (1)/ Papan Serasi HIGH/ LOW
Modul Suis
LOW (0) Arduino UNO Modul LED
Tekan

Sudut*
0 – 180 PERANTI
OUTPUT
* Sebenarnya, isyarat yang dihantar ke motor servo adalah
dalam bentuk denyutan digital. Walaubagaimanapun, Motor Servo
perkara ini tidak sesuai dijelaskan dalam penulisan ini.
Sambungan Perkakas
Algoritma & Program
• Cuba bina sendiri algoritma & atur cara (program)
sistem palang automatik anda dengan
menggunakan ilmu yang telah dipelajari dalam
Projek 1 – Projek 5.
• Setelah 15 minit anda menguji diri anda dan
sekiranya masih tidak berjaya, baru anda boleh
merujuk muka surat seterusnya.
Algoritma
Contoh Program
Panduan untuk sistem mekanikal
(Google! YouTube!)
“Sistem mekanikal yang menghubungkan penutup dan
motor servo adalah sama. Bezanya adalah anda
setakat ini masih menggunakan suis tekan sebagai
peranti input untuk sistem Tong Sampah Automatik di
mana pengguna tidak perlu lagi membuka penutup
tong sampah tetapi hanya perlu menekan suis tekan
yang disediakan.”
Mekatronik atau tidak?

Sistem tong sampah


automatik yang
dibangunkan dengan
menggunakan
DRABOT RBT (Kit
Mikropengawal)
Ya, anda boleh gunakan projek ini
juga untuk projek KSSM RBT
Tingkatan 3, Reka Bentuk Mekatronik
& Penghasilan Produk (demo).
✓Elektrik & elektronik
✓Sistem kawalan
✓Pengaturcaraan
✓Mekanikal
ALHAMDULILLAH
KITA BOLEH BUAT BANYAK LAGI PENAMBAHBAIKAN KE ATAS REKA
BENTUK SISTEM TONG SAMPAH AUTOMATIK DENGAN MENGGUNAKAN
KOMPONEN-KOMPONEN LAIN YANG ADA PADA DRABOT RBT (KIT
MIKROPENGAWAL).
CONTOH, KITA BOLEH MENGGUNAKAN MODUL SENSOR ULTRASONIC
UNTUK MENGESAN OBJEK BAGI MEMBUKA PENUTUP TONG SAMPAH
SECARA AUTOMATIK ATAU UNTUK MENGUKUR TAHAP KANDUNGAN BAHAN
BUANGAN DI DALAM TONG SAMPAH.
KITA BOLEH TAMBAH MODUL LDR & RGB LED UNTUK PASTIKAN ADA
CAHAYA PADA TONG SAMPAH AUTOMATIK PADA WAKTU MALAM.
DAN BANYAK LAGI….
KEPADA SEMUA PEMBELI DRABOT RBT (KIT MIKROPENGAWAL), ANDA
BOLEH MERUJUK MODUL LATIHAN LENGKAP YANG ADA PADA PRODUK
TERSEBUT UNTUK MERUJUK BANYAK LAGI CONTOH PROJEK YANG
MENARIK. ADA 12 CONTOH PROJEK!
Peranti Input (Mengesan)

Modul suis tekan Modul LDR Modul sensor ultrasonic


(2 unit) (sensor cahaya) (1 unit)
(1 unit)

Modul sensor putaran Modul sensor suhu &


(1 unit) kelembapan (1 unit)
Peranti Output (Tindakan)

Modul LED –
Merah, Kuning, Hijau (1 unit)

Motor servo
(1 unit)

Modul Pembaz Pasif Modul RGB LED


(1 unit) (1 unit)
PROJEK 7 PENGESAN JARAK
Pengenalan
• Sensor ultrasonic adalah sejenis
peranti input yang boleh digunakan
untuk mengesan jarak objek dengan
sensor.
• Sensor ultrasonic menggunakan
konsep pancaran ultrasound melalui
udara dan akan pantul semula jika
ada yang menghalang.
• Menggunakan jumlah masa
pantulan dan kelajuan bunyi untuk
menukar kepada nilai jarak dalam
m/cm/mm.
ℎ𝑖𝑔ℎ 𝑙𝑒𝑣𝑒𝑙 𝑡𝑖𝑚𝑒

Untuk menjana ultrasound, anda perlu menetapkan Trig pada HIGH selama
10 µs. Ini akan mengeluarkan ledakan sonic untuk 8 kitaran yang akan
bergerak pada kelajuan bunyi dan ia akan diterima di pin Echo. Pin Echo akan
mengeluarkan masa dalam mikrosaat untuk gelombang bunyi yang dilalui.
ℎ𝑖𝑔ℎ 𝑙𝑒𝑣𝑒𝑙 𝑡𝑖𝑚𝑒 × 𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 𝑜𝑓 𝑠𝑜𝑢𝑛𝑑
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑚 =
2
Velocity of sound = 340 m/s

high level time (microseconds)


𝑫𝒊𝒔𝒕𝒂𝒏𝒄𝒆 𝒄𝒎 =
𝟓𝟖
Sambungan Perkakas

Papan Sambungan Wayar pelompat Sensor ultrasonic


Peranti Input/ Output
G (sebaris dengan 6) Gnd
S (6) Echo
S (7) Trig
V (sebaris dengan 7) Vcc
Fungsi Komunikasi Siri
• Untuk tetapan baud rate (berapa laju) mesti di dalam void
setup():
• Serial.begin (9600);
• 9600 boleh digantikan dengan nilai yang lain seperti 57600, 115200,
dan lain-lain.

• Untuk paparkan data:


• Serial.println (X);
• X boleh jadi apa-apa variable atau nilai.
Program
• Rujuk fail program Projek_7_Pengesan_Jarak.ino
Cara buka
Serial Monitor
Pastikan baud rate mempunyai nilai yang sama
seperti di dalam program. Contoh: 9600
PROJEK 8
TONG SAMPAH AUTOMATIK V2
Pengenalan
• Gabungan Projek 1 hingga Projek 7 yang terdiri
daripada pelbagai jenis peranti output dan peranti
input yang akan dikawal oleh papan serasi Arduino
UNO.
• Hanya mengfokuskan kepada sistem elektronik,
sistem kawalan dan pengaturcaraan. Anda boleh
menggunakan kreativiti anda untuk membina
sistem mekanikal (bekas dan penutup tong
sampah) secara sendiri dengan menggunakan
bahan terbuang seperti kotak atau tong sampah
sedia ada.
Rajah Blok Projek PERANTI
OUTPUT
Input Digital
PERANTI PWM Modul
HIGH (1)/
INPUT 0 – 255 Pembaz
LOW (0)

Modul Suis
Tekan PENGAWAL PERANTI
Output Digital OUTPUT
Papan Serasi HIGH/ LOW
PERANTI Arduino UNO Modul LED
INPUT

Input & Output Sudut*


Modul Sensor PERANTI
Digital 0 – 180
Ultrasonik OUTPUT
HIGH (1)/ LOW (0)
Motor Servo
Tugasan
• Nyatakan Masalah, Penyelesaian, Cara Kerja anda
sendiri untuk projek ini.
• Bina algoritma & program (atur cara) anda sendiri
untuk projek ini.
• Buat sambungan perkakas anda sendiri.
• Uji projek anda.
• Bentang projek anda.
https://bit.ly/order_drabotrbt
TERIMA KASIH
MOHON SEBARKAN ILMU INI
+6011-51108741
facebook.com/drabot.robotics
YouTube DRABOT

Anda mungkin juga menyukai