Top Banner
Contoh program/aplikasi ARDUINO www.inkubator-teknologi.com Page 1 CONTOH PROGRAM/ CONTOH PROGRAM/ CONTOH PROGRAM/ CONTOH PROGRAM/APLIKASI ARDUINO APLIKASI ARDUINO APLIKASI ARDUINO APLIKASI ARDUINO 1. Mengontrol kecepatan motor servo Hardware : Arduino UNO Potensio/VR Motor Servo #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. R1 POT 1 3 2 Analog Input Digital Input/Output Power Arduino UNO U1 PWM PWM PWM PWM PWM PWM TX RX A5 A4 GND Vin 5V 3V3 RST AREFF A0 A1 A2 A3 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A - + MG1 MOTOR SERVO 1 3 2 V serv o
57

Bonus Contoh Aplikasi ARDUINO

Dec 18, 2015

Download

Documents

Samsul Arifin

Contoh contoh aplikasi ARDUINO
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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.