Membuat Counter 7 Segment 2,3 Inch Menggunakan Arduino Uno


 Kali ini saya akan membagikan bagaimana cara membuat Counter Up dan Down Menggunakan Arduino Uno dan akan di tampilkan di Modul 7 Segment 2,3 inch dengan menggunakan 3 Buah tombol untuk mengendalikan counter tersebut. Bagi kalian yang ingin membuat atau mencoba percobaan kali ini kalian perlu menyiapkan bahan sebagai berikut:

1. Modul 7 Segment 2,3 Inch Beli
2. Arduino Uno
3. DMD Uno Shield Beli
4. Tombol 3 Buah
5. Kabel Secukupnya
6. Power Supply 12V

Setelah bahan lengkap silahkan dirangkai sesuai skema rangkaian dibawah ini: 



Jika Rangkaian sudah selesai Buatlah Program Counter seperti di bawah ini:

================================== SOURCE CODE ==================================
#include "Wire.h"
#define Data 5
#define Clk  4
#define Ser  2

byte digit1[11] = {0xFC, 0x50  , 0xBA, 0xDA, 0x56, 0xCE, 0xEE, 0x58, 0xFE, 0xDE};//2,3 Inch

int Up    = A0;
int Down  = A1;
int Reset = A2;
int Satuan,Puluhan,Ratusan,Ribuan;
unsigned long Counter = 0;

void setup(){
  pinMode(Data, OUTPUT);
  pinMode(Clk, OUTPUT);
  pinMode(Ser, OUTPUT);
  pinMode(Up, INPUT_PULLUP);
  pinMode(Down, INPUT_PULLUP);
  pinMode(Reset, INPUT_PULLUP);
}

void loop(){
    Satuan      = Counter % 10/1;        
    Puluhan     = Counter % 100/10;        
    Ratusan     = Counter % 1000/100;
    Ribuan      = Counter % 10000/1000;
     
    if(digitalRead(Up)==LOW){
      delay(200);
      Counter++;
    }
    
   if(digitalRead(Down)==LOW){
    delay(200);
      Counter--;
    }
    
     if(digitalRead(Reset)==LOW){
    delay(200);
      Counter=0;
    }

    if(Counter >= 9999){
      Counter = 0;
    }
    if(Counter <= 0000){
      Counter = 0;
    }
  {           
    digitalWrite(Ser, LOW);
    shiftOut(Data, Clk, MSBFIRST, digit1[Ribuan]);
    shiftOut(Data, Clk, MSBFIRST, digit1[Ratusan]);
    shiftOut(Data, Clk, MSBFIRST, digit1[Puluhan]);
    shiftOut(Data, Clk, MSBFIRST, digit1[Satuan]);
    digitalWrite(Ser, HIGH);
        }
      }

lalu Upload program tersebut ke Board Arduino yang sudah siap dipakai. 

Program Diatas Digunakan untuk 4 Digit Jika ingin Menggunakan 2 Digit Gunakan Rangkaian dibawah ini:

Dibawah ini Program untuk 2 Digit:



================================== SOURCE CODE ==================================
#include "Wire.h"
#define Data 5
#define Clk  4
#define Ser  2

byte digit1[11] = {0xFC, 0x50  , 0xBA, 0xDA, 0x56, 0xCE, 0xEE, 0x58, 0xFE, 0xDE};//2,3 Inch

int Up    = A0;
int Down  = A1;
int Reset = A2;
int Satuan,Puluhan,Ratusan,Ribuan;
unsigned long Counter = 0;

void setup(){
  pinMode(Data, OUTPUT);
  pinMode(Clk, OUTPUT);
  pinMode(Ser, OUTPUT);
  pinMode(Up, INPUT_PULLUP);
  pinMode(Down, INPUT_PULLUP);
  pinMode(Reset, INPUT_PULLUP);
}

void loop(){
    Satuan      = Counter % 10/1;        
    Puluhan     = Counter % 100/10;        
     
    if(digitalRead(Up)==LOW){
      delay(200);
      Counter++;
    }
    
   if(digitalRead(Down)==LOW){
    delay(200);
      Counter--;
    }
    
     if(digitalRead(Reset)==LOW){
    delay(200);
      Counter=0;
    }

    if(Counter >= 99){
      Counter = 0;
    }
    if(Counter <= 00){
      Counter = 0;
    }
  {           
    digitalWrite(Ser, LOW);
    shiftOut(Data, Clk, MSBFIRST, digit1[Satuan]);
    shiftOut(Data, Clk, MSBFIRST, digit1[Puluhan]);
    digitalWrite(Ser, HIGH);
        }
      }



Selamat Mencoba...!!

No comments

Dicky B_Mz. Powered by Blogger.