Arduino

7 Segment Display’in Uzaktan Kumanda ile Kullanımı

Uzaktan kumandanın kodları çözüldükten sonra yapılabilecek devrelerden biri de IR alıcı ve kod çözücü ile 7 segment display uygulamasıdır. Bu devrenin amacı uzaktan kumandanın özellikle sayısal tuşlarına basıldığında display ekranında rakam göstermesidir.

Gerekli Devre Elemanları

• 1 adet mikrodenetleyici kart

• 1 adet breadboard

• 1 adet 7 segment display

• 1 adet 220Ω (kırmızı, kırmızı, kahverengi, altın rengi) direnç

• 1 adet IR alıcı

• 1 adet IR verici kumanda

• Bağlantı kabloları

Adım 1: IR alıcı ve kod çözücü ile 7 segment display uygulamasının devresi aşağıda verilmiştir.

Adım 2: IR alıcı ve kod çözücü ile 7 segment display uygulamasının program kodları aşağıda verilmiştir.

 

long b0 = 0xFD30CF;
long b1 = 0xFD08F7;
long b2 = 0xFD8877;
long b3 = 0xFD48B7;
long b4 = 0xFD28D7;
long b5 = 0xFDA857;
long b6 = 0xFD6897;
long b7 = 0xFD18E7;
long b8 = 0xFD9867;
long b9 = 0xFD58A7;
long by = 0xFD50AF;
long ba = 0xFD10EF;

#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // IR alıcıyı başlatır.

for (int i=2;i<=8;i++) pinMode(i, OUTPUT);
}

void loop() {
if (irrecv.decode(&results)) {
 Serial.println(results.value, HEX);
 if (results.value==b1) bir();
 if (results.value==b2) iki();
 if (results.value==b3) uc();
 if (results.value==b4) dort();
 if (results.value==b5) bes();
 if (results.value==b6) alti();
 if (results.value==b7) yedi();
 if (results.value==b8) sekiz();
 if (results.value==b9) dokuz();
 if (results.value==b0) sifir();
 if (results.value==by) ilerisay();
 if (results.value==ba) gerisay();
   irrecv.resume(); // Sıradaki değeri algılar
}
}

void ilerisay(){
  sifir(); delay(1000);
bir(); delay(1000);
iki(); delay(1000);
uc(); delay(1000);
dort(); delay(1000);
bes(); delay(1000);
alti(); delay(1000);
yedi(); delay(1000);
sekiz(); delay(1000);
dokuz(); delay(1000);
}

void gerisay(){
dokuz(); delay(1000);
sekiz(); delay(1000);
yedi(); delay(1000);
alti(); delay(1000);
bes(); delay(1000);
dort(); delay(1000);
uc(); delay(1000);
iki(); delay(1000);
bir(); delay(1000);
sifir(); delay(1000);
}

void sifir()
{
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 1); //f
digitalWrite(8, 0); //g
}

void bir()
{
digitalWrite(2, 0); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 0); //d
digitalWrite(6, 0); //e
digitalWrite(7, 0); //f
digitalWrite(8, 0); //g
}

void iki()
{
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 0); //c
digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 0); //f
digitalWrite(8, 1); //g
}

void uc()
{
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 0); //e
digitalWrite(7, 0); //f
digitalWrite(8, 1); //g
}

void dort()
{
digitalWrite(2, 0); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 0); //d
digitalWrite(6, 0); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}

void bes() {
digitalWrite(2, 1); //a
digitalWrite(3, 0); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 0); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}

void alti() {
digitalWrite(2, 1); //a
digitalWrite(3, 0); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}

void yedi() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 0); //d
digitalWrite(6, 0); //e
digitalWrite(7, 0); //f
digitalWrite(8, 0); //g
}

void sekiz() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 1); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}

void dokuz() {
digitalWrite(2, 1); //a
digitalWrite(3, 1); //b
digitalWrite(4, 1); //c
digitalWrite(5, 1); //d
digitalWrite(6, 0); //e
digitalWrite(7, 1); //f
digitalWrite(8, 1); //g
}

İlgili Makaleler
Mikrodenetleyici Kart İle Birlikte Kullanılan 7 Segment Display Elemanı ve Özellikleri
Sıcaklık Sensörü ile Okunan Değerlerin LCD Ekranda Gösterilmesi
7 Segment Display’in Uzaktan Kumanda ile Kullanımı
Arduino Uno Kart İle Ledlerin Yanmasını Buton İle Kontrol Eden Uygulamayı TinkerCAD Platformunda Yapma
TinkerCAD Platformunu Kullanarak Merhaba Dünya Mesajını LCD Ekranda Görüntüleyen Arduino Uygulaması
Robot Tabanlı Proje Geliştirmede Kullanılan Mikrodenetleyici Kartı
Arduino Kart İle Rastgele Belirlenen Süre Kadar Led Yakma Uygulamasını TinkerCAD Platformunda Yapma
Rakamları 7 Segment Display Elemanıyla Görüntüleyen Uygulama
RGB LED ile Uzaktan Kumandanın Kullanımı
Seri Port Ekranında Merhaba Dünya Mesajını Yazdıran Arduino Uno Uygulaması
Potansiyometre ile LED Lambalarının Yanıp Sönme Hızının Ayarlanması
Motorları Sadece Geri Yönde Çalıştırma
Mikrodenetleyici Kartla Mesafe Sensörü Uygulamaları
Robot Tabanlı Proje Geliştirmede Eğitsel Robot Bileşenleri
Robot Tabanlı Proje Geliştirmede Kullanılan Motorlar
Robot Tabanlı Proje Geliştirmede Kullanılan Tekerlekler
Robot Tabanlı Proje Geliştirmede Kullanılan Motor Sürücü
Mikrodenetleyici Kartın Bilgisayarla Bağlantısının Gerçekleştirilmesi
Trafik Sinyalizasyonu Uygulamasının LED’lerle Gerçekleştirilmesi
Seri Porttan Girilen 5 Sayıyı LCD Ekranda Gösteren Arduino Uygulaması

Yorum Ekle
   
Kötü İyi