Latihan Pemrograman Arduino II
Latihan Pemrograman Arduino II
TRAINING ARDUINO II
Latihan Pemrograman Arduino
Agus Supanto
085716068353
E-mail : bayu.ajin088@[Link]
Latihan
Pemrograman
Arduino
APK-TECH | [Link]
AREF LED
13
R1
PB5/SCK
12
PB4/MISO 470
RESET 11 LED-RED
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9 R2
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121
10k
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
Dasar Pemrograman I/O
pinMode()
pinMode digunakan untuk mengkonfigurasi PIN secara spesifik sebagai
INPUT/OUTPUT.
Syntax : pinMode( [pin],[mode] )
[pin] = nomor PIN
[mode] = INPUT atau OUTPUT
Contoh :
pinMode(13,OUTPUT)//PIN 13 berfungsi sebagai OUTPUT
pinMode(10,INPUT) //PIN 10 berfungsi sebagai INPUT
*) Ditulis di dalam void setup().
digitalWrite()
digitalWrite digunakan untuk memberikan nilai (logika) pada PIN.
Syntax : digitalWrite( [pin],[logika] )
[pin] = nomor PIN
[logika] = HIGH atau LOW
Contoh :
digitalWrite(13, HIGH)//Memberi logika HIGH pada PIN 13
digitalRead()
digitalRead digunakan untuk membaca nilai ( HIGH atau LOW ) dari PIN.
Syntax : digitalRead( [pin] )
[pin] = nomor PIN
Program Nyala Led
ARDUINO UNO
APK-TECH | [Link]
AREF LED
13
R1
PB5/SCK
12
PB4/MISO 470
RESET 11 LED-RED
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9 R2
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121
10k
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
Program Button
delay()
delay atau jeda digunakan untuk menghentikan program dalam jumlah
waktu tertentu / sesuai dengan nilai yang tertulis dalam
parameternya, dengan satuan waktu dalam milidetik.
Syntax : delay( [value] )
[value] = nilai parameter
Contoh :
delay(1000)//program akan berhenti selama 1000 milidetik
delayMicroseconds()
delayMicroseconds sama dengan delay hanya saja satuan waktunya
dalam mikrodetik.
Syntax : delay( [value] )
[value] = nilai parameter
Contoh :
delayMicroseconds(1000)//program akan berhenti selama 1000
mikrodetik
Program Blink
APK-TECH | [Link]
AREF
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
13
PB5/SCK
12
PB4/MISO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
RESET 11
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
Dasar Pemrograman LCD
#include <LiquidCrystal.h>// menginputkan library LiquidCrystal.h
LiquidCrystal lcd(5,4,3,2,1,0)//Rs,En,D4,D5,D6,D7(mendeklarasikan pin lcd)
[Link]()
[Link] digunakan untuk menginisialisasi jumlah kolom dan jumlah baris
dari lcd.
Syntax : [Link]( [kolom],[baris] )
Contoh : [Link](16,2) //LCD dengan 16 Kolom dan 2 Baris
*) Ditulis di dalam void setup().
[Link]()
[Link] digunakan untuk menentukan posisi awal penulisan di lcd.
Syntax : [Link]( [x],[y] )
[x] = nomor Kolom [y] = nomor Baris
Contoh : [Link](2,1) //Penulisan dimulai dari Kolom 2 dan Baris 1
[Link]()
[Link] digunakan untuk menampilkan karakter (string) pada lcd.
Syntax : [Link](“[karakter/string]”)
Contoh : [Link](“TES LCD”) //lcd akan menampilkan TES LCD
[Link]()
[Link] digunakan untuk membersihkan tampilan pada lcd.
Syntax : [Link]()
[Link]()
[Link] digunakan untuk menampilkan satu karakter.
Syntax : [Link](„[char]‟) contoh : [Link](„A‟)
Program LCD
APK-TECH | [Link]
AREF
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
13
PB5/SCK
12
PB4/MISO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
RESET 11
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
Keypad
ARDUINO UNO LCD 16X2
LM016L
VDD
VSS
VEE
RW
13
RS
D0
D1
D2
D3
D4
D5
D6
D7
PB5/SCK
E
12
PB4/MISO R4
RESET 11
~PB3/MOSI/OC2A R3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10
~ PB2/SS/OC1B R2
9
~ PB1/OC1A R1
8
PB0/ICP1/CLKO C3
ATMEGA328P-PU
1121
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1 C2
6
A0 ~ PD6/AIN0 C1
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
C1
C2
C3
ARDUINO UNO R3
3
R1 A 1 2 3
R2 B 4 5 6
R3 C 7 8 9
R3 D 0 #
Pemrogramman Keypad
APK-TECH | [Link]
AREF
VDD
VSS
VEE
RW
13
RS
D0
D1
D2
D3
D4
D5
D6
D7
PB5/SCK
E
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
RVARIABLE PB0/ICP1/CLKO
ATMEGA328P-PU
1121
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
53%
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
1k PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
Dasar Pemrograman ADC
analogRead()
analogRead digunakan untuk membaca nilai dari PIN analog.
Syntax : analogRead( [pin] )
[pin] = nomor PIN Analog
Contoh :
analogRead(A1) //Membaca nilai Analog pada PIN A1
Program ADC
APK-TECH | [Link]
AREF
VDD
VSS
VEE
RW
13
RS
D0
D1
D2
D3
D4
D5
D6
D7
PB5/SCK
E
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
1
2
3
4
5
6
7
8
9
10
11
12
13
14
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
RVARIABLE PB0/ICP1/CLKO
ATMEGA328P-PU
1121
DIGITAL (~PWM) 7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
52%
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
1k PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
PWM
ARDUINO UNO
APK-TECH | [Link]
AREF
PB5/SCK
13 R1
12 470
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
10 D?
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
RVARIABLE PB0/ICP1/CLKO
ATMEGA328P-PU
1121
LED-RED
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
40%
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
1k PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
Dasar Pemrograman PWM
analogWrite()
analogWrite digunakan untuk mengeluarkan sinyal analog PWM (Pada
Arduino UNO nilai sinyal PWM dari 0-255).
Syntax : analogWrite( [pin],[nilai PWM] )
[pin] = nomor PIN
[nilai PWM] = besarnya PWM
Contoh :
analogWrite(3,255)//menghasilkan PWM 255 di PIN D3
Program PWM
ARDUINO UNO
APK-TECH | [Link]
AREF
PB5/SCK
13 R1
12 470
PB4/MISO
RESET 11
Nyala Led
~PB3/MOSI/OC2A
10 D?
~ PB2/SS/OC1B
9
~ PB1/OC1A
Berdasarkan
8
RVARIABLE PB0/ICP1/CLKO
ATMEGA328P-PU
1121
LED-RED
DIGITAL (~PWM)
ANALOG IN 7
PD7/AIN1
Nilai dari
6
A0 ~ PD6/AIN0
PC0/ADC0 5
35%
A1 ~ PD5/T1
PC1/ADC1 4
Variable Resistor
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
1k PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD
ARDUINO UNO R3
Serial
ARDUINO UNO
APK-TECH | [Link]
AREF
13
PB5/SCK
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121
DIGITAL (~PWM)
7
ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK RXD
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0 TXD
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD RTS
CTS
ARDUINO UNO R3
[Link]()
[Link] digunakan untuk menentukan nilai BaudRate.
Syntax : [Link]( [nilai baudrate] )
Contoh :
[Link](9600) //Komunikasi Serial dengan baudrate
9600
*) Ditulis di dalam void setup().
[Link]()
[Link] digunakan untuk mengirimkan data string dari Arduino
ke PC atau perangkat lain dengan menggunakan jalur TX (PIN 1).
Syntax : [Link](“[data]”)
Contoh :
[Link](“Latihan Serial”)
[Link]()
[Link] hampir sama dengan [Link], tetapi dalam
pengiriman datanya [Link] menambahkan karakter ½ Enter pada
setiap akhir data.
Syntax : [Link](“[data]”)
Contoh :
[Link](“Latihan Serial”)
Dasar Pemrogramman Serial
[Link]()
[Link] digunakan untuk mengirimkan data dalam bentuk biner,
satu byte data dalam setiap pengiriman.
[Link]
[Link] digunakan untuk mendapatkan jumlah karakter atau
byte yang telah diterima oleh serial port.
[Link]()
[Link] digunakan untuk membaca data yang masuk ke Arduino
melalui jalur Rx (PIN 0).
Syntax : [tipe data][variable] = [Link]()
Contoh :
char Data = [Link]();
Program Serial
7 SEGMENT
ARDUINO UNO
OUTA2 OUTA1
APK-TECH | [Link]
OUTB2 OUTB1
OUTC2 OUTC1
OUTD2 OUTD1
AREF OUTE2 OUTE1
OUTF2 OUTF1
13
PB5/SCK OUTG2 OUTG1
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A U2
10
~ PB2/SS/OC1B
9 7 13
~ PB1/OC1A INA2 A QA OUTA2
8 1 12
PB0/ICP1/CLKO INB2 B QB OUTB2
2 11
ATMEGA328P-PU
1121
DIGITAL (~PWM)
INC2 C QC OUTC2
7 6 10
ANALOG IN
ARDUINO UNO
OUTA2 OUTA1
APK-TECH | [Link]
OUTB2 OUTB1
OUTC2 OUTC1
OUTD2 OUTD1
AREF OUTE2 OUTE1
OUTF2 OUTF1
13
PB5/SCK OUTG2 OUTG1
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A U2
10
~ PB2/SS/OC1B
9 7 13
~ PB1/OC1A INA2 A QA OUTA2
8 1 12
PB0/ICP1/CLKO INB2 B QB OUTB2
2 11
ATMEGA328P-PU
1121
DIGITAL (~PWM)
INC2 C QC OUTC2
7 6 10
ANALOG IN