ARDUINO – UYGULAMA: 8

UYGULAMA : 7 SEGMENT DISPLAY YUKARI – AŞAĞI SAYICI
(BUTON İLE 74HC595 SHIFT REGISTER UYGULAMASI)

Gerekli Malzemeler:

  • Arduino Uno
  • Breadboard
  • 74HC595
  • 7 segment display (ortak katot)
  • Push botun (2 adet)
  • 220 ohm veya 330 ohm direnç (8 adet)
  • jumper kablolar

Kod:

int latchPin=9;
int clockPin=10;
int dataPin=8;
int artirPin=6;
int azaltPin=7;
int k=0;


char const display[11][8]={
//gf a b d c e .
{0,1,1,1,1,1,1,0}, //0
{0,0,0,1,0,1,0,0}, //1
{1,0,1,1,1,0,1,0}, //2
{1,0,1,1,1,1,0,0}, //3
{1,1,0,1,0,1,0,0}, //4
{1,1,1,0,1,1,0,0}, //5
{1,1,1,0,1,1,1,0}, //6
{0,0,1,1,0,1,0,0}, //7
{1,1,1,1,1,1,1,0}, //8
{1,1,1,1,1,1,0,0}, //9 
{0,0,0,0,0,0,0,0}  //söndür

};

void entegre(int x)
{
int a;
for(a=0 ;a<8;a++){
if(display[x][a])
digitalWrite(dataPin,HIGH);
else
digitalWrite(dataPin,LOW);

digitalWrite(clockPin,LOW);
digitalWrite(clockPin,HIGH);
}
}

void setup() {
pinMode(latchPin,OUTPUT);
pinMode(dataPin,OUTPUT);
pinMode(clockPin,OUTPUT);
pinMode(artirPin,INPUT_PULLUP);
pinMode(azaltPin,INPUT_PULLUP);
}

void loop() {

 entegre(k);
 digitalWrite(latchPin,LOW);
 digitalWrite(latchPin,HIGH);
 
if(digitalRead(artirPin)==LOW){
 k++;
 if(k==10)
 k=0;
 entegre(k);
 digitalWrite(latchPin,LOW);
 digitalWrite(latchPin,HIGH);
 delay(500);
}

if(digitalRead(azaltPin)==LOW){
 k--;
 if(k<0)
 k=9;
 entegre(k);
 digitalWrite(latchPin,LOW);
 digitalWrite(latchPin,HIGH);
 delay(500);
}
}

Belki bunları da beğenirsin...