Proje Devresi:
Devrede Kullanılan Malzemeler:
Ortak katot displayde GND uçlar şaseye bağlanırken diğer uçlara pozitif gerilim uygulanmaktadır. Ortak anot displayde ise VCC uçlara pozitif gerilim uygulanırken, diğer uçlar şase yapılmalı veya negatif gerilim uygulanmalıdır.
- Ortak Katot 7-Segment Display
- Arduino Uno
Biz
bu projede ortak katot 7-segment display kullandık. İstenildiği takdirde ortak
anot 7-segment display de kullanılabilir. Yalnız proje kodlarında birtakım
değişiklik yapılması gerekir.
Seven Segmen Display:
Seven
segment display tek haneli bir gösterge elemanıdır. Genellikle rakam yazdırmak
için kullanılır. Ortak anot ve Ortak katot olmak üzere iki çeşittir.
Resimde
ortak anot ve ortak katot displaylerin pin diagramı görülmektedir.
Ortak katot displayde GND uçlar şaseye bağlanırken diğer uçlara pozitif gerilim uygulanmaktadır. Ortak anot displayde ise VCC uçlara pozitif gerilim uygulanırken, diğer uçlar şase yapılmalı veya negatif gerilim uygulanmalıdır.
Projenin Kaynak Kodu:
int
e=2, d=3, c=5, b=7, a=8, f=10, g=11;
void
setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void
loop(){
int i;
for(i=0; i<10; i++){
RakamGoster(i);
delay(1000);
}
}
void
RakamGoster(int rakam){
switch(rakam){
case 0 :
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
break;
case 1:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 2:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;
case 3:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;
case 4:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 5:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 6:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 7:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 8:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 9:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
}
}
Projenin
kodunda RakamGoster adında bir fonksiyon oluşturduk. Bu fonksiyon parametre
olarak girilen 0-9 arasındaki rakamları displaye yazdırmaktadır.
Devremiz
1sn aralıklarla 0-9 arsındaki rakamları dipslaye yazdıracaktır.
ÖÖÖÖÖÖÖÖÖ
YanıtlaSil14+9+7
YanıtlaSilbu devrede neden arduino kullanılır acaba ?
YanıtlaSil