-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 1
CONTOH PROGRAM/CONTOH PROGRAM/CONTOH PROGRAM/CONTOH
PROGRAM/APLIKASI ARDUINOAPLIKASI ARDUINOAPLIKASI ARDUINOAPLIKASI
ARDUINO
1. Mengontrol kecepatan motor servo
Hardware :
Arduino UNO
Potensio/VR
Motor Servo
#include
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.
R1
POT
13
2
Analog
Input D
igital Inpu
t/Ou
tput
Power
Arduino UNO
U1
PWMPWMPWM
PWMPWM
PWM
TXRXA5
A4
GN
D
Vin5V3V3
RST
AREFF
A0A1A2A3
D13D12D11D10
D9D8
D7D6D5D4D3D2
D1D0
A-
+
MG1MOTOR SERVO
13
2
V serv o
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 2
2. Motor stepper half 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,1);
digitalWrite(9,1);
digitalWrite(10,0);
digitalWrite(11,0);
delay(50);
digitalWrite(8,0);
digitalWrite(9,1);
digitalWrite(10,0);
VCC
MOTOR STEPPERCA
B DD8
D10D11
D9
U3
L293D
27
1015
19
361114
16 84 5 13 12
1A2A3A4A
1,2EN3,4EN
1Y2Y3Y4Y
VCC
1
VCC
2G
ND
GN
DG
ND
GN
D
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 3
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.
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 4
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 5
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
#include
Servo servo1;
Servo servo2;
Servo servo3;
pin 4pin 2
A-
+
13
2
SERVO 1(BASE)
V serv o
SERVO 4(W RIST)
pin 5
SERVO 2(SHOULDER)
A-
+
13
2
SERVO 3(ELBOW )
SERVO 5(GRIP)
A-
+
13
2
pin 3 pin 6
A-
+
13
2A-
+
13
2
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 6
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')
{
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 7
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 8
int i;
void setup(){
for(i=0;i
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 9
#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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 10
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 11
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 12
#define ECHOPIN 10
#define TRIGPIN 11
#include
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);
ECHO
GND
2
4
VR
10 K
13
2
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
VCCTRIG
3
611
VCC
pin ARDUINO
5
SRF05
10
+5V
7
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 13
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
void setup(){
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(7,INPUT);
SW 6 (La)
R1
100 ohm
SW 4 (Fa)
D8
D7
SW 7 (Si)
SW 5 (Sol)D6
D4
SW 1 (Do)
D9
D3
LS1
SPEAKER
SW 8 (Do)
D2
D5
SW 2 (Re)SW 3 (Mi)
D10
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 14
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
}
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 15
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 16
#define ECHOPIN 10
#define TRIGPIN 11
#include
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);
ECHO
GND
2
4
VR
10 K
13
2
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
VCC
TRIG
3
611
VCC
pin ARDUINO
5
SRF05
10
+5V
7
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 17
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
#define ECHOPIN 10
#define TRIGPIN 11
#define pompa 12
int H2,HT,H1,SetPoint;
void setup(){
Volt source
12
GNDECHO
11
K1
RELAY SPDT
35
412
12
VCC
12 Vdc
TRIG
DIODE
10
1K
+5V
SRF05
2N2222
3
2
1
MOTOR utk Pompa Air
12
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 18
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.
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 19
11. Kontrol Relay
Hardware :
Arduino UNO
Relay + driver relay
2 Tombol
#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.
OFFON12 Vdc
1K
4
2
K1
RELAY SPDT
35
412
D36DIODE
3
Q122N2222
3
2
1
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 20
12. Kontrol 8 Relay via Komputer
Hardware :
8 Relay + driver
Arduino UNO
#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);
1K
RL8
RELAY SPDT
35
412
D36DIODE
2
Q122N2222
3
2
1
9
D36DIODE
Q122N2222
3
2
1
1K
12 VdcRL1
RELAY SPDT
35
412
12 Vdc
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 21
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 22
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
byte nilai;
byte seven_seg_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0
56
2
o
9 h7
4
g
VCC
d
a
f
8
c3b
e
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 23
{ 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;
}
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 24
}
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
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
g
5
3
2
c
10
1
2
3
e
4
a
8
VCC
6
1
2
3
7h
b
o
R 8x330
9
f
21
d
11
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 25
{ 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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 26
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
#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
Tom bol 3
68
ef
1
2
3
a
7
VCC
R 8x330
4
o
1110
12
h
5
2
c
12
d
9
1
2
3
g
b
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 27
{ 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;
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 28
}
}
void loop() {
if(digitalRead(tombol)==0){
jumlah++;
}
for(i=0;i
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 29
#include
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 lcd(2, 3, 4, 5, 6, 7);
void setup() {
lcd.begin(16,2);
7
2
4
pin ARDUINO
3
VR
10 K
13
2
6
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
VCC
5
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 30
}
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 lcd(2,3, 4, 5, 6, 7);
void setup() {
lcd.begin(16, 2);
}
void loop() {
lcd.setCursor(0,0);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 31
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 lcd(2,3,4,5,6,7);
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 32
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 33
// include the library code:
#include
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 34
}
void loop() {
lcd.clear();
lcd.print(" Inkubatek Jogja");
//lcd.setCursor(0,15);
for(i=0;i
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 35
21. Jam Digital
Hardware :
Arduino UNO
LCD
RTC DS1307
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
VCC
7
Y232,768 KHz
SCL
2
4
R33K
SDA
pin ARDUINO
3
VR
10 K
13
2
6
3V
BATTERY
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
U2
DS13074
7
5 12
6
3
8G
NDSQW/OUT
SDA X1X2
SCLK
VBAT
VCC
VCCR23K
VCC
5
Pin SCL
Pin SDA
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 36
#include
#include
#include
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 37
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 38
#include
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(){
Anal
og I
nput D
igital
Inpu
t/Ou
tput
Power
Arduino UNO
U1
PWMPWMPWM
PWMPWM
PWM
TXRXA5
A4
GN
D
Vin5V3V3
RST
AREFF
A0A1A2A3
D13D12D11D10
D9D8
D7D6D5D4D3D2
D1D0
#0
98
4
*
5
1
6
7
2 3
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 39
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 VCC
7
R1547
2
R1547
VCC U4
LM35
1 2
3
VS+ VOUT
GN
D
4
A3
C51uF
5
VR
10 K
13
2
U4
LM35
1 2
3
VS+ VOUT
GN
D
A1
C51uF
3
A0
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
pin ARDUINO
VCC
VCC
U4
LM35
1 2
3
VS+ VOUT
GN
D
6
C51uF
R1547
C51uF
U4
LM35
1 2
3
VS+ VOUT
GN
D
R1547
A2
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 40
#include
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 41
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
#include
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int adc,T,SetPoint;
void setup()
{
pinMode(10,HIGH);
lcd.begin(16, 2);
6
A0R1547
4
12 Vdc
U4
LM35
1 2
3
VS+ VOUT
GN
D
Q122N2222
3
2
1
VR
10 K
13
2
K1
RELAY SPDT
35
412
D36DIODE
2
5
C51uFke HEATER
12
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
7
3
VCC
1K
VCC
10
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 42
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 43
}
Aksi : jika suhu>SP (500C) maka relay aktif, menghidupkan
heater. Jika suhu = 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#define buzzer 10
#include
#include
#include
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
byte jam,menit;
void setup()
VCC
7
Y232,768 KHz
SCL
2
4
R33K
SDA
pin ARDUINO
3
VR
10 K1
3
2
6
3V
BATTERY
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
U2
DS13074
7
5 12
6
3
8G
NDSQW/OUT
SDA X1X2
SCLK
VBAT
VCC
VCCR23K
VCC
5
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 44
{
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 45
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
#include
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'},
2
9
VCC
13
9
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
ke selenoid
12
2
5
6
7
D36DIODE
12 Vdc
5
11
0
3
7
K1
RELAY SPDT
35
412
VR
10 K
13
2
1K
3
1
8
A012
4
*
A1
4
8
Q122N2222
3
2
1
#
6
10
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 46
{'*','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 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");
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 47
}
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
3
12
Tom bol a
h
4
1
VCC
R 8x330
1
2
3
5
o7
2
9
2
e
bc13
11
68 g
10
d
f
LS2
BUZZER
1
2
3
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 48
#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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 49
}
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);
}
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 50
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)
#define Tombol1 10
#define Tombol2 11
#define Tombol3 12
#define nada 13
#include
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");
LCD 2x161
(GN
D)
2 (V
CC
)3
(VEE
)4
(RS)
5 (R
W)
6 (E
)7
(D0)
8 (D
1)9
(D2)
10 (D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
10
12
10
11
1213
LS2
BUZZER
VR
10 K
13
2Loket 3
11
13
Loket 1
Loket 2
VCC
A0
9
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 51
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 52
}
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.
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 53
29. Mesin Quiz/tebak tepat
Hardware :
Arduino UNO
LCD
7 Segment Display
Buzzer
3 tombol push on
3 lampu
#define lampuA 2
#define lampuB 3
#define lampuC 4
#define tombolA 5
#define tombolB 6
#define tombolC 7
#define bel 8
Regu A
Regu B 12 Vdc
D36DIODE
D36DIODE
ke Lampu Regu C
12
Q122N2222
32
1
12 Vdc
2
K1
RELAY SPDT
35
412
D36DIODE
6
3
Q122N2222
3
2
1
5
7
ke Lampu Regu A
12
4
12 Vdc
Q122N2222
3
2
1
K1
RELAY SPDT
35
412
Regu C
1K
1K
K1
RELAY SPDT
35
412
1K
ke Lampu Regu B
12
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 54
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);
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 55
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
#define tombolSET 8
#include
SET
7
5
3
R1
POT
13
2
8
A011
VCC
VR
10 K
13
2
4
VCC
2
6
LCD 2x16
1 (G
ND
)2
(VC
C)
3 (V
EE)
4 (R
S)5
(RW
)6
(E)
7 (D
0)8
(D1)
9 (D
2)10
(D
3)11
(D
4)12
(D
5)13
(D
6)14
(D
7)15
(A
)16
(K
)
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 56
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
-
Contoh program/aplikasi ARDUINO
www.inkubator-teknologi.com Page 57
// 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.