Kızılötesi ve Yedi Segment Display ile Uygulama

Bu yazımızda Kızılötesi ve Yedi Segment Display ile bir uygulama yapacağız. Keypad üzerinde bir tuşuna basınca yukarı, iki tuşuna basınca aşağı sayacak. 





 
 
#include <IRremote.hpp>
const int rcvPin=11;
 
  
void setup()
{
  Serial.begin(9600);
  IrReceiver.begin(rcvPin, true);
  //Port 2'den 8'e kadar çıkış ayarlıyoruz.
  for (int i=2;i<=8;i++) pinMode(i, OUTPUT);
  
}
 
 
void loop()
{
  
  if(IrReceiver.decode()){
    auto value= IrReceiver.decodedIRData.decodedRawData;
    
    if(value==4010852096)
    {
      //keypad no '1'
        yukarisay();
        Serial.println("yukari sayiliyor");
    }
    else if (value==3994140416)
    {
       //keypad no '2'
        asagisay();
        Serial.println("asagi sayiliyor");
      
    }
    
    else if (value==4278238976)
    {
       //keypad no 'Power'
       sifirla();
       Serial.println("Sıfırlandı.");
    }
    IrReceiver.resume();
  }
 
}
 
 //Displayde sıfır yazar
void sifir(){
    digitalWrite(2, 1); 
    digitalWrite(3, 1); 
    digitalWrite(4, 1); 
    digitalWrite(5, 1); 
    digitalWrite(6, 1); 
    digitalWrite(7, 1); 
    digitalWrite(8, 0); 
    //oguzhantas.com 
}

//Displayde bir yazar
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
}
 
//Displayde iki yazar
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
}
 
//Displayde üç yazar
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
}
 
//Displayde dört yazar
 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
}

//Displayde beş yazar
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
}
 
//Displayde alti yazar
 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
}
  
//Displayde yedi yazar
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
}

//Displayde sekiz yazar
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
}

//Displayde dokuz yazar
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
}

//Displayde sıfırdan dokuza yukarı sayar
void yukarisay(){
      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);
 
}
  
//Displayde dokuzdan sıfıra aşağı sayar
void asagisay(){
        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);
}
  
//Displayleri sıfırlar
void sifirla(){
    sifir();
  }
  

Sonraki Konu:  Arudino ile Ultrasonik Sensör Kullanarak Mesafe Ölçümü

 
Mutlu kodlamalar,
Mayıs, 2023
Oğuzhan TAŞ
Bookmark and Share