Counter Up dan Counter Down dengan Display 7 Segment 4 Digit With Arduino Uno

Artikel Terkait Proyek Arduino
Proyek Counter Up dan Counter Down dengan Display 7 Segment 4 Digit With Arduino Uno ini cocok untuk pemula yang sedang belajar pemrograman arduino. Disini pemula bisa belajar bagaimana menggunakan input berupa tombol tact switch yang diolah oleh arduino sehingga bisa menampilkan Angka pada 7 segment. Setelah belajar proyek ini, anda dapat mengembangkannya sesuai dengan keinginan anda.



Kebutuhan Hardware :

1. Arduino Uno

2. Tact Switch

3. 7 Segement Common Anoda 4 Digit



Untuk Pembelian Komponen bisa BELI DISINI.



Berikut ini adalah Schematicnya :







Setelah terkoneksi dengan baik silahkan upload sketch dibawah ini :




/***************************

Counter Up/Down 4 Digit 7 Segment



Oleh: Workshop Electronics 3 in 1

Website: www.arduinoindonesia.id

Toko Online: www.workshopelectronics3in1.com

Blog: mycoding.id

Profil: www.workshopelectronics3in1.co.id



Copyright @2017

****************************/

unsigned int count;



int segA = 2;

int segB = 3;

int segC = 4;

int segD = 5;

int segE = 6;

int segF = 7;

int segG = 8;



int dig1 = 9;

int dig2 = 10;

int dig3 = 11;

int dig4 = 12;



          

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(12,1);

  digitalWrite(9,0);

  displaySeg(seg1);

  delay(5);

 

  digitalWrite(9,1);

  digitalWrite(10,0);

  displaySeg(seg2);

  delay(5);

 

  digitalWrite(10,1);

  digitalWrite(11,0);

  displaySeg(seg3);

  delay(5);

 

  digitalWrite(11,1);

  digitalWrite(12,0);

  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: digitalWrite(segA,0);

           digitalWrite(segB,0);

           digitalWrite(segC,0);

           digitalWrite(segD,0);

           digitalWrite(segE,0);

           digitalWrite(segF,0);

           digitalWrite(segG,1);

           break;

   case 1: digitalWrite(segA,1);

           digitalWrite(segB,0);

           digitalWrite(segC,0);

           digitalWrite(segD,1);

           digitalWrite(segE,1);

           digitalWrite(segF,1);

           digitalWrite(segG,1);

           break;

   case 2: digitalWrite(segA,0);

           digitalWrite(segB,0);

           digitalWrite(segC,1);

           digitalWrite(segD,0);

           digitalWrite(segE,0);

           digitalWrite(segF,1);

           digitalWrite(segG,0);

           break;

   case 3: digitalWrite(segA,0);

           digitalWrite(segB,0);

           digitalWrite(segC,0);

           digitalWrite(segD,0);

           digitalWrite(segE,1);

           digitalWrite(segF,1);

           digitalWrite(segG,0);

           break;

   case 4: digitalWrite(segA,1);

           digitalWrite(segB,0);

           digitalWrite(segC,0);

           digitalWrite(segD,1);

           digitalWrite(segE,1);

           digitalWrite(segF,0);

           digitalWrite(segG,0);

           break;

   case 5: digitalWrite(segA,0);

           digitalWrite(segB,1);

           digitalWrite(segC,0);

           digitalWrite(segD,0);

           digitalWrite(segE,1);

           digitalWrite(segF,0);

           digitalWrite(segG,0);

           break;

   case 6: digitalWrite(segA,0);

           digitalWrite(segB,1);

           digitalWrite(segC,0);

           digitalWrite(segD,0);

           digitalWrite(segE,0);

           digitalWrite(segF,0);

           digitalWrite(segG,0);

           break;

   case 7: digitalWrite(segA,0);

           digitalWrite(segB,0);

           digitalWrite(segC,0);

           digitalWrite(segD,1);

           digitalWrite(segE,1);

           digitalWrite(segF,1);

           digitalWrite(segG,1);

           break;

   case 8: digitalWrite(segA,0);

           digitalWrite(segB,0);

           digitalWrite(segC,0);

           digitalWrite(segD,0);

           digitalWrite(segE,0);

           digitalWrite(segF,0);

           digitalWrite(segG,0);

           break;

   case 9: digitalWrite(segA,0);

           digitalWrite(segB,0);

           digitalWrite(segC,0);

           digitalWrite(segD,0);

           digitalWrite(segE,1);

           digitalWrite(segF,0);

           digitalWrite(segG,0);

           break;

   case 10: digitalWrite(segA,1);

           digitalWrite(segB,1);

           digitalWrite(segC,1);

           digitalWrite(segD,1);

           digitalWrite(segE,1);

           digitalWrite(segF,1);

           digitalWrite(segG,1);

           break;

 }

}









Katalog produk arduino, cek dibawah ini.


Rekomendasi Web Hosting
  1. 20rb perbulan. Diskon hingga 40% kode kupon: MCP Daftar disini (apache).
  2. 10rb perbulan. Diskon hingga 75% kode kupon: MCP Daftar disini (litespeed).
  3. 10rb perbulan. Diskon hingga 70% kode kupon: aff-MCP Daftar disini (apache).