WHAT'S NEW?
Loading...

TUTORIAL SEVEN SEGMEN DENGAN HEXADECIMAL PADA ARDUINO

TUTORIAL SEVEN SEGMEN DENGAN HEXADECIMAL PADA ARDUINO


Hallu Gaeess, Hari ini saya akan share tentang seven segmen pada arduino. Tapi untuk kali ini beda gaeesss dari sebelumnya, disini saya menggunakan hexadecimal. Kenapa kok hexadecimal ?? iya biar simpel aja scriptnya tinggal ganti aja karakternya pada array jadi deh. Langsung simak aja gaeess jangan lupa baca doa dulu ya biar mudah dimengerti scriptnya :D

Alat dan Bahan
  1. Arduino 
  2. Kabel Jumper
  3. Seven Segmen Anoda ( Jika menggunakan Katoda tinggal dibalik saja, misalkan pada anoda logika 0 maka pada katoda diberi logika 1 ) 
  4. Breadboard atau PCB ( PCB maksutnya jika mau mensolder sendiri tpi kalo buat belajaran pakek Breadboard saja atau Projectboard) 
Pemasangan Komponen
Rangkaian pada simulasi 

Rangkaian pada Breadboard/ ProjectBoard

Script Program  Arduino

char value[] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0x7F,0xFF,
                0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xFF,0xFF,0xB7,0xFF,0xFF,
                0xFF,0xA0,0x83,0xC6,0xA1,0x84,0x8E,0x90,0x8B,0xF9,0xF1,0x8D,0xC7,0xB0,0xAB,0xA3,
                0x8C,0x98,0xAF,0x92,0x87,0xE3,0x9D,0x86,0x89,0x91,0xA4,}; // Kode huruf,angka,dan beberapa operasi matematika dalam bentuk HEXA
char variasi [4][20]={{"ALFANSHTER"},     //Array 2 dimensi
                     {"PASURUAN"},
                     {"1998"}
                     };
char buffer7s[20]; 

int i,reset;
int a;
char digitalwrite8;
char data;
void setup ()
{
  for (i=3; i<=9; i++)
   pinMode (i,OUTPUT);
    
  }
void loop() {
  // put your main code here, to run repeatedly:

   
     tampilkan(variasi[0]); // untuk menampilkan variasi pada kotak 0 yaitu ALFANSHTER
     delay(1000);
     tampilkan(variasi[1]);
     delay(1000);
     tampilkan(variasi[2]);
  
  
}


void digitalWrite8 (char variasi){
  for (i=0;i<8;i++){
    digitalWrite(i+3,bitRead(variasi,i));
  }
}
void tampilkan(char buffer7s[]){
  a=0;
  while ((buffer7s[a]!=0)){
    if (reset==1) break;
    data=value[buffer7s[a]-0x20];
    digitalWrite8(data);
    delay(500);
    for(i=0;i<8;i++)
      digitalWrite(i+3,HIGH);
     delay(500);
    a++;
  }
  reset=0;
}


4 comments: Leave Your Comments