arduino ekran

Arduino mikrodenetletleyici kartlar arasında en çok kullanılan karttır. Bu yüzden Arduino ile bir çok proje yapılabilir. Daha önceki yazılarımızda Arduino projesi olarak bir çok proje yaptık. Bu yazımızda Arduino ile basit bir asansör uygulaması yapacağız.

Arduino Asansör Uygulaması

Projemizde kullandığımız malzemeler :

Dot Matrix

5 Adet Buton

5 Adet Sarı Led

Arduino Uno

Kodlar

Malzeme listesini verdikten sonra Arduino kodlarımıza sıra geldi. Arduino programını kullanarak aşağıdaki kodları Arduino ‘ya yükleyin.

#include <LedControl.h> //Kütüphanemizi dahil edelim 
 // Include the Arduino Stepper Library
#include <Stepper.h>

// Number of steps per output rotation
const int stepsPerRevolution = 200;

// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 11, 10, 9, 8);

//Pin numaralarını tanımlıyoruz 
#define CLK 5 
#define CS 6 
#define DIN 7 
#define MaxSayisi 1  //Bağlı olan dot matrix sayısı 

const long delay_suresi = 100; //Kodda kullanacağımız delay süresi 

LedControl led = LedControl(DIN, CLK, CS, MaxSayisi); 

//Kullanacağımız ifadeler için byte tipinde bir dizi tanımlıyoruz

const byte yukariok[][8] = {
{
  B00000000,
  B00001000,
  B00011100,
  B00111110,
  B01111111,
  B00011100,
  B00011100,
  B00011100
},{
  B00001000,
  B00011100,
  B00111110,
  B01111111,
  B00011100,
  B00011100,
  B00011100,
  B00000000
},{
  B00011100,
  B00111110,
  B01111111,
  B00011100,
  B00011100,
  B00011100,
  B00000000,
  B00000000
},{
  B00111110,
  B01111111,
  B00011100,
  B00011100,
  B00011100,
  B00000000,
  B00000000,
  B00000000
},{
  B01111111,
  B00011100,
  B00011100,
  B00011100,
  B00000000,
  B00000000,
  B00000000,
  B00000000
},{
  B00011100,
  B00011100,
  B00011100,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000
},{
  B00011100,
  B00011100,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000
},{
  B00011100,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000
},{
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00001000,
  B00011100
},{
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00001000,
  B00011100,
  B00111110
},{
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00001000,
  B00011100,
  B00111110,
  B01111111
},{
  B00000000,
  B00000000,
  B00000000,
  B00001000,
  B00011100,
  B00111110,
  B01111111,
  B00011100
},{
  B00000000,
  B00000000,
  B00001000,
  B00011100,
  B00111110,
  B01111111,
  B00011100,
  B00011100
},{
  B00000000,
  B00001000,
  B00011100,
  B00111110,
  B01111111,
  B00011100,
  B00011100,
  B00011100
}};
const int yukariok_uzun = sizeof(yukariok)/8;

const byte asagiok[][8] = {
{
  B00111000,
  B00111000,
  B00111000,
  B11111110,
  B01111100,
  B00111000,
  B00010000,
  B00000000
},{
  B00000000,
  B00111000,
  B00111000,
  B00111000,
  B11111110,
  B01111100,
  B00111000,
  B00010000
},{
  B00000000,
  B00000000,
  B00111000,
  B00111000,
  B00111000,
  B11111110,
  B01111100,
  B00111000
},{
  B00000000,
  B00000000,
  B00000000,
  B00111000,
  B00111000,
  B00111000,
  B11111110,
  B01111100
},{
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00111000,
  B00111000,
  B00111000,
  B11111110
},{
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00111000,
  B00111000,
  B00111000
},{
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00111000,
  B00111000
},{
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00111000
},{
  B00111000,
  B00010000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000
},{
  B01111100,
  B00111000,
  B00010000,
  B00000000,
  B00000000,
  B00000000,
  B00000000,
  B00000000
},{
  B11111110,
  B01111100,
  B00111000,
  B00010000,
  B00000000,
  B00000000,
  B00000000,
  B00000000
},{
  B00111000,
  B11111110,
  B01111100,
  B00111000,
  B00010000,
  B00000000,
  B00000000,
  B00000000
},{
  B00111000,
  B00111000,
  B11111110,
  B01111100,
  B00111000,
  B00010000,
  B00000000,
  B00000000
},{
  B00111000,
  B00111000,
  B00111000,
  B11111110,
  B01111100,
  B00111000,
  B00010000,
  B00000000
}};


const int asagiuzun = sizeof(asagiok)/8;

void asagiokyaz()
{
  for (int j = 0; j < asagiuzun; j++)  //Tüm şekilleri yazdırma
   {
     MatrixeYazdir(asagiok[j]);
     delay(delay_suresi);
   }
 for (int i = 0; i < 15; i++) //Azdan çoğa parlaklık
   {
     led.setIntensity(0, i);
    // delay(50);
   }
}
void yukariokyaz()
{
  for (int j = 0; j < yukariok_uzun; j++)  //Tüm şekilleri yazdırma
   {
     MatrixeYazdir(yukariok[j]);
     delay(delay_suresi);
   }
 for (int i = 0; i < 15; i++) //Azdan çoğa parlaklık
   {
     led.setIntensity(0, i);
     //delay(50);
   }
}
 void MatrixeYazdir(byte* ch)
 {
   for (int i = 0; i < 8; i++)
   {
     led.setRow(0, i, ch[i]);
   }
 }
 int katcik(int mevkat,int cik_kat)
 {
  int cikilan_kat;
  if(mevkat>cik_kat)
  {
    for (int i=mevkat; i>=cik_kat; i--)
  {
    digitalWrite(i+14,HIGH);
    asagiokyaz();
    digitalWrite(i+14,LOW);
  }
  return cik_kat;
  }
  else if (mevkat<cik_kat)
  {
    for (int i=mevkat; i<=cik_kat; i++)
  {
    digitalWrite(i+14,HIGH);
    yukariokyaz();
    digitalWrite(i+14,LOW);
    
  }
  return cik_kat;
  }
  else {
    digitalWrite(mevkat+14,HIGH);
    delay(100);
    digitalWrite(mevkat+14,LOW);
    delay(100);
    return mevkat;
  }
  }
  
 
 void setup()
 {
  pinMode(2,INPUT_PULLUP);
    pinMode(3,INPUT_PULLUP);
      pinMode(4,INPUT_PULLUP);
        pinMode(12,INPUT_PULLUP);
          pinMode(13,INPUT_PULLUP);
   pinMode(14,OUTPUT);
   pinMode(15,OUTPUT);
   pinMode(16,OUTPUT);
   pinMode(17,OUTPUT);
   pinMode(18,OUTPUT);
   led.setIntensity(0, 10);  //Parlaklık ayarı
   led.shutdown(0, false);   //Led matrixi aktif hale getirme
   led.clearDisplay(0);
 
  // set the speed at 20 rpm:
  myStepper.setSpeed(20);
  // initialize the serial port:
  Serial.begin(9600);
 }
 int kat=0;
 void loop()
 {
  int cikilacak_kat=0;
 if(digitalRead(2)==0)//0
 {
  cikilacak_kat=0;
  kat=katcik(kat,cikilacak_kat);
 }
 if(digitalRead(3)==0)//1
 {
  cikilacak_kat=1;
  kat=katcik(kat,cikilacak_kat);
 }
  if(digitalRead(4)==0)//2
 {
  cikilacak_kat=2;
  kat=katcik(kat,cikilacak_kat);
 }
  if(digitalRead(12)==0)//3
 {
  cikilacak_kat=3;
  kat=katcik(kat,cikilacak_kat);
 }
  if(digitalRead(13)==0)//4
 {
  cikilacak_kat=4;
  kat=katcik(kat,cikilacak_kat);
 }
 // step one revolution in one direction:
//Serial.println("clockwise");
  //myStepper.step(stepsPerRevolution);
 // delay(500);

  // step one revolution in the other direction:
  //Serial.println("counterclockwise");
  //myStepper.step(-stepsPerRevolution);
 // delay(500);
  Serial.print("Buton0:");
 Serial.print(digitalRead(2));
   Serial.print("Buton1:");
 Serial.print(digitalRead(3));
   Serial.print("Buton2:");
 Serial.print(digitalRead(4));
   Serial.print("Buton3:");
 Serial.print(digitalRead(12));
   Serial.print("Buton4:");
 Serial.print(digitalRead(13));
 Serial.print(" Kat:");
Serial.println(kat);
 
 }

Bu yazımızın sonuna geldik. Umarım yararlı bir çalışma olmuştur. Yazımızı beğendiyseniz yorum yapıp paylaşırsanız çok seviniriz. Ayrıca eğer göz atmak isterseniz Otto Robot Yapımına da göz atabilirsiniz.

Leave A Comment

All fields marked with an asterisk (*) are required