YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

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.


Related Documents