Display Horizontal

Bismillahirrahmanirrahim, Assalamu’alaikum Warahmatullahi Wabarakaatuh

Sholawat
Allahumma sholli ‘ala Muhammad wa ‘ala ali Muhammad

Hai Sobat IOTkece, Bagaimana kabarnya ? Luar Biasa Bukan…. kali ini kita akan belajar cara membuat counter dengan menggunakan Seven Segment 4 DIgit. Kita akan menggunakan 3 tombol, yaitu tombol untuk up counter, down counter, dan juga tombol reset

Dibawah ini adalah penampakan dari Seven Segment 4 DIgit yang akan kita gunakan pada tutorial kali ini

Seven Segment 4 DIgit

Jika sobat belum pernah menggunakan seven segment 4 digit, saya sarankan untuk membaca tutorial dibawah ini terlebih dahulu

Baca Juga : Cara Mudah Mengakses Seven Segment 4 Digit

Langsung saja kita menuju ke tutorialnya

Counter Seven Segment 4 Digit

1. Persiapkan Alat dan Bahan

  1. Arduino UNO
  2. Seven Segment 4 Digit Arduino
  3. Push Button 3 Buah
  4. Kabel Jumper
  5. USB Transfer Arduino
  6. Komputer / Laptop yang sudah terinstal Arduino IDE, jika belum menginstal Arduino IDE klik disini

2. Wiring

Rangkai Seperti gambar dibawah ini

  • Pin 1 ( Pin E) -> Pin 6
  • Pin 2 (Pin D) -> Pin 7
  • Pin 3 (Pin Desimal /Titik)
  • Pin 4 (Pin C) -> Pin 8
  • Pin 5 (Pin G) -> Pin 9
  • Pin 6 (Pin Digit 4) -> Pin 4
  • Pin 7 (Pin B) -> Pin 10
  • Pin 8 (Pin Digit 3) -> Pin 3
  • Pin 9 (Pin Digit 2) -> Pin 2
  • Pin 10 (Pin F) -> Pin 11
  • Pin 11 (Pin A) -> Pin 12
  • Pin 12 (Pin Digit 1) -> Pin 5
  • Pin Push Button UP -> A0
  • Pin Push Button DOWN -> A1
  • Pin Push Button RESET -> A2
Wiring Counter Seven Segment 4 Digit

3. Program

Ketik ulang program yang ada di bawah ini agar sobat lebih cepat memahami bahasa yang digunakan pada Arduino

/* 
 *  Tutorial By IOTkece
 */

#define OFF LOW
#define ON HIGH

unsigned int count;

int pinA = 12;
int pinB = 10;
int pinC = 8;
int pinD = 7;
int pinE = 6;
int pinF = 11;
int pinG = 9;

int dig1 = 5;
int dig2 = 2;
int dig3 = 3;
int dig4 = 4;

 /* 
    A
   ---
F |   | B
  | G |
   ---
E |   | C
  |   |
   ---  . dec
    D
    
*/
          
void setup() {
  for(char i=2; i<13; i++){
    pinMode(i,OUTPUT);
  }
 
  pinMode(A0,INPUT);
  pinMode(A1,INPUT);
  pinMode(A2,INPUT);
  digitalWrite(A0,1);
  digitalWrite(A1,1);
  digitalWrite(A2,1);
}

void loop() {  
  char seg1 = int(count)/1000;
  char seg2 = (int(count)%1000)/100;
  char seg3 = (int(count)%100)/10;
  char seg4 = (int(count)%100)%10; 

  if (count < 10){
    seg1=10;
    seg2=10;
    seg3=10;
  }
  else if (count < 100){
    seg1=10;
    seg2=10;
  }
  else if (count < 1000){
    seg1=10;
  }
 
  digitalWrite(dig4,OFF);
  digitalWrite(dig1,ON);
  displaySeg(seg1);
  delay(5);
 
  digitalWrite(dig1,OFF);
  digitalWrite(dig2,ON);
  displaySeg(seg2);
  delay(5);
 
  digitalWrite(dig2,OFF);
  digitalWrite(dig3,ON);
  displaySeg(seg3);
  delay(5);
 
  digitalWrite(dig3,OFF);
  digitalWrite(dig4,ON);
  displaySeg(seg4);
  delay(5);

 
  if (digitalRead(A0)==0 && count < 9999){
    count++;
    delay(200);
  }
  else if(digitalRead(A1)==0 && count != 0){
    count--;
    delay(200);
  }
  else if(digitalRead(A2)==0){
    count=0;
  }
}

void displaySeg(char segment){
 switch (segment){
   case 0: nol(); break;
    case 1: satu(); break;
    case 2: dua(); break;
    case 3: tiga(); break;
    case 4: empat(); break;
    case 5: lima(); break;
    case 6: enam(); break;
    case 7: tujuh(); break;
    case 8: delapan(); break;
    case 9: sembilan(); break;
   case 10: sepuluh(); break;
 }
}
void nol(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, OFF);
digitalWrite(pinC, OFF);
digitalWrite(pinD, OFF);
digitalWrite(pinE, OFF);
digitalWrite(pinF, OFF);
digitalWrite(pinG, ON);
}

void satu(){
digitalWrite(pinA, ON);
digitalWrite(pinB, OFF);
digitalWrite(pinC, OFF);
digitalWrite(pinD, ON);
digitalWrite(pinE, ON);
digitalWrite(pinF, ON);
digitalWrite(pinG, ON);
}

void dua(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, OFF);
digitalWrite(pinC, ON);
digitalWrite(pinD, OFF);
digitalWrite(pinE, OFF);
digitalWrite(pinF, ON);
digitalWrite(pinG, OFF);
}

void tiga(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, OFF);
digitalWrite(pinC, OFF);
digitalWrite(pinD, OFF);
digitalWrite(pinE, ON);
digitalWrite(pinF, ON);
digitalWrite(pinG, OFF);
}

void empat(){
digitalWrite(pinA, ON);
digitalWrite(pinB, OFF);
digitalWrite(pinC, OFF);
digitalWrite(pinD, ON);
digitalWrite(pinE, ON);
digitalWrite(pinF, OFF);
digitalWrite(pinG, OFF);
}

void lima(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, ON);
digitalWrite(pinC, OFF);
digitalWrite(pinD, OFF);
digitalWrite(pinE, ON);
digitalWrite(pinF, OFF);
digitalWrite(pinG, OFF);
}

void enam(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, ON);
digitalWrite(pinC, OFF);
digitalWrite(pinD, OFF);
digitalWrite(pinE, OFF);
digitalWrite(pinF, OFF);
digitalWrite(pinG, OFF);
}

void tujuh(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, OFF);
digitalWrite(pinC, OFF);
digitalWrite(pinD, ON);
digitalWrite(pinE, ON);
digitalWrite(pinF, ON);
digitalWrite(pinG, ON);
}

void delapan(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, OFF);
digitalWrite(pinC, OFF);
digitalWrite(pinD, OFF);
digitalWrite(pinE, OFF);
digitalWrite(pinF, OFF);
digitalWrite(pinG, OFF);
}

void sembilan(){
digitalWrite(pinA, OFF);
digitalWrite(pinB, OFF);
digitalWrite(pinC, OFF);
digitalWrite(pinD, OFF);
digitalWrite(pinE, ON);
digitalWrite(pinF, OFF);
digitalWrite(pinG, OFF);
}

void sepuluh(){
digitalWrite(pinA, ON);
digitalWrite(pinB, ON);
digitalWrite(pinC, ON);
digitalWrite(pinD, ON);
digitalWrite(pinE, ON);
digitalWrite(pinF, ON);
digitalWrite(pinG, ON);
}



4. Pengujian

  1. Upload program di atas ke Arduino, jika belum tahu cara upload program klik disini
  2. Wiring Arduino sesuai pada gambar wiring di atas
  3. Biarkan Arduino tetap terkoneksi pada PC/Laptop sobat
  4. Coba push button satu per satu apakah sesuai dengan fungsinya
  5. Selamat mencoba

Jika hasil yang ditampilkan tidak membentuk karakter yang beraturan, tapi menampilkan karakter yang tidak jelas, sobat bisa mencoba cara dibawah ini

Cari script program dalam Arduino seperti dibawah ini

#define ON HIGH
#define OFF LOW 

Ganti dengan script dibawah ini

#define ON LOW
#define OFF HIGH 

Bagaimana, mudah bukan dalam membuat Counter Seven Segment 4 Digit, semoga tutorial ini bermanfaat bagi sobat semuanya

Selamat mencoba sobat, ceritakan pengalaman sobat di kolom komentar yaaa. Dan jangan lupa bagikan ke teman atau saudara sobat yang membutuhkan informasi ini

Terimakasih, Wassalamualaikum Warahmatullahi Wabarakatuh

“Malas, Itulah Yang Akan Menghancurkanmu”

#IOTkece

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *