Merhaba arkadaşlar, bugün sizlerle Seri Ekran üzerinden ortak anot 7 Segment Display kullanacağız.


Malzeme Listesi:


Ortak anot, kullanılan nesneye tek bir yerden artı kutbunun verilmesidir. Çıkış pinleri ise eksi kutba bağlanır.

Kodumuza geçmek için önce bağlantıları aşağıdaki gibi yapalım.

Kodumuza geçelim.


int ust = 2;//A
int solust = 3; //F
int sagust = 4; //B
int orta = 5; //G
int solalt = 6; //E
int sagalt = 7; //C
int alt = 8; //D
int nokta = 9; //DP
void setup()
{
Serial.begin(9600);
pinMode(ust ,OUTPUT);
pinMode(solust ,OUTPUT);
pinMode(sagust ,OUTPUT);
pinMode(orta ,OUTPUT);
pinMode(solalt ,OUTPUT);
pinMode(sagalt ,OUTPUT);
pinMode(alt ,OUTPUT);
pinMode(nokta ,OUTPUT);
}
void loop()
{
char alinan = 0;
if (Serial.available() > 0)
{
alinan = Serial.read();
gosterge(alinan);
}
}
void gosterge(char veri)
{
if (veri == '1')
{
Serial.println("1");
digitalWrite(ust, HIGH);
digitalWrite(solust, HIGH);
digitalWrite(sagust, LOW);
digitalWrite(orta, HIGH);
digitalWrite(solalt, HIGH);
digitalWrite(sagalt, LOW);
digitalWrite(alt, HIGH);
digitalWrite(nokta, HIGH);
}
else if (veri == '2')
{
Serial.println("2");
digitalWrite(ust, LOW);
digitalWrite(solust, HIGH);
digitalWrite(sagust, LOW);
digitalWrite(orta, LOW);
digitalWrite(solalt, LOW);
digitalWrite(sagalt, HIGH);
digitalWrite(alt, LOW);
digitalWrite(nokta, HIGH);
}
else if (veri == '3')
{
Serial.println("3");
digitalWrite(ust, LOW);
digitalWrite(solust, HIGH);
digitalWrite(sagust, LOW);
digitalWrite(orta, LOW);
digitalWrite(solalt, HIGH);
digitalWrite(sagalt, LOW);
digitalWrite(alt, LOW);
digitalWrite(nokta, HIGH);
}
else if (veri == '4')
{
Serial.println("4");
digitalWrite(ust, HIGH);
digitalWrite(solust, LOW);
digitalWrite(sagust, LOW);
digitalWrite(orta, LOW);
digitalWrite(solalt, HIGH);
digitalWrite(sagalt, LOW);
digitalWrite(alt, HIGH);
digitalWrite(nokta, HIGH);
}
else if (veri == '5')
{
Serial.println("5");
digitalWrite(ust, LOW);
digitalWrite(solust, LOW);
digitalWrite(sagust, HIGH);
digitalWrite(orta, LOW);
digitalWrite(solalt, HIGH);
digitalWrite(sagalt, LOW);
digitalWrite(alt, LOW);
digitalWrite(nokta, HIGH);
}
else if (veri == '6')
{
Serial.println("6");
digitalWrite(ust, LOW);
digitalWrite(solust, LOW);
digitalWrite(sagust, HIGH);
digitalWrite(orta, LOW);
digitalWrite(solalt, LOW);
digitalWrite(sagalt, LOW);
digitalWrite(alt, LOW);
digitalWrite(nokta, HIGH);
}
else if (veri == '7')
{
Serial.println("7");
digitalWrite(ust, LOW);
digitalWrite(solust, HIGH);
digitalWrite(sagust, LOW);
digitalWrite(orta, HIGH);
digitalWrite(solalt, HIGH);
digitalWrite(sagalt, LOW);
digitalWrite(alt, HIGH);
digitalWrite(nokta, HIGH);
}
else if (veri == '8')
{
Serial.println("8");
digitalWrite(ust, LOW);
digitalWrite(solust, LOW);
digitalWrite(sagust, LOW);
digitalWrite(orta, LOW);
digitalWrite(solalt, LOW);
digitalWrite(sagalt, LOW);
digitalWrite(alt, LOW);
digitalWrite(nokta, HIGH);
}
else if (veri == '9')
{
Serial.println("9");
digitalWrite(ust, LOW);
digitalWrite(solust, LOW);
digitalWrite(sagust, LOW);
digitalWrite(orta, LOW);
digitalWrite(solalt, HIGH);
digitalWrite(sagalt, LOW);
digitalWrite(alt, LOW);
digitalWrite(nokta, HIGH);
}
else if (veri == '0')
{
Serial.println("0");
digitalWrite(ust, LOW);
digitalWrite(solust, LOW);
digitalWrite(sagust, LOW);
digitalWrite(orta, HIGH);
digitalWrite(solalt, LOW);
digitalWrite(sagalt, LOW);
digitalWrite(alt, LOW);
digitalWrite(nokta, HIGH);
}
}

Öncelikle Arduino’ya bağladımız pinlerin 7 Segment Display’de hangi lede karşılık geldiğini tanıtıyoruz.

Daha sonra bütün pinlerimizi çıkış olarak tanıtıyoruz ve seri haberleşmeyi 9600 Baudrate değerinde başlatıyoruz.

void loop fonksiyonunun içinde alinan adlı bir char oluşturduk ve seri haberleşmeye alinan değerini okuması için komut verdik.

Yeni bir fonksiyon oluşturduk ve adını gosterge koyduk. gosterge fonkisyonunun içindeki veri tipi char olduğu için gosterge fonksiyonunu tanımlarken veri adındaki değişkenin tipi char olmalı. Bu yüzden gosterge fonksiyonunu tanımlarken parantez içine char veri yazıyoruz ve alinan değerini veri değerine dönüştürüyoruz. Böylece seri ekrana girilen değerler void gosterge kısmında belirtilen dijital durumlardaki karşılığını uygulayarak 7 Segment Display’e sayıyı yazdıracaktır.Ayrıca seri ekranda yukarıdaki gibi hangi değeri girdiğimiz ve 7 Segment Display’de hangi değerin gösterildiği yazdırılacaktır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz