Anda di halaman 1dari 183

DRABOT INVENTOR KIT

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
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
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
1. PENGENALAN
Mekatronik? Robotik?
• Mekatronik: satu bidang yang menggabungkan
disiplin ilmu:
• Mekanikal
• Elektrik & elektronik
• Sistem kawalan dan
• Pengaturcaraan
• untuk menghasilkan suatu sistem yang berfungsi
secara automatik.
• Robotik adalah salah satu pecahan bidang
Mekatronik.
Mekatronik atau tidak?

Sistem palang
automatik yang
dibangunkan dengan
menggunakan
komponen DRABOT
Inventor Kit
Elemen-elemen Mekatronik
Fokus modul latihan:
• Mekanikal
✓Elektrik & elektronik
✓Sistem kawalan
✓Pengaturcaraan
2. 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
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.
Kegunaan mikropengawal…
Contoh produk menggunakan
mikropengawal

Set Pendidikan Mesin Basuh Lampu Isyarat


Robotik
(DRABOT BOT)
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
pin PWM yang diwakili symbol ~.
Papan Sambungan Peranti Input/
Output

PAPAN PERANTI PAPAN SERASI


INPUT & OUTPUT ARDUINO UNO
G GND
V 5V
S 0 – 13/ A0 – A5
5V? GND?
> BEKAL KUASA KEPADA PERANTI INPUT/ OUTPUT
Sambungan antara dua papan…
Peranti Asas Input (Mengesan)

Modul suis tekan Modul LDR Modul sensor ultrasonic


(sensor cahaya)

Modul sensor putaran Modul sensor suhu &


kelembapan
Peranti Asas Output (Tindakan)

Modul LED –
Merah, Kuning, Hijau

Motor servo

Modul Pembaz Pasif Modul RGB LED


Wayar Pelompat

Jadikan wayar pelompat jenis


Dupont seperti gambar di atas
(20 helai/ 1 papan)

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

Peranti
output

Peranti
4 pin
3. 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: KSSM RBT > 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 ☺
4. 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.
GND
Digital Output (HIGH/ LOW)
Digital Output (HIGH/ LOW)
Digital Output (HIGH/ LOW)

PENGAWAL Digital PERANTI


(HIGH/ LOW) OUTPUT
Papan Serasi
Arduino UNO LED
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.
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.
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 ☺
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
5 topik utama di dalam sistem
terbenam (Embedded System)
1. Output Digital
2. Input Digital
3. Pulse Width Modulation (PWM)
4. Komunikasi Siri (Serial Communication)
5. Input Analog
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)
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
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
5 topik utama di dalam sistem
terbenam (Embedded System)
1. Output Digital
2. Input Digital
3. Pulse Width Modulation (PWM)
4. Komunikasi Siri (Serial Communication)
5. Input Analog
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.

PWM
(0 - 255)
GND
Sambungan Perkakas
Jangan buka sambungan
perkakas yang telah dibuat
untuk Projek 4.

Papan Sambungan Wayar pelompat Modul pembaz pasif


Peranti Input/ Output
G (sebaris dengan 5) −

S (5) S
Wayar merah tidak
disambungkan
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
5 topik utama di dalam sistem
terbenam (Embedded System)
1. Output Digital
2. Input Digital
3. Pulse Width Modulation (PWM)
4. Komunikasi Siri (Serial Communication)
5. Input Analog
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
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
Algoritma
MULA
ULANG SELAMANYA
Putar motor servo pada sudut 90 darjah
TAMAT
Program
PROJEK 6
SISTEM PALANG 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 secara sendiri (contoh: sistem
palang).
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 ☺
Contoh Program
PROJEK 7 PENGESAN JARAK
Pengenalan
• Sensor ultrasonic adalah sejenis
peranti input yang boleh digunakan
untuk mengesan jarak.
• 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
5 topik utama di dalam sistem
terbenam (Embedded System)
1. Output Digital
2. Input Digital
3. Pulse Width Modulation (PWM)
4. Komunikasi Siri (Serial Communication)
5. Input Analog
PROJEK 8 CAR REVERSE SYSTEM
Pengenalan
• Gabungan Projek 7 (sensor ultrasonic) dan Projek 4
(pembaz).
• Boleh rujuk projek-projek tersebut untuk
sambungan perkakas.
Contoh program
• Rujuk Projek_8_Car_Reverse_System.ino
PROJEK 9 WARNA-WARNI
Pengenalan
• Cahaya putih boleh dibentuk
dengan mencampurkan lampu
berwarna; kaedah yang paling
biasa ialah menggunakan
merah (red-R), hijau (green-
G), dan biru (blue-B) (RGB)
• RGB LED: Satu komponen yang
menggabungkan 3 warna LED
yang berbeza ☺
RGB LED
Sambungan Perkakas

Papan Sambungan Wayar pelompat Modul RGB LED


Peranti Input/ Output
G (sebaris dengan 11) GND
S (11) B
S (10) G
S (9) R
Contoh program
• Rujuk Projek_9a_Warna_Warni.ino
• Rujuk Projek_9b_Warna_Warni.ino
PROJEK 10 PENGESAN PUTARAN
Pengenalan
• Input Analog
• Modul sensor putaran yang
digunakan adalah jenis analog dan
terdiri daripada potentiometer:
memberikan rintangan yang
berbeza-beza apabila tombolnya
(knob) diputarkan.
• Nilai rintangan yang berubah ini
juga akan mengakibatkan nilai
voltan (signal analog) yang masuk
ke pin Input Analog pada papan
Arduino turut berubah.
PERANTI Input Serial
PENGAWAL PORT SIRI
INPUT Analog Communication (SERIAL PORT)
Papan Serasi
Potentiometer
Arduino UNO Komputer
(Rotation)
(Paparan data)
Apa itu ANALOG?
• Sistem bukan digital (atau analog) mewakili
maklumat menggunakan fungsi yang berterusan.
• Contoh signal jenis analog: suhu, kecerahan,
cahaya, kelembapan udara dan sebagainya.
• Penderia (sensor) digunakan untuk mengesan
signal jenis analog tersebut.
Analog sensor disambungkan ke
pin Input Analog (A0-A5)
Kenapa disambungkan ke pin Input
Analog (A0 – A5)?
Analog to Digital Converter (ADC)

0V – 5V 0 - 1023

A0/ A1/ A2/ A3/ A4/ A5 Bacaan 0 -1023 ini akan


(Analog Input pin) dipaparkan &
bergantung dengan
bacaan sensor.
Sambungan Perkakas
Jangan buka sambungan
perkakas yang telah dibuat
untuk Projek 10.

Papan Sambungan Wayar pelompat Modul sensor putaran


Peranti Input/ Output
G (sebaris dengan A0) GND
V (sebaris dengan A0) VCC
S (A0) OUT
Analog
ANALOG
int analogRead (pin);
Apabila pin Analog telah ditetapkan
sebagai INPUT, anda bole membaca
voltan tersebut. Nilai antara 0 (untuk 0
TIADA Initialize di dalam volt) dan 1023 (untuk 5 volt) akan
void setup () diterima.

di dalam void loop ()


Program
Putar knob sensor dan semak nilai yang dipaparkan di serial
monitor. Bacaan hanyalah di antara 0 – 1023. Kenapa?
5 topik utama di dalam sistem
terbenam (Embedded System)
1. Output Digital
2. Input Digital
3. Pulse Width Modulation (PWM)
4. Komunikasi Siri (Serial Communication)
5. Input Analog
PROJEK 11
PENGAWAL KECERAHAN LED
Pengenalan
• Gabungan Projek 10 (warna-warni) dan Projek 11
(pengesan putaran).
• Boleh rujuk projek-projek tersebut untuk sambungan
perkakas.
• Nilai yang terhasil kerana sensor putaran: 0 – 1023
• Nilai PWM yang diperlukan untuk kawal kecerahan
nyalaan RGB LED: 0 – 255
• Nilai analog (0-1023) yang dihasilkan akan dibahagi
secara adil ke nilai PWM (0-255) => map
PERANTI Input PWM
PENGAWAL PERANTI
INPUT Analog 0 - 255 OUTPUT
Papan Serasi
Potentiometer
Arduino UNO RGB LED
(Rotation)
PROJEK 12
PENGESAN CAHAYA AUTOMATIK
Pengenalan
• Konsep Sistem Lampu Malam Automatik
• Analog INPUT ↔ Digital OUTPUT
• Perintang peka cahaya (Light Dependent Resistor –
LDR) atau nama lain photocell adalah sensor yang
peka terhadap tahap kecerahan semasa.
• Rintangan LDR berubah apabila kecerahan cahaya
berubah.
• Maka, nilai voltan yang masuk ke pin Analog INPUT
pada papan Arduino juga turut berubah. Nilai akan
ditukar oleh ADC kepada nilai antara 0 – 1023.
Analog to Digital Converter (ADC)

0V – 5V 0 - 1023

A0/ A1/ A2/ A3/ A4/ A5 Bacaan 0 -1023 ini akan


(Analog Input pin) dipaparkan &
bergantung dengan
bacaan sensor.
Info Elektronik
• Modul LDR (sensor cahaya) adalah sejenis peranti input
untuk mengesan kecerahan cahaya.
• Modul LDR memerlukan kuasa untuk beroperasi dan
boleh didapatkan daripada papan serasi Arduino UNO
melalui sambungan pin 5V dan GND.

Analog
5V
GND
Sambungan Perkakas
Putuskan sambungan
wayar untuk sensor
putaran daripada Projek
12.

Papan Sambungan Wayar pelompat Modul suis tekan


Peranti Input/ Output
G (sebaris dengan A1) −
V (sebaris dengan A1)
S (A1) S
Fikirkan…
• Catatkan dulu bacaan yang dipaparkan di serial
monitor apabila modul LDR dibuka (terang) dan
ditutup dengan tapak tangan (gelap).
• Semakin gelap, bacaan semakin meningkat.
• Katakan ketika hampir gelap, bacaan adalah
500. Maka kita boleh menjadikan 500 ini
sebagai nilai sempadan. Ini kerana apabila
gelap, LED mesti dinyalakan.
Contoh
Program
PROJEK 13
PENGESAN SUHU DAN KELEMBAPAN
Pengenalan
• DHT11 adalah sensor untuk mengesan kelembapan
(humidity) & suhu (temperature).
• Kelembapan dibaca dalam %Relative Humidity (RH)
• Suhu dinilai dalam unit Celcius (C)
Kelebihan & Cabaran
menggunakan DHT11
• Signal keluaran daripada DHT11 berbentuk Digital
dan hanya memerlukan satu pin digital di papan
Arduino.
• Walaubagaimanapun, kerana satu pin sahaja
digunakan untuk memberi dua maklumat yang
berbeza iaitu kelembapan & suhu, tugas ini menjadi
kompleks dalam pengaturcaraan.
• Tugas ini boleh dimudahkan di dalam mBlock
dengan menggunakan library.
Info Elektronik
• Modul ini memerlukan kuasa untuk beroperasi dan boleh
didapatkan daripada papan serasi Arduino UNO melalui
sambungan pin 5V dan GND.

GND
5V
Digital
Sambungan Perkakas

Papan Sambungan Wayar pelompat Modul suis tekan


Peranti Input/ Output
G (sebaris dengan 4) −
V (sebaris dengan 4)
S (4) S
Add .ZIP Library
DHT_Library.zip (dalam folder
Projek 13…..)
Contoh
Program
Semak bacaan di serial monitor
TERIMA KASIH ☺
MOHON SEBARKAN ILMU INI ☺
+6011-51108741
engineering@drabot.com
facebook.com/drabot.robotics
www.drabot.com

Anda mungkin juga menyukai