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); } }
Son Yorumlar