KURSUS ASAS ARDUINOSIRI 2
4 OGOS 2024
Ts.Mohd Fakharul Helmi bin Mohamad Saad
Pensyarah
Kolej Komuniti Bandar Baharu
Kementerian PendidikanTinggi
1
2.
JADUAL KURSUS
Objektif
Kursus
Pada akhirpengajaran peserta dapat :
1. Pendedahan kepada kemahiran yang berteras IR4.0
2. Mengaplikasikan Arduino pada projek yang diberikan.
Masa
Tarikh/Hari
8.00 Pg –
8.30Pg
(1/2jam)
8.30 Pg –
9.30Pg
( 1 jam)
9.30Pg-1.00ptg
(2 1/2jam)
1.00ptg
-
2.00ptg
2.00ptg-
3.00ptg
(1Jam)
3.00PTG –
5.00Ptg
(2Jam)
4 OGOS 2024
/ AHAD
Pendaftara
n /Sarapan
Pagi
Teori
Chapter 1 :
Introduction
Chapter 2 :
How To start
Amali
Chapter 3 : Hands-
on Activity
Amali 1-4 : On Led
Amali 5 : Input
Digital
Amali 6.1-6.3:
Analog Input
REHAT
Amali
Amali 7 -9:
Servo Motor
Amali 10:
Lcd Display
Amali 11:
Ultra Sonic
Sensor
Projek 1
▪ Bersurai
2
3.
Apa itu Arduino?
❑Arduino- CIP MicroController (Mikro-Pengawal) yang boleh diprogramkan
dan mempunyai RAM dan Program-Memory.
❑Board Arduino hanya mempunyai circuit support seperti Voltage-
Regulator dan Serial-USB Programming Chip.
❑Menggunakan Chip MicroController AtMEGA328P
❑Arduino boleh diprogramkan sehingga 10,000 kali melalui Software Arduino
IDE yang PERCUMA dan Software ini boleh di-Download secara percuma di
lawan-web https://www.arduino.cc/en/software/
CHAPTER 1 : INTRODUCTION
3
Microcontroller vs Microprocessor
ParametersMicrocontroller Microprocessor
cost Cheap Expensive
Speed Slow (In MHz range) Fast (InGHz Range)
Purpose Special General
Dependency Single Chip has almost all
component
Need extra components to
be able to interact
Resources Limited Unlimited
8
ARDUINO UNO SPECIFICATION
❑Microcontroller: ATmega328P
❑ Operating Voltage: 5V
❑ Input Voltage (recommended): 7-12V
❑ Inout Voltage (limit): 6-20V
❑ Digital I/O Pins: 14 (of which 6 provide PWM output)
❑ PWM Digital I/O Pins: 6
❑ Analog Input Pins: 6
❑ DC Current per I/O Pin: 20 mA
❑ DC current for 3.3V Pin: 50 mA
❑ Flash Memory: 32 KB (ATmega328P)
❑ SRAM: 2 KB (ATmega328P)
❑ EEPROM: 1 KB (ATmega328P)
❑ Clock Speed: 16 MHz
❑ LED_BUILTIN: 13
❑ Length: 68.6 mm
❑ Width: 58.4 mm
❑ Weight: 25 g
11
12.
CHAPTER 2 :HOW TO START ???
Menggunakan simulationSTART
•https://www.tinkercad.com/dashboard
•Proteus
•Fritzing
12
ASAS DALAM CODINGARDUINO
• Defining Area dan Sub-
Routine Area hanya
merupakan kawasan untuk
coding-coding supportive
dan tambahan pada
penggunaan-penggunaan
yang lebih advance.
• Terutamanya bila mula
menggunakan Library
Arduino.
• Void Setup() dan Void
Loop() merupakan 2
komponen utama dalam
struktur coding.
• IDE tidak dapat upload
program dalam Arduino jika 2
komponen ini tiada.
20
LIGHT EMITTING DIODE(LED)
Light-emitting diode (LED) ialah peranti semikonduktor yang
mengeluarkan cahaya apabila arus elektrik melaluinya
CHAPTER 3 : HANDS-ON
ACTIVITY
27
PUSH BUTTON
• PushButton - ialah mekanisme kecil yang tertutup yang melengkapkan litar elektrik
apabila kita menekannya.
• Apabila ia dihidupkan, spring logam kecil di dalamnya bersentuhan dengan dua wayar,
membolehkan elektrik mengalir.
• Apabila ia dimatikan, spring ditarik balik, sentuhan terputus, dan arus tidak akan
mengalir.
36
AMALI 6.2– (ANALOGINPUT) fungsi Mapping
Mapping – mengubah satu RANGE data, kepada RANGE data yang baru.
Sebagai contoh, Analog Input Potentiometer range data dari 0~1023.
Dengan data tersebut, kita mungkin mahu mengawal kelajuan satu motor yang
dipandu oleh Motor Controller.
Kebanyakan Motor Controller memerlukan input kawalan PWM, dan PWM
Output dari pin-pin PWM Arduino dapat dikawal dengan memberikan value
dari 0~255 dalam coding.
Mapping
42
AMALI 9 –PUSHBUTTON DAN SERVO
#include <Servo.h>
int servoPin = 7;
Servo Servo1;
const int BUTTON=3;
int val=0;
void setup()
{
Servo1.attach(servoPin);
pinMode(BUTTON,INPUT);
}
void loop()
{
val=digitalRead(BUTTON);
if(val==LOW)
{
Servo1.write(180);
}
else
{
Servo1.write(0);
}
}
52
50.
SIMPLE PROJECT 1(PAGAR KESELAMATAN) RBT D5
Pin 5V, GND
Motor Servo
Pembaz
Suis
https://www.tinkercad.com/things/0mpx2lIeqWx
Pin 7= PEMBAZ
Pin 6 = LED (TUTUP)
Pin 5 = LED (BUKA)
Pin 3 = SUIS
Pin 9 = PWM SERVO
Led
Tutup
Led
Buka
53
51.
#include <Servo.h> //library servo
Servo Servo1; // declare nama Servo
int servoPin = 9; // setkan pin servo
int BUTTON=3; // setkan nama suis
int BUZZER =7; // setkan nama BUZZER
int LEDB =5; //setkan nama LED TUTUP
int LEDT =6; //setkan nama LED BUKA
int val=0; // setkan nilai mula 0
void setup()
{
Servo1.attach(servoPin);
pinMode(BUTTON,INPUT);
pinMode(BUZZER,OUTPUT); setkan i/o
pinMode(LEDB,OUTPUT);
pinMode(LEDT,OUTPUT);
}
void loop()
{
val=digitalRead(BUTTON);
if(val==LOW)
{
Servo1.write(90);
digitalWrite(BUZZER,LOW);
digitalWrite(LEDB,LOW);
digitalWrite(LEDT,HIGH);
}
else
{
Servo1.write(0);
digitalWrite(BUZZER,HIGH);
digitalWrite(LEDB,HIGH);
digitalWrite(LEDT,LOW);
}
}
54
52.
SIMPLE PROJECT 2(PAGAR KESELAMATAN AUTOMATIK)
Pin 5V, GND
Motor Servo
Pembaz
INFRARED
SENSOR
Pin 7= PEMBAZ
Pin 6 = LED (TUTUP)
Pin 5 = LED (BUKA)
Pin 3 = OUTPUT INFRA SENSOR
Pin 9 = PWM SERVO
Led
Tutup
Led
Buka
55
OUT GND VCC
53.
#include <Servo.h> //library servo
Servo Servo1; // declare nama Servo
int servoPin = 9; // setkan pin servo
int SENSOR=3; // setkan nama suis
int BUZZER =7; // setkan nama BUZZER
int LEDB =5; //setkan nama LED TUTUP
int LEDT =6; //setkan nama LED BUKA
int val=0; // setkan nilai mula 0
void setup()
{
Servo1.attach(servoPin);
pinMode(SENSOR,INPUT);
pinMode(BUZZER,OUTPUT); setkan i/o
pinMode(LEDB,OUTPUT);
pinMode(LEDT,OUTPUT);
}
void loop()
{
val=digitalRead(SENSOR);
if(val==HIGH)
{
Servo1.write(90);
digitalWrite(BUZZER,LOW);
digitalWrite(LEDB,LOW);
digitalWrite(LEDT,HIGH);
}
else
{
Servo1.write(0);
digitalWrite(BUZZER,HIGH);
digitalWrite(LEDB,HIGH);
digitalWrite(LEDT,LOW);
}
}
56
54.
LCD I2C 16x2DISPLAY
• Peranti elektronik yang digunakan untuk memaparkan data dan mesej
dikenali sebagai LCD 16×2.
• Mempunyai 16 Lajur & 2 Baris boleh memaparkan 32 aksara (16×2=32)
secara keseluruhan & setiap aksara akan dibuat dengan 5×8 (40) Titik Piksel.
• Jadi jumlah piksel dalam LCD ini boleh dikira sebagai 32 x 40 = 1280 piksel
57
INSTALL LIBRARY LCD(I2C)
Ikuti langkah-langkah berikut untuk meng-Install Library ini:
LANGKAH #1:
Download Library I2C dari Frank de Brabander yang latest
dari link di bawah:
Library LiquidCrystal I2C Updated dari Frank de Brabander
atau dari GitHub:
Library dari GitHub
LANGKAH #2:
Dari Arduino IDE, Navigasi ke
Sketch > Include Library > Add .Zip libraries…
LANGKAH #3:
Pilih Folder atau .Zip file yang telah anda download, dan
kemudian tekan “Open”.
Setelah selesai, Library sudah ready untuk digunakan.
60
58.
AMALI 10 –LCDDISPLAY
#include <Wire.h> // includekan library I2C. (Library ini sedia ada dalam IDE)
#include <LiquidCrystal_I2C.h> // includekan library LiquidCrystal_I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); // berikan nama objek "lcd" untuk dikaitkan
dengan library
// set-kan address I2c dan nyatakan jenis/
size LCD 16X2
void setup()
{
Wire.begin(); // mulakan I2C
lcd.begin(); // mulakan LCD
lcd.backlight(); // pasangkan BackLight Hijau/Biru bergantung pada jenis LCD
}
61
59.
AMALI 10 –LCDDISPLAY (SAMBUNGAN)
void loop()
{
lcd.clear(); // clearkan/padamkan paparan Screen LCD
lcd.setCursor(0, 0); // setkan Cursor print LCD pada koordinat 0,0
lcd.print(“TAHNIAH"); //printkan message untuk di paparkan
lcd.setCursor(2, 1); // setkan Cursor print LCD pada koordinat 2, 1
lcd.print(“JOM BELAJAR"); // printkan message untuk di paparkan
delay(2000); // berikan sedikit delay untuk paparan 2 saat
lcd.clear(); // clearkan/padamkan paparan Screen LCD
lcd.setCursor(3, 0);
lcd.print(“ARDUINO");
lcd.setCursor(0, 1);
lcd.print("MUDAH JA");
delay(2000);
} 62
60.
ULTRA SONIC SENSOR(HC-SR04)
• Sensor Ultrasonic ialah alat yang mengukur jarak ke objek
menggunakan gelombang bunyi ultrasonik.
63