You are on page 1of 57

Contoh program/aplikasi ARDUINO

CONTOH PROGRAM/APLIKASI
PROGRAM/APLIKASI ARDUINO

1. Mengontrol kecepatan motor servo


Hardware :

• 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

2. Motor stepper half step


Hardware :

• 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);

Aksi : motor stepper akan berputar per-step.

www.inkubator-teknologi.com Page 3
Contoh program/aplikasi ARDUINO

3. Motor stepper full step


Hardware :

• 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);

Aksi : motor stepper akan berputar per-step.

4. Kontrol robot lengan via PC


Hardware :

• Robot Arm dengan motor servo


• Arduino UNO

V serv o

SER VO 1 SER VO 2 SER VO 3 SER VO 4 SER VO 5


1

(B ASE) (SH OU L D ER ) (ELB OW ) (W R IST) (GR IP)


+ + + + +

2 2 2 2 2
A A A A A
- - - - -
3

pin 2 pin 3 pin 4 pin 5 pin 6

#include <Servo.h>

Servo servo1;

Servo servo2;

Servo servo3;

www.inkubator-teknologi.com Page 5
Contoh program/aplikasi ARDUINO

Servo servo4;

Servo servo5;

unsigned int sudut;

String inString="",temStr;

char str;

unsigned int nomor,l,i;

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);

Serial.println("ROBOT ARM CONTROLLER");

void loop(){

if(Serial.available()>0)

str = Serial.read();

if(str!='\n')

inString += (char)str;

else if (str == '\n')

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){

case 1:servo1.write(sudut); break;

case 2:servo2.write(sudut); break;

case 3:servo3.write(sudut); break;

case 4:servo4.write(sudut); break;

case 5:servo5.write(sudut); break;

inString = "";

Aksi : kirim perintahnya dari serial komunikasi maka servo akan berputar.

5. Membuat tone 3x dengan Arduino


Hardware :

• 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(){

Aksi : Buzzer akan berbunyi 3x

6. Traffic Light Simulator


Hardware :

• 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.

7. Ultrasonic Range Finder


Hardware :

• 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>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

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);

int distance = pulseIn(ECHOPIN, HIGH);

distance= distance/58;

lcd.setCursor(6, 1);

lcd.print(distance);

lcd.print(" cm ");

delay(1000);

Aksi : Pada LCD tampil jarak yang diukur.

8. Membuat piano dengan tombol


Hardware :

• 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);

Aksi : Tekan tombol maka buzzer mengeluarkan nada do – re – mi dst..

9. Membuat pengkur tinggi badan


Hardware :

• Arduino UNO
• Sensor jarak ultrasonic SRF04/05
• LCD 2x16

Tinggi Badan (H2)=Ht-H1


H1=jarak sensor ke kepala objek

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>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

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);

int distance = pulseIn(ECHOPIN, HIGH);

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.

10. Pengisian Tangki Air Otomatis


Hardware :

• Arduino UNO
• Sensor jarak ultrasonic SRF04/05
• Relay + driver relay

MOTOR utk Pompa Air


K1 SRF05
5 12 Vdc
1

3
4
1
2
VCC
TRIG

ECHO

RELAY SPDT DIODE +5V GND


3

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);

int distance = pulseIn(ECHOPIN, HIGH);

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

11. Kontrol Relay


Hardware :

• 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

12. Kontrol 8 Relay via Komputer


Hardware :

• 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);

Serial.println("Kontrol Relay via PC");

void loop()

in_serial=Serial.read(); //masih kode ASCII

str=char(in_serial); //ngerubah ke string

switch(str){

case '1': //Relay 1 ON

digitalWrite(RL1,1);

case '2': //Relay 2 ON

digitalWrite(RL2,1);

case '3': //Relay 3 ON

digitalWrite(RL3,1);

case '4': //Relay 4 ON

digitalWrite(RL4,1);

case '5': //Relay 5 ON

digitalWrite(RL5,1);

case '6': //Relay 6 ON

digitalWrite(RL6,1);

case '7': //Relay 7 ON

digitalWrite(RL7,1);

case '8': //Relay 8 ON

digitalWrite(RL8,1);

case 'a': //Relay 1 OFF

digitalWrite(RL1,0);

www.inkubator-teknologi.com Page 21
Contoh program/aplikasi ARDUINO

case 'b': //Relay 1 OFF

digitalWrite(RL2,0);

case 'c': //Relay 1 OFF

digitalWrite(RL3,0);

case 'd': //Relay 1 OFF

digitalWrite(RL4,0);

case 'e': //Relay 1 OFF

digitalWrite(RL5,0);

case 'f': //Relay 1 OFF

digitalWrite(RL6,0);

case 'g': //Relay 1 OFF

digitalWrite(RL7,0);

case 'h': //Relay 1 OFF

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.

13. Counting Down


Hardware :

• 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;

void sevenSegWrite(byte segment) {

byte pin = 2;

for (byte segCount = 0; segCount < 7; ++segCount) {

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);

Aksi : pada 7 Segment tampil angka ‘9’ kemudian ‘8’ dst.

14. Counting down 2 digit


Hardware :

• 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;

byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0

{ 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;

void sevenSegWrite(byte segment) {

byte pin = 2;

for (byte segCount = 0; segCount < 7; ++segCount) {

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.

15. Counter dari Tombol


Hardware :

• 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;

byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0

{ 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);

void sevenSegWrite(byte segment) {

byte pin = 2;

for (byte segCount = 0; segCount < 7; ++segCount) {

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.

16. Set Cursor pada LCD


Hardware :

• 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>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

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(){

Aksi : Awal tulisan pada LCD sesuai dengan setingan setCursor.

17. AutoScroll pada LCD


Hardware :

• Arduino UNO
• LCD

#include <LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup() {

lcd.begin(16,2);

www.inkubator-teknologi.com Page 29
Contoh program/aplikasi ARDUINO

void loop() {

lcd.setCursor(0, 0);

for (int angka = 0; angka < 10; angka++) {

lcd.print(angka);

delay(500);

lcd.setCursor(16,1);

lcd.autoscroll();

for (int angka = 0; angka < 10; angka++) {

lcd.print(angka);

delay(500);

lcd.noAutoscroll();

lcd.clear();

Aksi : Tampil angka 0, 1, 2 dst..

18. Blink Display pada LCD


Hardware :

• Arduino UNO
• LCD

#include <LiquidCrystal.h>

LiquidCrystal lcd(2,3, 4, 5, 6, 7);

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);

Aksi : Muncul kursor blink

19. Membuat Karakter Unik pada LCD


Hardware :

• Arduino UNO
• LCD

// include the library code:

#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.print(" Arduino! ");

lcd.write(2);

void loop() {

Aksi : pada LCD baris 1 muncul “ I [gambar hati] Arduino! ☺”

20. Animasi LCD


Hardware :

• Arduino UNO
• LCD

www.inkubator-teknologi.com Page 32
Contoh program/aplikasi ARDUINO

// include the library code:

#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.print(" Inkubatek Jogja");

//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

21. Jam Digital


Hardware :

• 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

#if defined(ARDUINO) && ARDUINO >= 100

#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>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup()

Serial.begin(9600);

lcd.begin(16, 2);

lcd.print(" Jam Digital ");

lcd.setCursor(0,1);

lcd.print(" ARDUINO UNO R3");

delay(2000);

lcd.clear();

RTC.stop();

RTC.set(DS1307_SEC,1); //set the seconds

RTC.set(DS1307_MIN,23); //set the minutes

RTC.set(DS1307_HR,12); //set the hours

RTC.set(DS1307_DOW,4); //set the day of the week

RTC.set(DS1307_DATE,5); //set the date

RTC.set(DS1307_MTH,3); //set the month

RTC.set(DS1307_YR,9); //set the year

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(RTC.get(DS1307_MIN,false));//read minutes without update (false)

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("/");

lcd.print(RTC.get(DS1307_YR,false)); //read year

delay(1000);

Aksi : Tampil nilai jam dan tanggal pada LCD

22. Interfacing Keypad 4x3


Hardware :

• 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>

const byte ROWS = 4; //4 baris

const byte COLS = 3; //3 kolom

char keys[ROWS][COLS] = {

{'1','2','3'},

{'4','5','6'},

{'7','8','9'},

{'*','0','#'}

};

byte rowPins[ROWS] = {2, 3, 4, 5}; //koneksi baris ke pin Arduino

byte colPins[COLS] = {6, 7, 8}; //koneksi kolom ke pin Arduino

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){

Serial.begin(9600); //baud rate 9600 bps

void loop(){

www.inkubator-teknologi.com Page 38
Contoh program/aplikasi ARDUINO

char key = keypad.getKey();//baca keypad

if (key != NO_KEY){ //jika ada tombol ditekan

Serial.println(key);//kirim tombol ke serial

Aksi : Tekan tombol pada keypad, hasilnya tampil pada Serial Monitor.

23. 4 Channel Sensor Suhu LM35


Hardware :

• 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>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

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.

24. Thermostat Arduino


Hardware :

• 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>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

int adc,T,SetPoint;

void setup()

pinMode(10,HIGH);

lcd.begin(16, 2);

www.inkubator-teknologi.com Page 41
Contoh program/aplikasi ARDUINO

lcd.print(" Thermostat ");

lcd.setCursor(0, 1);

lcd.print(" ARDUINO ");

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.

25. Jam dengan Alarm


Hardware :

• 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

#if defined(ARDUINO) && ARDUINO >= 100

#include "Arduino.h"

#else

#include "WProgram.h"

#endif

#define buzzer 10

#include <Wire.h>

#include <DS1307.h>

#include <LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

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.set(DS1307_SEC,1); //set the seconds

RTC.set(DS1307_MIN,23); //set the minutes

RTC.set(DS1307_HR,12); //set the hours

RTC.set(DS1307_DOW,4); //set the day of the week

RTC.set(DS1307_DATE,5); //set the date

RTC.set(DS1307_MTH,3); //set the month

RTC.set(DS1307_YR,9); //set the year

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(RTC.get(DS1307_MIN,false));//read minutes without update (false)

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).

26. Pengaman pintu dengan password


Hardware :

• 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

RELAY SPDT DIODE 4


3

0
* #
3

1K
2 9
A1 10
11 5
2N2222 12
1

Q12 13
A0 6
7
8

#include <Keypad.h>

const byte ROWS = 4; //4 baris

const byte COLS = 3; //3 kolom

char keys[ROWS][COLS] = {

{'1','2','3'},

{'4','5','6'},

{'7','8','9'},

www.inkubator-teknologi.com Page 45
Contoh program/aplikasi ARDUINO

{'*','0','#'}

};

byte rowPins[ROWS] = {2, 3, 4, 5}; //koneksi baris ke pin Arduino

byte colPins[COLS] = {6, 7, 8}; //koneksi kolom ke pin Arduino

char pw[3]={'1','2','3'};

char kp[3];

byte u;

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

#include <LiquidCrystal.h>

LiquidCrystal lcd(9, 10, 11, 12, 13, A0);

#define pintu A1

void setup(){

Serial.begin(9600); //baud rate 9600 bps

lcd.begin(16, 2);

lcd.print("Masukkan Password");

lcd.setCursor(0,1);

void loop(){

char key = keypad.getKey();//baca keypad

if (key != NO_KEY){ //jika ada tombol ditekan

Serial.println(key);//kirim tombol ke serial

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.

27. Mesin antrian 1 loket


Hardware :

• 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;

byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0

{ 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

void sevenSegWrite(byte segment) {

byte pin = 2;

for (byte segCount = 0; segCount < 7; ++segCount) {

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

Aksi : Tekan tombol maka tampilan 7 segment

28. Mesin antrian 3 loket


Hardware :

• Arduino UNO
• LCD
• 7 Segment Display
• Buzzer
• 3 Tombol push button (push 0n)

Loket 1 LCD 2x16


VCC
10
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)
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>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

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.print("LK1 LK2 LK3");

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

29. Mesin Quiz/tebak tepat


Hardware :

• 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

RELAY SPDT DIODE

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

RELAY SPDT DIODE


3

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’.

30. Seting Nilai Tanpa Keypad


Hardware :

• 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

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

int adc,nilai, pos, setpoint;

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;

else if(adc<50) nilai=1;

else if(adc<75) nilai=2;

else if(adc<100) nilai=3;

else if(adc<125) nilai=4;

else if(adc<150) nilai=5;

else if(adc<175) nilai=6;

else if(adc<200) nilai=7;

else if(adc<225) nilai=8;

else if(adc<250) nilai=9;

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);

Aksi : Putar potensiometer, tentukan nilainya dengan menekan tombol.

www.inkubator-teknologi.com Page 57

You might also like