Modul Pembelajaran Arduino
Modul Pembelajaran Arduino
AMALI MENGGUNAKAN
ARDUINO UNO R3
Edisi Pertama
MOHD MAAROF BIN MOHD ZAKARIA
PENGENALAN ARDUINO
Arduino adalah sumber terbuka, perkakasan komputer dan syarikat perisian, projek,
dan komuniti pengguna yang mereka bentuk dan mengeluarkan mikropengawal tunggal dan
kit mikropengawal untuk membina peranti digital dan objek interaktif yang dapat mengesan
dan mengawal objek dalam dunia fizikal. Produk projek diedarkan sebagai perkakasan dan
perisian sumber terbuka, yang dilesenkan di bawah GNU General Public License (LGPL) atau
GNU General Public License (GPL), membenarkan pembuatan papan litar Arduino dan
pengedaran perisian oleh sesiapa . Papan litar Arduino boleh didapati secara komersil dalam
bentuk yang telah disiapkan, atau sebagai alat do-it-yourself.
Projek Arduino bermula pada tahun 2003 sebagai program untuk pelajar-pelajar di
Institut Reka Bentuk Interaksi Ivrea di Ivrea, Itali, bertujuan untuk menyediakan cara yang
murah dan mudah bagi orang baru dan profesional untuk membuat peranti yang berinteraksi
dengan alam sekitar mereka menggunakan sensor dan penggerak (actuator). Contoh umum
peranti seperti ini yang dimaksudkan untuk penggemar pemula termasuk robot mudah,
termostat, dan pengesan gerakan.
Walaupun reka bentuk perkakasan dan perisian tersedia secara bebas di bawah lesen
copyleft, pemaju telah meminta agar nama Arduino menjadi eksklusif untuk produk rasmi dan
tidak digunakan untuk karya yang diperolehi tanpa izin. Dokumen dasar rasmi mengenai
penggunaan nama Arduino menekankan bahawa projek itu terbuka untuk menggabungkan
karya oleh orang lain ke dalam produk rasmi. Beberapa produk yang serasi Arduino
dikeluarkan secara komersil telah mengelakkan nama projek dengan menggunakan pelbagai
nama yang berakhir di -duino.
2
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Kebanyakan papan litar Arduino terdiri daripada mikropengawal AVR Atmel 8-bit
(ATmega8, ATmega168, ATmega328, ATmega1280, ATmega2560) dengan pelbagai memori
FLASH, pin, dan ciri-ciri. Arduino Due 32-bit, berdasarkan Atmel SAM3X8E diperkenalkan
pada 2012. Papan menggunakan pin tunggal atau dua baris atau sambungan pin lubang (Female
Header) yang memudahkan sambungan untuk pengaturcaraan dan dimasukkan ke dalam litar
lain. Ini boleh menyambung dengan modul tambahan yang dinamakan perisai. Perisai yang
banyak dan mungkin disusun mungkin boleh ditangani secara individu melalui bas siri I²C.
Kebanyakan papan termasuk pengatur linear 5 V dan pengayun kristal 16 MHz atau resonator
seramik. Sesetengah reka bentuk, seperti LilyPad, berfungsi pada 8 MHz dan mengetepikan
dengan pengawal voltan papan atas kerana batasan faktor-faktor tertentu.
Papan litar arduino mendedahkan kebanyakan pin I / O mikropengawal untuk digunakan oleh
litar lain. Diecimila, [a] Duemilanove, [b] dan semasa Uno menyediakan 14 pin I / O digital,
enam daripadanya boleh menghasilkan isyarat modulasi lebar denyut, dan enam input analog,
yang juga boleh digunakan sebagai enam digital I / O pin. Pins ini berada di bahagian atas
papan, melalui ketua wanita 0.1 inci (2.54 mm). Beberapa pelindung aplikasi plug-in juga
tersedia secara komersial. Arduino Nano, dan Lembaga Bare Bones yang serasi Arduino dan
Boarduino boleh memberikan pin header lelaki di bahagian bawah papan yang boleh
memasangkan papan roti tanpa solder.
Banyak Arduino yang serasi dan papan yang berasal dari Arduino wujud. Sesetengahnya
bersamaan dengan Arduino dan boleh digunakan secara bergantian. Banyak yang
meningkatkan Arduino asas dengan menambah pemandu output, sering digunakan dalam
pendidikan peringkat sekolah, untuk mempermudah membuat kereta dan robot kecil. Lain-lain
bersamaan elektrik tetapi mengubah faktor bentuk, kadang-kadang mengekalkan keserasian
dengan perisai, kadang-kadang tidak. Sesetengah varian menggunakan pemproses yang
berbeza, keserasian yang berlainan.
3
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pembangunan Perisian
Program untuk Arduino boleh ditulis dalam bahasa pengaturcaraan untuk pengkompil
yang menghasilkan kod mesin binari untuk pemproses sasaran. Atmel menyediakan
persekitaran pembangunan untuk mikropengawal mereka, AVR Studio dan Studio Atmel yang
lebih baru.
Satu program yang ditulis dengan IDE untuk Arduino dipanggil lakaran. Lakaran akan
disimpan pada komputer pembangunan sebagai fail teks dengan sambungan file .ino. Lakaran
Arduino Software (IDE) pra-1.0 disimpan dengan lanjutan .pde.
Perisian
Arduino C / C ++ minimum, seperti yang dilihat oleh programmer IDE Arduino, terdiri
daripada hanya dua fungsi.
4
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
void setup (): Fungsi ini dipanggil sekali apabila lakaran bermula selepas kuasa atau
semula. Ia digunakan untuk menginisialisasi pemboleh ubah, mod pin input dan output, dan
perpustakaan lain yang diperlukan dalam lakaran.
void loop (): void setup () telah dipanggil, fungsi void loop () dilaksanakan berulang
kali dalam program utama. Ia mengawal papan sehingga papan dimatikan atau diset semula.
Papan litar Arduino kebanyakan mengandungi diod pemancar cahaya (LED) dan
perintang yang dihubungkan antara pin 13 dan bumi, yang merupakan ciri mudah untuk banyak
ujian dan fungsi program. Program biasa untuk pemula Arduino programmer berkilau LED
berulang kali.
5
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
12 3
10 11
13 9
2
7
6
1
8
5 4
1. Mikropengawal ATMEL Mega328
Merupakan jenis mikropengawal yang digunakan untuk papan litar Arduino UNO ini.
Parameter Nilai
Jenis CPU 8-bit AVR
Prestasi 20 MIPS at 20 MHz[2]
Memori Flash 32 kB
SRAM 2 kB
EEPROM 1 kB
28-pin PDIP, MLF, 32-
Jumlah Pin
pin TQFP, MLF
Frekuensi Berfungsi Maksimum 20 MHz
Jumlah Saluran Sentuh 16
Pengambilalihan Perkakasan QTouch Tiada
Maksimum I/O pins 26
External interrupts 2
Antaramuka USB Tiada
Kelajuan USB –
6
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
2. 16 MHz Kristal
Merupakan pengayun frekuensi bagi papan litar Arduino UNO ini pada frekuensi 16 MHz.
Ianya digunakan untuk menghantar dan menerima maklumat dari peranti seperti
Bluetooth, Ethernet dan sebagainya. Tx bermaksud Transmitting dan Rx bermaksud
Receiving.
Arduino UNO hanya menggunakan pin 0 dan 1 untuk proses komunikasi secara siri
yang menggunakan UART (Universal Asynchronous Receiver/Transmitter).
PWM membolehkan anda mencipta isyarat analog yang palsu dengan menghidupkan
nilai pin tinggi dan rendah. Jumlah masa keseluruhan pin menghasilkan kesan tinggi
voltan purata isyarat.
Ini berfungsi dengan baik untuk memalapkan LED selagi kekerapan denyutannya lebih
cepat daripada penglihatan mata anda
Arduino UNO hanya boleh melakukan PWM pada pin: 3, 5, 6, 9, 10 dan 11.
Secara asasnya keluaran digital hanya mempunyai voltan sebanyak 0V atau 5V, maka
dengan PWM kita sebagai pengguna boleh mengubah nilai voltan keluaran mengikut
kehendak kita yang menyamai dengan nilai voltan analog.
7
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
analogWrite(pin,value)
4. Input Analog
Merupakan pin yang menerima voltan dari isyarat analog dari pengesan (SENSOR) yang
dipasang kepada Arduino. Nilai voltan yang dihantar oleh pengesan akan ditukarkan
kepada isyarat digital oleh sistem terbina di dalam Arduino. Nilai voltan yang dikesan di
bahagian Input analog ini akan ditukarkan kepada nilai digital 10bit. Nilai bit 00000000002
= 0 Desimal = 0V dan nilai 11111111112 = 1023 Desimal = 5V. Ini bermaksud nilai yang
dibaca dari input analog akan dibandingkan kepada nilai 5V dan setiap unit bit nilai voltan
adalah 4.88mV.
5. Pin Kuasa
Pin kuasa yang digunakan untuk membekalkan kuasa pada unit luar seperti pengesan
(Sensor) atau apa-apa peranti yang akan disambungkan kepada input analog. Selain dari
itu terdapat juga pin GND iaitu Ground atau Bumi yang perlu disambungkan kepada semua
komponen elektronik yang berkaitan dengan Arduino sebagai pelengkap litar.
Pin kuasa juga boleh menerima voltan luar pada pin Vin sehingga nilai 20V(maksimum).
Cip ini menjadikan voltan masukan yang tinggi dihadkan kepada nilai 3.3V dengan arus
50mV.
8
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
7. Cip Kuasa 5V
Cip ini menjadikan voltan masukan yang tinggi dihadkan kepada nilai 5V dengan arus
20mV.
Merupakan sambungan yang memerlukan kuasa dari sambungan bateri atau adaptor kuasa
yang bernilai antara 9V sehingga 20V. Namun begitu nilai yang optimum adalah antara
9V hingga 12V.
9. LED kuasa
Merupakan sambungan antara PC dengan papan litar Arduino. Ianya digunakan untuk
menghantar program kepada papan litar dan memberi kuasa melalui sambungan USB.
Cip yang diperlukan untuk memproses maklumat yang dihantar dari USB komputer dan
dipadankan dengan papan litar Arduino.
Butang untuk set semula papan litar sekiranya mempunyai ralat program atau papan litar
tidak berfungsi. Walaupun butang ini ditekan tetapi program sedia ada di dalam memori
tidak akan terpadam kecuali dengan memprogram semula mikropemproses Arduino ini.
Sekiranya komunikasi Tx dan Rx digunakan menggunakan pin 0 dan 1 pada I/O digital
LED ini akan menyala setiap kali ada maklumat yang dihantar dan diterima dari peranti
yang disambungkan.
9
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Sebelum kita memulakan amali Arduino ini beberapa perkara yang perlu dilakukan
iaitu anda perlu memasang perisian yang mesti digunakan untuk memprogram Arduino anda.
Anda boleh pergi ke Internet Browser dan menaip “Arduino IDE” atau boleh pergi ke link
https://www.arduino.cc/en/Main/Software dan memuat turun aplikasi Arduino IDE yang
terbaru atau anda juga boleh memuat turun versi yang lama. Versi terbaru adalah Arduino IDE
1.8.3.
Setelah anda memasang perisisan Arduino IDE, sambungkan papan Arduino anda pada
port USB untuk verifikasi Driver.
10
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
----------------------------------------------------------------------------------------------------------------
Untuk yang menggunakan Arduino Compatible Board seperti gambar dibawah, sila
muat turun driver pada link ini https://goo.gl/kNbXnz dan memasang driver tersebut
untuk menggunakan papan Arduino tersebut.
----------------------------------------------------------------------------------------------------------------
Setelah anda memasang perisian Arduino IDE, akan terdapat ikon shortcut pada desktop
komputer anda untuk memudahkan anda menggunakan perisian ini pada masa akan datang.
Sila klik pada ikon tersebut untuk memulakan program.
11
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Anda perlu set dahulu papan Arduino anda sebelum anda boleh melakukan apa-apa program.
Untuk set papan Arduino, anda perlu klik pada menu Tools → Board → Arduino/Genuino
UNO.
Kemudian anda perlu tetapkan port papan Arduino, anda perlu klik pada menu Tools → Port:
→ (pilih port yang ada Arduino UNO)
Untuk menguji papan litar anda boleh digunakan, cuba klik pada butang untuk
memasukan program default pada papan litar anda. Jika berjaya paparan seperti di sebelah akan
terhasil.
12
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Anda telah berjaya memuat naik program pertama papan Arduino anda. Mari kita
muat naikkan satu program mudah dari perisian Arduino IDE.
Untuk mencuba satu program contoh yang telah disediakan oleh Arduino team, anda perlu klik
pada File → Examples → 01.Basics → Blink. Anda akan dipaparkan satu paparan baru yang
mempunyai program penuh untuk membuatkan LED di atas papan Arduino anda berkelip.
Klik pada untuk memuat naikkan program tersebut dan lihat perubahan yang berlaku pada
papan Arduino anda.
13
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Anda perlu menaip alamat laman web “https://www.tinkercad.com/” pada web browser anda
untuk menggunakan aplikasi simulasi Arduino.
Klik pada Sign Up untuk mendaftar akaun secara percuma sebelum anda menggunakan
aplikasi ini. Aplikasi ini disediakan oleh Autodesk secara percuma dan tidak boleh digunakan
secara komersial dan hanya untuk penggunaan persedirian sahaja. Anda juga boleh mendaftar
dengan menggunakan laman sosial anda seperti Facebook dan sebagainya.
14
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Setelah anda log masuk dengan menggunakan login anda, paparan kawasan kerja anda adalah
seperti di bawah.
Untuk memulakan reka bentuk litar papan Arduino, anda perlu memilih butang Circuits. Klik
pada Create Circuit.
Tugasan
Objektif : Memasang satu litar Arduino Uno berserta dengan perintang dan LED.
Fungsi Litar : LED akan berkelip-kelip setiap satu saat (boleh diubah mengikut kehendak)
Komponen : 1 x Arduino Uno, 1 x perintang 220Ω, 1 x LED, 2 x kabel penyambung.
15
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
16
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Kemudian menggunakan fungsi Search Bar, taip Breadboard dan masukkan ke ruang kerja.
17
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Seterusnya anda boleh mencari perintang dan LED dan letakkannya di paparan Breadboard
seperti gambar di bawah.
Anda boleh menukarkan warna LED dan nilai perintang dengan klik pada komponen tersebut
dan akan dipaparkan properties komponen yang anda pilih.
18
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Menukar nilai perintang dan serta merta warna jalur perintang akan berubah mengikut nilai
yang dimasukkan.
Anda perlu menyambungkan kabel dari Arduino Uno ke Breadboard untuk menjalankan fungsi
LED berkelip-kelip. Sambungan adalah seperti gambar di bawah.
Secara default, kabel yang disediakan berwarna hijau, dan anda boleh menukar warna kabel
tersebut dengan klik pada kabel dan ubah warna mengikut keperluan anda.
19
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Sekarang kita akan mula menaip aturcara bagi menjadikan sambungan LED kita akan berfungsi
mengikut objektif. Untuk memulakan pengaturcaraan, klik pada Code Editor.
Untuk membesarkan ruangan untuk anda menaip pengaturcaraan, anda boleh klik dan tarik ke
atas ruangan pengaturcaraan seperti gambar di bawah.
Secara default, akan ada pengaturcaraan asas LED Blink seperti yang anda buat pada tugasan
semasa pengenalan Arduino IDE di atas pada mukasurat 13.
20
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
/* fungsi setup semasa anda memulakan papan atau semasa anda menekan butang
reset */
void setup() {
/* menetapkan pin sambungan 12 sebagai output digital. Bergantung kepada
sambungan pada papan Arduino */
pinMode(12, OUTPUT);
}
}
a. bahagian pengaturcaraan yang perlu ada character { untuk membuka pengaturcaraan
dan perlu character } untuk menutup pengaturcaraan.
4. Character ( ; )
a. Ianya digunakan setelah habis satu ayat pengaturcaraan bagi menutup arahan
pengaturcaraan tersebut. Jika ianya tidak diletakkan diakhir ayat pengaturcaraan akan
berlaku errata.
Setelah anda menaip pengaturcaraan, anda boleh mengsimulasikan litar anda dengan menekan
butang Start Simulation.
21
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Anda akan melihat LED yang berfungsi semasa simulasi sedang berlaku. Anda boleh
meneruskan tugasan ini dengan menyambungkan semua komponen yang telah disimulasikan
ke papan Arduino sebenar dan menggunakan fungsi Copy & Paste untuk pengaturcaraan yang
telah ditaip ke perisian Arduino IDE.
Pada LED akan dipaparkan satu errata dengan tanda ! disebelah komponen, menunjukkan
akan berlaku sesuatu yang tidak bagus untuk komponen. Selalunya jika disambungkan secara
terus dengan papan Arduino tanpa perintang, LED akan terbakar kerana arus yang tinggi
mengalir pada LED. Fungsi perintang adalah untuk mengurangkan voltan pada LED dan
arus yang mengalir ke LED semasa litar sedang berfungsi.
22
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Untuk menamakan projek yang telah anda buat sebelum ini anda perlu pergi ke laman
permulaan tinker circuits. Secara default sistem akan memberikan nama secara rawak dan anda
boleh menukarkan nama secara manual.
Letakkan kursor di atas projek yang hendak ditukarkan nama seperti dibawah sehingga muncul
ikon gear dan perkataan options. Klik pada ikon gear tersebut.
23
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pilih Properties.
Anda juga boleh menukarkan Public access setting kepada public dah ianya boleh diakses oleh
sesiapa sahaja sebagai rujukan.
24
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Amali 1
Tajuk : LED dengan fungsi togel
Objektif : Menyalakan LED dengan fungsi Togel
Fungsi litar : Apabila suis ditekan LED yang menyala akan terpadam, dan apabila LED
terpadam ia akan bernyala setelah suis ditekan semula.
Gambarajah penyambungan litar
U1 1 Arduino Uno R3
S1 1 Pushbutton
D1 1 Yellow LED
R2 1 10 kohm Resistor
Jp 5 Jumper Cable
25
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pengaturcaraan
void setup()
{
pinMode(inPin, INPUT);
pinMode(outPin, OUTPUT);
}
void loop()
{
reading = digitalRead(inPin);
// if the input just went from LOW and HIGH and we've waited long enough
// to ignore any noise on the circuit, toggle the output pin and remember
// the time
if (reading == HIGH && previous == LOW && millis() - time > debounce) {
if (state == HIGH)
state = LOW;
else
state = HIGH;
time = millis();
}
digitalWrite(outPin, state);
previous = reading;
}
26
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Amali 2
Tajuk : LED dengan fungsi Pulse Width Modulation (PWM)
Objektif : Menyalakan LED pada kecerahan yang berbeza
Fungsi litar : LED akan berubah kecerahan mengikut masa yang telah ditetapkan
dengan menggunakan fungsi PWM.
Gambarajah penyambungan litar
R1 1 1 kohm Resistor
D1 1 Blue LED
U1 1 Arduino Uno R3
Jp 2 Jumper Cable
27
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pengaturcaraan
// Pin 11 has a PWM
// give it a name:
int led = 11;
28
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Amali 3
Tajuk : Running LED
Objektif : Menyalakan LED mengikut giliran
Fungsi litar : LED akan menyala mengikut giliran dan berpatah balik
Gambarajah penyambungan litar
D1,D2,D3,
D4,D5,D6, 8 Green LED
D7,D8
R1,R2,R3,
220 ohm
R4,R5,R6, 8
Resistor
R7,R8
U2 1 Arduino Uno R3
Jp 17 Jumper Cable
29
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pengaturcaraan
boolean t = true;
int i = 12;
void setup()
{
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
// pinMode(4,OUTPUT);
}
void loop()
{
digitalWrite(i,HIGH);
delay(50);
digitalWrite(i,LOW);
if(t == true)
{
i = i - 1;
}
else
{
i = i + 1;
}
if(i < 5)
{
i = 6;
t = false;
}
if(i > 12)
{
i = 11;
t = true;
}
}
30
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Amali 4
Tajuk : Litar Pengesan Suhu dengan Serial Monitor
Objektif : Mengesan suhu menggunakan pengesan suhu LM35
Fungsi litar : Pengesan suhu LM35 akan mengesan suhu sekeliling dan menukarkannya
kepada isyarat analog dan Arduino akan memproses maklumat analog itu dan
dipaparkan pada serial monitor IDE.
Gambarajah penyambungan litar
U2 1 Arduino Uno R3
Jp 3 Jumper Cable
31
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pengaturcaraan
float temp;
int tempPin = A0; //arduino pin used for temperature sensor
void setup()
{
pinMode(tempPin, INPUT);
Serial.begin(9600); // baud setting for serial connection
}
void loop()
{
temp = analogRead(tempPin);
Serial.print("Analog Reading : ");
Serial.println(temp); // display temperature reading at serial connection
temp = (temp *5.0*100.0)/1024.0; //calculate the temperature in Celsius
Serial.print("Temperature : ");
Serial.print(temp); // display temperature in celcius
Serial.println(" Celcius");
delay(1000); // delay in between reads for stability
}
32
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Amali 5
Tajuk : Litar Pengesan Cahaya dengan LED
Objektif : Mengesan cahaya dan menyalakan LED
Fungsi litar : LDR akan mengesan cahaya dan akan menyalakan LED pada kecerahan
cahaya yang tertentu.
Gambarajah penyambungan litar
U1 1 Arduino Uno R3
R1 1 10 kohm Resistor
D1 1 Red LED
R2 1 Photoresistor (LDR)
Jp 6 Jumping Cable
33
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pengaturcaraan
void setup()
{
Serial.begin(9600); // Start Serial.
pinMode(13, OUTPUT);
}
void loop()
{
int A = analogRead(A0);
Serial.println(A);// Display serial results in serial monitor.
if (A < 500 )
{ // Change 100 to the number depending on the light in your area.
digitalWrite(13, HIGH);
}
else
{
digitalWrite(13, LOW);
}
}
34
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Amali 6
Tajuk : Litar Pengesan Cahaya dengan LED, Buzzer dan Serial Monitor.
Objektif : Mengesan cahaya dan menyalakan LED dan membunyikan Buzzer
Fungsi litar : LDR akan mengesan cahaya dan akan menyalakan LED pada kecerahan
cahaya yang tertentu dan membunyikan buzzer.
Gambarajah penyambungan litar
U1 1 Arduino Uno R3
D1 1 Blue LED
R2 1 10 kohm Resistor
R3 1 Photoresistor (LDR)
Jp 8 Jumper Cable
35
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pengaturcaraan
const int ledPin = 12;
const int buzzerPin = 13;
const int ldrPin = A0;
void setup ()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ldrPin, INPUT);
}
void loop()
{
int ldrStatus = analogRead(ldrPin);
if (ldrStatus >= 400)
{
tone(buzzerPin, 100);
digitalWrite(ledPin, HIGH);
delay(100);
noTone(buzzerPin);
digitalWrite(ledPin, LOW);
delay(100);
Serial.println("----------- ALARM ACTIVATED -----------");
}
else
{
noTone(buzzerPin);
digitalWrite(ledPin, LOW);
Serial.println("ALARM DEACTIVATED");
}
36
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Amali 7
Tajuk : Litar Pengesan air dengan LED, dan Buzzer.
Objektif : Mengesan kehadiran air dan menyalakan LED dan membunyikan Buzzer
Fungsi litar : Kabel akan mengesan air dan akan menyalakan LED dan membunyikan
buzzer. (Gantikan suis kepada kabel jumper)
Gambarajah penyambungan litar
U1 1 Arduino Uno R3
R1
2 220 ohm Resistor
R2
D1 1 Red LED
PIEZO1 1 Piezo
Jp 8 Jumper Cable
37
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)
MODUL PENGENALAN DAN AMALI MENGGUNAKAN ARDUINO UNO R3
Pengaturcaraan
int Grove_Water_Sensor = 2;
int LED = 13;
int Buzzer = 4;
void setup() {
pinMode(Grove_Water_Sensor, INPUT); // The Water Sensor is an Input
pinMode(LED, OUTPUT); // The LED is an Output
pinMode(Buzzer, OUTPUT);
}
void loop() {
/* The water sensor will switch LOW when water is detected.
Get the Arduino to illuminate the LED and activate the buzzer
when water is detected, and switch both off when no water is present */
if( digitalRead(Grove_Water_Sensor) == LOW) {
digitalWrite(LED,LOW);
digitalWrite(Buzzer,LOW);
}else {
digitalWrite(LED,HIGH);
digitalWrite(Buzzer,HIGH);
}
}
38
© Mohd Maarof bin Mohd Zakaria 2017 (Edisi Pertama Ogos 2017)