Professional Documents
Culture Documents
Bonus Contoh Aplikasi ARDUINO
Bonus Contoh Aplikasi ARDUINO
CONTOH PROGRAM/APLIKASI
PROGRAM/APLIKASI ARDUINO
• Arduino UNO
• Potensio/VR
• Motor Servo
U1
3V3
Vin
5V
Power
D13
Arduino UNO D12
D11
PWM
PWM
RST D10 PWM
D9
Digital Input/Output
AREFF D8
V serv o
1
R1 D7 PWM
D6
1
Analog Input
2 PWM
POT A0 D5 +
A1 D4 PWM
A2 D3 2
A3
A4
D2 A MG1
TX MOTOR SERVO
3
A5 D1 RX -
GND
D0
3
#include <Servo.h>
Servo servo1;
int val;
void setup() {
servo1.attach(2); }
void loop()
{
val = analogRead(0);
val = map(val, 0, 1023, 0, 179);
servo1.write(val);
delay(15);
}
Aksi : putar potensio maka motor servo akan berputar juga.
www.inkubator-teknologi.com Page 1
Contoh program/aplikasi ARDUINO
• Arduino UNO
• Driver Motor Stepper
• Motor Stepper
16
U3 8 MOTOR STEPPER
2 3 A C
VCC1
VCC2
D8 1A 1Y
7 6
D9 2A 2Y
10 11 B D
D10 3A 3Y
15 14
D11 4A 4Y
VCC 1
9 1,2EN
3,4EN
GND
GND
GND
GND
L293D
13
12
4
5
void setup(){
pinMode(8,OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
void loop(){
digitalWrite(8,1);
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,0);
delay(50);
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(10,0);
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,1);
digitalWrite(10,0);
www.inkubator-teknologi.com Page 2
Contoh program/aplikasi ARDUINO
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,1);
digitalWrite(10,1);
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,1);
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,1);
digitalWrite(11,1);
delay(50);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,1);
delay(50);
digitalWrite(8,1);
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,1);
delay(50);
www.inkubator-teknologi.com Page 3
Contoh program/aplikasi ARDUINO
• Arduino UNO
• Driver Motor Stepper
• Motor Stepper
void setup(){
pinMode(8,OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
void loop(){
digitalWrite(8,1);
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,1);
digitalWrite(10,0);
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,1);
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,0);
www.inkubator-teknologi.com Page 4
Contoh program/aplikasi ARDUINO
digitalWrite(11,1);
delay(50);
V serv o
2 2 2 2 2
A A A A A
- - - - -
3
#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
www.inkubator-teknologi.com Page 5
Contoh program/aplikasi ARDUINO
Servo servo4;
Servo servo5;
String inString="",temStr;
char str;
void setup(){
Serial.begin(9600);
servo1.attach(2);//pin 2=servo1
servo2.attach(3);//pin 3=servo2
servo3.attach(4);//pin 4=servo3
servo4.attach(5);//pin 5=servo4
servo5.attach(6);//pin 6=servo5
servo1.write(90);
servo2.write(90);
servo3.write(90);
servo4.write(90);
servo5.write(90);
void loop(){
if(Serial.available()>0)
str = Serial.read();
if(str!='\n')
inString += (char)str;
www.inkubator-teknologi.com Page 6
Contoh program/aplikasi ARDUINO
temStr=inString.substring(0,1);
nomor=temStr.toInt();
temStr=inString.substring(2);
sudut=temStr.toInt();
Serial.print(nomor);
Serial.print(" : ");
Serial.println(sudut);
switch(nomor){
inString = "";
Aksi : kirim perintahnya dari serial komunikasi maka servo akan berputar.
• Arduino UNO
• Buzzer
www.inkubator-teknologi.com Page 7
Contoh program/aplikasi ARDUINO
U1
5V
3V3
Vin
Power
D13
D12 PWM R1
Arduino UNO D11
LS1
PWM
RST D10 PWM
D9
Digital Input/Output
100 ohm
AREFF D8 SPEAKER
D7 PWM
D6
Analog Input
PWM
A0 D5
A1 D4 PWM
A2 D3
A3 D2
A4 TX
A5 D1 RX
GND
D0
int i;
void setup(){
for(i=0;i<3;i++){
tone(10, 440);
delay(2000);
noTone(10);
delay(1000);
void loop(){
• Arduino UNO
• 4 LED Merah
• 4 LED Hijau
• 4 LED Kuning
www.inkubator-teknologi.com Page 8
Contoh program/aplikasi ARDUINO
#define H1 2
#define K1 3
#define M1 4
#define H2 5
#define K2 6
#define M2 7
#define H3 8
#define K3 9
#define M3 10
#define H4 11
#define K4 12
#define M4 13
void setup(){
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
www.inkubator-teknologi.com Page 9
Contoh program/aplikasi ARDUINO
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
void loop(){
//Lampu H1,M2,M3,M4 =ON
digitalWrite(H1,HIGH);
digitalWrite(M2,HIGH);
digitalWrite(M3,HIGH);
digitalWrite(M4,HIGH);
delay(3000);
//Lampu K1,M2,M3,M4 =ON
digitalWrite(H1,LOW);
digitalWrite(K1,HIGH);
delay(2000);
//Lampu M1,H2,M3,M4 =ON
digitalWrite(K1,LOW);
digitalWrite(M2,LOW);
digitalWrite(M1,HIGH);
digitalWrite(H2,HIGH);
delay(3000);
//Lampu M1,K2,M3,M4 =ON
digitalWrite(H2,LOW);
digitalWrite(K2,HIGH);
delay(2000);
//Lampu M1,M2,H3,M4 =ON
digitalWrite(K2,LOW);
digitalWrite(M2,HIGH);
digitalWrite(M3,LOW);
www.inkubator-teknologi.com Page 10
Contoh program/aplikasi ARDUINO
digitalWrite(H3,HIGH);
delay(3000);
//Lampu M1,M2,K3,M4 =ON
digitalWrite(H3,LOW);
digitalWrite(K3,HIGH);
delay(2000);
//Lampu M1,M2,M3,H4 =ON
digitalWrite(K3,LOW);
digitalWrite(M3,HIGH);
digitalWrite(M4,LOW);
digitalWrite(H4,HIGH);
delay(3000);
//Lampu M1,M2,M3,K4 =ON
digitalWrite(H4,LOW);
digitalWrite(K4,HIGH);
delay(2000);
digitalWrite(K4,LOW);
digitalWrite(M1,LOW);
}
Aksi : LED akan nyala – padam seperti di lampu merah jalan raya.
• Arduino UNO
• Sensor jarak ultrasonic SRF04/05
• LCD 2x16
www.inkubator-teknologi.com Page 11
Contoh program/aplikasi ARDUINO
LCD 2x16
VCC
1 (GND)
2 (VCC)
SRF05
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
6 (E)
1
VR
2
VCC 10 K
TRIG
ECHO
+5V GND
3
pin ARDUINO
2
3
4
5
11 10 6
7
#define ECHOPIN 10
#define TRIGPIN 11
#include <LiquidCrystal.h>
void setup(){
lcd.begin(16, 2);
lcd.print("Range Finder");
lcd.setCursor(0, 1);
lcd.print("Range=");
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
delay(1000);
void loop(){
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
www.inkubator-teknologi.com Page 12
Contoh program/aplikasi ARDUINO
digitalWrite(TRIGPIN, LOW);
distance= distance/58;
lcd.setCursor(6, 1);
lcd.print(distance);
lcd.print(" cm ");
delay(1000);
• Arduino UNO
• Buzzer
• 8 Tombol
LS1 R1 D2 SW 1 (Do)
D10 D3 SW 2 (Re )
100 ohm SW 3 (M i)
D4
SPEAKER SW 4 (Fa)
D5
D6 SW 5 (Sol)
D7 SW 6 (La)
D8 SW 7 (Si)
D9 SW 8 (Do)
void setup(){
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(7,INPUT);
www.inkubator-teknologi.com Page 13
Contoh program/aplikasi ARDUINO
pinMode(8,INPUT);
pinMode(9,INPUT);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
void loop(){
if(digitalRead(2)==LOW)
{tone(10,264); //Do
else if(digitalRead(3)==LOW)
{tone(10,297); //Re
else if(digitalRead(4)==LOW)
{tone(10,330); //Mi
else if(digitalRead(5)==LOW)
{tone(10,352); //Fa
else if(digitalRead(6)==LOW)
{tone(10,396); //Sol
else if(digitalRead(7)==LOW)
{tone(10,440); /La
www.inkubator-teknologi.com Page 14
Contoh program/aplikasi ARDUINO
else if(digitalRead(8)==LOW)
{tone(10,495); //Si
else if(digitalRead(9)==LOW)
{tone(10,528); //Do
else
noTone(10);
• Arduino UNO
• Sensor jarak ultrasonic SRF04/05
• LCD 2x16
www.inkubator-teknologi.com Page 15
Contoh program/aplikasi ARDUINO
LCD 2x16
VCC
1 (GND)
2 (VCC)
SRF05
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
6 (E)
1
VR
2
VCC 10 K
TRIG
ECHO
+5V GND
3
pin ARDUINO
2
3
4
5
11 10 6
7
#define ECHOPIN 10
#define TRIGPIN 11
#include <LiquidCrystal.h>
int H2,HT,H1;
void setup(){
lcd.begin(16, 2);
lcd.print("Tinggi Badan");
lcd.setCursor(0, 1);
lcd.print("TB=");
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
delay(1000);
HT=200;
void loop(){
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
www.inkubator-teknologi.com Page 16
Contoh program/aplikasi ARDUINO
digitalWrite(TRIGPIN, LOW);
distance= distance/58;
H2=HT-distance;
lcd.setCursor(3, 1);
lcd.print(H2);
lcd.print(" cm ");
delay(1000);
Aksi : ukur tinggi badan, hasilnya tampil di LCD. Jarak sensor 200 cm diatas lantai.
• Arduino UNO
• Sensor jarak ultrasonic SRF04/05
• Relay + driver relay
3
4
1
2
VCC
TRIG
ECHO
1K
2
2
12
2N2222
1
2
1
Volt source 11 10
#define ECHOPIN 10
#define TRIGPIN 11
#define pompa 12
int H2,HT,H1,SetPoint;
void setup(){
www.inkubator-teknologi.com Page 17
Contoh program/aplikasi ARDUINO
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
pinMode(pompa, OUTPUT);
delay(1000);
HT=200;
SetPoint=150;
void loop(){
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
distance= distance/58;
H2=HT-distance;
if(H2>SetPoint){
digitalWrite(pompa,HIGH);
else{
digitalWrite(pompa,LOW);
delay(1000);
Aksi : ketika level air dibawah Set Point Relay akan ON, jika level air diatas Set point
Relay OFF.
www.inkubator-teknologi.com Page 18
Contoh program/aplikasi ARDUINO
• Arduino UNO
• Relay + driver relay
• 2 Tombol
K1
5 12 Vdc
3 ON OFF
4
1
2 3
D36
RELAY SPDT 4
DIODE
3
1K
2
2
2N2222
1
Q12
#define Relay 2
#define tb_on 3
#define tb_off 4
void setup(){
pinMode(2,OUTPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
void loop(){
if(digitalRead(tb_on)==LOW){
digitalWrite(Relay,HIGH);
else if(digitalRead(tb_off)==LOW){
digitalWrite(Relay,LOW);
Aksi : tekan tombol 1 maka relay akan ON. Tekan tombol 2 maka Relay akan OFF.
www.inkubator-teknologi.com Page 19
Contoh program/aplikasi ARDUINO
• 8 Relay + driver
• Arduino UNO
RL1
5 12 Vdc
3
4
1
2
D36
RELAY SPDT
DIODE
3
1K
2
2
2N2222
1
Q12
RL8
5 12 Vdc
3
4
1
2
D36
RELAY SPDT
DIODE
3
1K
2
9
2N2222
1
Q12
#define RL1 2
#define RL2 3
#define RL3 4
#define RL4 5
#define RL5 6
#define RL6 7
#define RL7 8
#define RL8 9
byte in_serial,str;
void setup()
pinMode(2,OUTPUT); pinMode(3,OUTPUT);
pinMode(4,OUTPUT); pinMode(5,OUTPUT);
www.inkubator-teknologi.com Page 20
Contoh program/aplikasi ARDUINO
pinMode(6,OUTPUT); pinMode(7,OUTPUT);
pinMode(8,OUTPUT); pinMode(9,OUTPUT);
Serial.begin(9600);
void loop()
switch(str){
digitalWrite(RL1,1);
digitalWrite(RL2,1);
digitalWrite(RL3,1);
digitalWrite(RL4,1);
digitalWrite(RL5,1);
digitalWrite(RL6,1);
digitalWrite(RL7,1);
digitalWrite(RL8,1);
digitalWrite(RL1,0);
www.inkubator-teknologi.com Page 21
Contoh program/aplikasi ARDUINO
digitalWrite(RL2,0);
digitalWrite(RL3,0);
digitalWrite(RL4,0);
digitalWrite(RL5,0);
digitalWrite(RL6,0);
digitalWrite(RL7,0);
digitalWrite(RL8,0);
Aksi : Kirim secara serial komunikasi angka ‘1’ untuk mengaktifkan Relay 1. Atau ‘2’ untuk Relay 2
ON. ‘a’ untuk Relay 1 OFF dst.
• Arduino UNO
• 1 digit 7 Segment
VCC
a
2 b
3 c
4 d
5 e
6 f
7 g o
8 h
9
byte nilai;
byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0
www.inkubator-teknologi.com Page 22
Contoh program/aplikasi ARDUINO
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,0,1,0,0 } // = 9
};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(9,HIGH);
nilai=10;
byte pin = 2;
digitalWrite(pin, seven_seg_digits[segment][segCount]);
++pin;
www.inkubator-teknologi.com Page 23
Contoh program/aplikasi ARDUINO
void loop() {
nilai--;
sevenSegWrite(nilai);
if(nilai==0) nilai=10;
delay(1000);
• Arduino UNO
• 2 digit 7 Segment
1 2
a
2 b
3 c
4 d
5 e
6 f
7 g o
8 h
9
1
2 2 VCC
R 8x330
3
10
11
byte nilai,i;
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
www.inkubator-teknologi.com Page 24
Contoh program/aplikasi ARDUINO
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,0,1,0,0 } // = 9
};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
digitalWrite(9,HIGH);
nilai=100;
byte pin = 2;
digitalWrite(pin, seven_seg_digits[segment][segCount]);
++pin;
void loop() {
nilai--;
for(i=0;i<100;i++){
www.inkubator-teknologi.com Page 25
Contoh program/aplikasi ARDUINO
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
sevenSegWrite(nilai/10);
delay(5);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
sevenSegWrite(nilai%10);
delay(5);
if(nilai==0) nilai=100;
Aksi : Pada 7 segment tampil angka ‘99’ kemudian berkurang 1 jadi ‘98’ dst.
• Arduino UNO
• 1 digit 7 Segment
• 1 tombol
1 2
a
2 b
3 c
Tom bol 4 d
5 e
12 6 f
7 g o
8 h
9
1
2 2 VCC
R 8x330
3
10
11
#define tombol 12
byte i,jumlah;
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
www.inkubator-teknologi.com Page 26
Contoh program/aplikasi ARDUINO
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,0,1,0,0 } // = 9
};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, INPUT);
digitalWrite(9,HIGH);
digitalWrite(12,HIGH);
byte pin = 2;
digitalWrite(pin, seven_seg_digits[segment][segCount]);
++pin;
www.inkubator-teknologi.com Page 27
Contoh program/aplikasi ARDUINO
void loop() {
if(digitalRead(tombol)==0){
jumlah++;
for(i=0;i<100;i++){
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
sevenSegWrite(jumlah/10);
delay(5);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
sevenSegWrite(jumlah%10);
delay(5);
Aksi : Tekan tombol maka nilai akan bertambah 1, hasilnya tampil di 7 segment.
• Arduino UNO
• LCD
www.inkubator-teknologi.com Page 28
Contoh program/aplikasi ARDUINO
LCD 2x16
VCC
1 (GND)
2 (VCC)
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
6 (E)
VR 1
2
10 K
3
pin ARDUINO
2
3
4
5
6
7
#include <LiquidCrystal.h>
void setup(){
lcd.begin(16, 2);
lcd.setCursor(3,0);
lcd.print("Row:1 Col:4");
lcd.setCursor(4, 1);
lcd.print("Row:2 Col:5");
void loop(){
• Arduino UNO
• LCD
#include <LiquidCrystal.h>
void setup() {
lcd.begin(16,2);
www.inkubator-teknologi.com Page 29
Contoh program/aplikasi ARDUINO
void loop() {
lcd.setCursor(0, 0);
lcd.print(angka);
delay(500);
lcd.setCursor(16,1);
lcd.autoscroll();
lcd.print(angka);
delay(500);
lcd.noAutoscroll();
lcd.clear();
• Arduino UNO
• LCD
#include <LiquidCrystal.h>
void setup() {
lcd.begin(16, 2);
void loop() {
lcd.setCursor(0,0);
www.inkubator-teknologi.com Page 30
Contoh program/aplikasi ARDUINO
lcd.print("Blink ");
lcd.blink();
delay(3000);
lcd.setCursor(0,0);
lcd.print("No Blink");
lcd.noBlink();
delay(3000);
• Arduino UNO
• LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};
www.inkubator-teknologi.com Page 31
Contoh program/aplikasi ARDUINO
byte smiley[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b10001,
0b01110,
0b00000
};
void setup() {
lcd.createChar(1, heart);
lcd.createChar(2, smiley);
lcd.begin(16, 2);
lcd.print("I ");
lcd.write(1);
lcd.write(2);
void loop() {
• Arduino UNO
• LCD
www.inkubator-teknologi.com Page 32
Contoh program/aplikasi ARDUINO
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
byte i,j,k;
byte buka[8] = {
0b01111,
0b11110,
0b11100,
0b11000,
0b11100,
0b11110,
0b01111,
0b00000
};
byte tutup[8] = {
0b00000,
0b01100,
0b11110,
0b11110,
0b11110,
0b01100,
0b00000,
0b00000
};
void setup() {
lcd.createChar(1, buka);
lcd.createChar(2, tutup);
lcd.begin(16, 2);
www.inkubator-teknologi.com Page 33
Contoh program/aplikasi ARDUINO
void loop() {
lcd.clear();
//lcd.setCursor(0,15);
for(i=0;i<16;i++){
lcd.setCursor(i,0);
lcd.write(1);
j=i-1;
lcd.setCursor(j,0);
lcd.print(" ");
delay(300);
k=i+1;
lcd.setCursor(k,0);
lcd.write(2);
lcd.setCursor(i,0);
lcd.print(" ");
delay(300);
Aksi : pada LCD muncul tulisan “Inkubatek Jogja” kemudian muncul seperti ikan begerak memakan tulisan
tersebut.
www.inkubator-teknologi.com Page 34
Contoh program/aplikasi ARDUINO
• Arduino UNO
• LCD
• RTC DS1307
LCD 2x16
VCC VCC
1 (GND)
2 (VCC)
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
6 (E)
R2 R3 VCC
1
3K 3K
U2 32,768 KHz VR
8
Y2 2
5 1 10 K
VCC
SDA SDA X1 2
6 X2
SCL SCLK
7 3
3
GND
SQW/OUT VBAT
pin ARDUINO
3V
2
BATTERY 3
DS1307
4
4
5
6
7
Pin SCL
Pin SDA
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
www.inkubator-teknologi.com Page 35
Contoh program/aplikasi ARDUINO
#include <Wire.h>
#include <DS1307.h>
#include <LiquidCrystal.h>
void setup()
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
RTC.stop();
RTC.start();
void loop()
lcd.clear();
lcd.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
www.inkubator-teknologi.com Page 36
Contoh program/aplikasi ARDUINO
lcd.print(":");
lcd.print(":");
lcd.print(RTC.get(DS1307_SEC,false));//read seconds
lcd.setCursor(0,1);
lcd.print(RTC.get(DS1307_DATE,false));//read date
lcd.print("/");
lcd.print(RTC.get(DS1307_MTH,false));//read month
lcd.print("/");
delay(1000);
• Arduino UNO
• Keypad 4x3
www.inkubator-teknologi.com Page 37
Contoh program/aplikasi ARDUINO
1 2 3
4 5 6
U1
3V3 7 8 9
Vin
Power 5V
D13
0
Arduino UNO D12
RST
D11
D10
PWM
PWM * #
PWM
D9
Digital Input/Output
AREFF D8
D7 PWM
D6
Analog Input
PWM
A0 D5
A1 D4 PWM
A2 D3
A3 D2
A4 TX
A5 D1 RX
GND
D0
#include <Keypad.h>
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
void setup(){
void loop(){
www.inkubator-teknologi.com Page 38
Contoh program/aplikasi ARDUINO
Aksi : Tekan tombol pada keypad, hasilnya tampil pada Serial Monitor.
• Arduino UNO
• LCD
• 4 sensor suhu LM35
VCC U4 VCC U4
1 2 1 2
VS+ VOUT A0 VS+ VOUT A2
R15 R15
GND
GND
LM35 47 LM35 47
3
C5 C5
1uF 1uF
VCC U4 VCC U4
1 2 1 2
VS+ VOUT A1 VS+ VOUT A3
R15 R15
GND
GND
LM35 47 LM35 47
3
C5 C5
1uF 1uF
LCD 2x16
VCC
1 (GND)
2 (VCC)
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
6 (E)
1
VR
2
10 K
3
pin ARDUINO
2
3
4
5
6
7
www.inkubator-teknologi.com Page 39
Contoh program/aplikasi ARDUINO
#include <LiquidCrystal.h>
int adc,T1,T2,T3,T4;
void setup()
lcd.begin(16, 2);
delay(1000);
void loop()
adc = analogRead(0);
T1=(adc*5)/10;
delay(100);
adc = analogRead(1);
T2=(adc*5)/10;
delay(100);
adc = analogRead(2);
T3=(adc*5)/10;
delay(100);
adc = analogRead(3);
T4=(adc*5)/10;
delay(100);
lcd.setCursor(0, 0);
lcd.print("T1=");
lcd.print(T1);
lcd.print(" T2=");
lcd.print(T2);
www.inkubator-teknologi.com Page 40
Contoh program/aplikasi ARDUINO
lcd.setCursor(0, 1);
lcd.print("T3=");
lcd.print(T3);
lcd.print(" T4=");
lcd.print(T4);
delay(1000);
Aksi : Tampil di LCD nilai suhu yang diukur untuk ke-4 sensor.
• Arduino UNO
• LCD
• Relay + Heater
• LM35
LCD 2x16
VCC VCC U4
1 (GND)
2 (VCC)
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
1 2
6 (E)
VS+ VOUT A0
K1
1
5 12 Vdc R15
3 VR LM35 GND 47
2 4 2
1 1 10 K
2
3
ke HEATER D36 C5
1uF
RELAY SPDT DIODE
3
3
1K
2 2
10 3
4
2N2222 5
1
Q12 6
7
#include <LiquidCrystal.h>
int adc,T,SetPoint;
void setup()
pinMode(10,HIGH);
lcd.begin(16, 2);
www.inkubator-teknologi.com Page 41
Contoh program/aplikasi ARDUINO
lcd.setCursor(0, 1);
delay(2000);
lcd.clear();
lcd.print("SP=");
lcd.print(SP);
lcd.setCursor(0, 1);
lcd.print("Stat=");
SetPoint=50;
void loop()
adc = analogRead(0);
T=(adc*5)/10;
lcd.setCursor(7, 0);
lcd.print("T=");
lcd.print(T);
if(T<SetPoint){
lcd.setCursor(5,1);
lcd.print("Heater ON ");
digitalWrite(10,HIGH);
else{
lcd.setCursor(5,1);
lcd.print("Heater OFF");
digitalWrite(10,LOW);
delay(1000);
www.inkubator-teknologi.com Page 42
Contoh program/aplikasi ARDUINO
Aksi : jika suhu>SP (500C) maka relay aktif, menghidupkan heater. Jika suhu <SP (500C) maka relay
mati dan heater pun mati.
• Arduino UNO
• LCD
• RTC 1307
• Buzzer
LCD 2x16
VCC VCC
1 (GND)
2 (VCC)
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
6 (E)
R2 R3 VCC
1
3K 3K
U2 32,768 KHz VR
8
Y2 2
5 1 10 K
VCC
SDA SDA X1 2
6 X2
SCL SCLK
7 3
3
GND
SQW/OUT VBAT
pin ARDUINO
3V
2
BATTERY 3
DS1307
4
4
5
6
7
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#define buzzer 10
#include <Wire.h>
#include <DS1307.h>
#include <LiquidCrystal.h>
byte jam,menit;
void setup()
www.inkubator-teknologi.com Page 43
Contoh program/aplikasi ARDUINO
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("Alarm ARDUINO");
delay(2000);
RTC.stop();
RTC.start();
pinMode(10,OUTPUT);
void loop()
lcd.setCursor(0,1);
lcd.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
lcd.print(":");
lcd.print(":");
lcd.print(RTC.get(DS1307_SEC,false));//read seconds
jam=RTC.get(DS1307_HR,true);
menit=RTC.get(DS1307_MIN,false);
www.inkubator-teknologi.com Page 44
Contoh program/aplikasi ARDUINO
if((jam==3)&&(menit==15)){
digitalWrite(buzzer,HIGH);
else if((jam==3)&&(menit==20)){
digitalWrite(buzzer,LOW);
delay(1000);
Aksi : ketika Jam=3 dan menit=20 (jam 3:20) maka alarm akan aktif (buzzer berbunyi).
• Arduino UNO
• LCD
• Relay
• Keypad 3x4
1 2 3
LCD 2x16
VCC
2
1 (GND)
2 (VCC)
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
4 6
7 (D0)
8 (D1)
9 (D2)
5
15 (A)
16 (K)
6 (E)
K1
1
5 12 Vdc
3 VR
2 4 2 3
1 1 10 K 7 8 9
2
ke selenoid D36
0
* #
3
1K
2 9
A1 10
11 5
2N2222 12
1
Q12 13
A0 6
7
8
#include <Keypad.h>
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
www.inkubator-teknologi.com Page 45
Contoh program/aplikasi ARDUINO
{'*','0','#'}
};
char pw[3]={'1','2','3'};
char kp[3];
byte u;
#include <LiquidCrystal.h>
#define pintu A1
void setup(){
lcd.begin(16, 2);
lcd.print("Masukkan Password");
lcd.setCursor(0,1);
void loop(){
lcd.print('*');
if(u==3){
u=0;
if((kp[0]=='1')&&(kp[1]=='2')&&(kp[2]=='3')){
digitalWrite(pintu,HIGH);
lcd.setCursor(0,1);
lcd.print("Password Benar");
www.inkubator-teknologi.com Page 46
Contoh program/aplikasi ARDUINO
else {
digitalWrite(pintu,LOW);
lcd.setCursor(0,1);
lcd.print("Password Salah");
else{
kp[u]=key;
u++;
Aksi : masukkan password melalui keypad. Jika password benar (123) maka relay akan aktif. Jika
password salah relay tidak aktif.
• Arduino UNO
• LCD
• 7 Segment Display
• Buzzer
• Tombol push on
1 2
Tom bol a
2 b
3 c
13 4 d
5 e
6 f
7 g o
8 h
9
1
LS2
2 2 VCC
12
R 8x330
3
BUZZER 10
11
www.inkubator-teknologi.com Page 47
Contoh program/aplikasi ARDUINO
#define nada 12
#define tombol 13
byte antrian,i;
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,0,1,0,0 } // = 9
};
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, INPUT);
digitalWrite(9,HIGH);
digitalWrite(13,HIGH);
www.inkubator-teknologi.com Page 48
Contoh program/aplikasi ARDUINO
byte pin = 2;
digitalWrite(pin, seven_seg_digits[segment][segCount]);
++pin;
void loop() {
if(digitalRead(tombol)==LOW){
antrian++;
digitalWrite(nada,HIGH);
delay(500);
digitalWrite(nada,LOW);
delay(100);
digitalWrite(nada,HIGH);
delay(500);
digitalWrite(nada,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
sevenSegWrite(antrian/10);
delay(5);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
sevenSegWrite(antrian%10);
delay(5);
www.inkubator-teknologi.com Page 49
Contoh program/aplikasi ARDUINO
• Arduino UNO
• LCD
• 7 Segment Display
• Buzzer
• 3 Tombol push button (push 0n)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
15 (A)
16 (K)
Loket 2 6 (E)
1
11 VR
Loket 3 2
10 K
12
3
LS2 9
10
13 11
12
13
BUZZER A0
#define Tombol1 10
#define Tombol2 11
#define Tombol3 12
#define nada 13
#include <LiquidCrystal.h>
byte antrian1,antrian2,antrian3;
void setup(){
lcd.begin(16, 2);
lcd.print("Mesin Antrian");
lcd.setCursor(0, 1);
lcd.print("3 Loket");
www.inkubator-teknologi.com Page 50
Contoh program/aplikasi ARDUINO
delay(2000);
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("0 0 0 ");
pinMode(Tombol1, INPUT);
pinMode(Tombol2, INPUT);
pinMode(Tombol3, INPUT);
pinMode(nada, OUTPUT);
digitalWrite(Tombol1,HIGH);
digitalWrite(Tombol2,HIGH);
digitalWrite(Tombol3,HIGH);
delay(1000);
void loop(){
if(digitalRead(Tombol1)==LOW){
antrian1++;
digitalWrite(nada,HIGH);
delay(300);
digitalWrite(nada,LOW);
delay(100);
digitalWrite(nada,HIGH);
delay(500);
digitalWrite(nada,LOW);
lcd.setCursor(0, 1);
lcd.print(antrian1);
www.inkubator-teknologi.com Page 51
Contoh program/aplikasi ARDUINO
else if(digitalRead(Tombol2)==LOW){
antrian2++;
digitalWrite(nada,HIGH);
delay(300);
digitalWrite(nada,LOW);
delay(100);
digitalWrite(nada,HIGH);
delay(500);
digitalWrite(nada,LOW);
lcd.setCursor(6, 1);
lcd.print(antrian2);
else if(digitalRead(Tombol3)==LOW){
antrian3++;
digitalWrite(nada,HIGH);
delay(300);
digitalWrite(nada,LOW);
delay(100);
digitalWrite(nada,HIGH);
delay(500);
digitalWrite(nada,LOW);
lcd.setCursor(12, 1);
lcd.print(antrian3);
Aksi : Tekan tombol 1 maka nilai antrian 1 akan bertambah, demikian juga untuk tombol 2 dan 3.
Tombol 1 mewakili loket 1, juga tombol 2 dan 3 untuk loket 2 dan 3.
www.inkubator-teknologi.com Page 52
Contoh program/aplikasi ARDUINO
• Arduino UNO
• LCD
• 7 Segment Display
• Buzzer
• 3 tombol push on
• 3 lampu
K1
5 12 Vdc
3
2 4
1 1
2
ke Lampu Regu A D36
3
1K
2
2
Regu A 2N2222
1
Q12
5 K1
Regu B 5 12 Vdc
3
2 4
6 1 1
Regu C 2
ke Lampu Regu B D36
7 RELAY SPDT DIODE
3
1K
2
3
2N2222
1
Q12
K1
5 12 Vdc
3
2 4
1 1
2
ke Lampu Regu C D36
1K
2
4
2N2222
1
Q12
#define lampuA 2
#define lampuB 3
#define lampuC 4
#define tombolA 5
#define tombolB 6
#define tombolC 7
#define bel 8
www.inkubator-teknologi.com Page 53
Contoh program/aplikasi ARDUINO
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, OUTPUT);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
void loop() {
if(digitalRead(tombolA)==LOW){
digitalWrite(bel,HIGH);
digitalWrite(lampuA,HIGH);
delay(500);
while(!digitalRead(tombolA));
digitalWrite(bel,LOW);
digitalWrite(lampuA,LOW);
else if(digitalRead(tombolB)==LOW){
digitalWrite(bel,HIGH);
digitalWrite(lampuB,HIGH);
delay(500);
while(!digitalRead(tombolB));
digitalWrite(bel,LOW);
www.inkubator-teknologi.com Page 54
Contoh program/aplikasi ARDUINO
digitalWrite(lampuB,LOW);
else if(digitalRead(tombolC)==LOW){
digitalWrite(bel,HIGH);
digitalWrite(lampuC,HIGH);
delay(500);
while(!digitalRead(tombolC));
digitalWrite(bel,LOW);
digitalWrite(lampuC,LOW);
Aksi : Tekan tombol A maka LED 1 (Lampu A) akan nyala dan bell akan berbunyi. Ketika tombol A
ditekan maka tombol yang lain menjadi ‘disable’.
• Arduino UNO
• LCD
• Potensiometer
• Tombol Push ON
VCC
LCD 2x16
VCC
1
1 (GND)
2 (VCC)
3 (VEE)
10 (D3)
11 (D4)
12 (D5)
13 (D6)
14 (D7)
5 (RW)
4 (RS)
7 (D0)
8 (D1)
9 (D2)
A0
15 (A)
16 (K)
R1
6 (E)
1 2
1
1
POT
VR
2
10 K
3
SET 2
3
8 4
5
6
7
#define tombolSET 8
#include <LiquidCrystal.h>
www.inkubator-teknologi.com Page 55
Contoh program/aplikasi ARDUINO
void setup()
pinMode(8,LOW);
digitalWrite(8, HIGH);
lcd.begin(16, 2);
lcd.print("Seting Nilai");
lcd.setCursor(0,1);
lcd.print("Tanpa Keypad");
delay(1000);
lcd.clear();
lcd.print("Nilai=");
void loop()
adc = analogRead(0);
if(adc<25) nilai=0;
www.inkubator-teknologi.com Page 56
Contoh program/aplikasi ARDUINO
// lcd_gotoxy (6+pos,1);
lcd.setCursor(6+pos,1);
lcd.print(nilai);
if(digitalRead(tombolSET)==LOW){
setpoint=setpoint*10+nilai;
lcd.setCursor(6,1);
lcd.print(setpoint);
pos++;
delay(200);
delay(100);
www.inkubator-teknologi.com Page 57