11 Mayıs 2017 Perşembe

Arduino Pervane Projesi Kodları


Proje  Kodları

#include "IRremote.h" // IR alıcı kütüphanesinin dahil edilmesi
#include <Servo.h>   // Servo motorun kütüphanesinin  dahil edilmesi
Servo sg90;  //Servo motorun  sg90 isimi ile tanıtılması
#define role 8   //role değişkenine  8 sayısının define ile atanması
#define mavi 4 //mavi değişkenine 4 sayısının define ile atanması
#define ldr 0 // ldr değişkenine 0 sayısının atanması
int i=0; // değişken tanımlama
int kontrol = 0; // değişken tanımlama
int servoderece=90; // değişken tanımlama
#define receiver  5 //  receiver yani alıcı değişkenine  5 in tanımlanması
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'
void setup()  // Programın asıl döngününden önce  çalışan   Pinlerin giriş/çıkış durumlarının  vb. tanıtıldığı yer
{
  sg90.attach(9);   // sg90 adlı tanıttığımı servo motorun  9 uncu pin e bağlandığını tanıtıyoruz
pinMode(8,OUTPUT);  // 8 inci pini  çıkış pini olarak ayarlıyoruz buradan 5V elektrik verilicek
Serial.begin(9600);   // Seri haberleşmeyi başlattık
Serial.println("KUMANDA TEST "); //Seri haberleşme ekranına  Kumanda Test yazdırdık
irrecv.enableIRIn(); //Alıcı yı başlattık
}
void loop() // Sürekli dönen Ana döngümüz bunun  içindeki kodlar  kontrol edilip şartları sağlandıktan sonra tekrar baştan aynı şartları sorgular.
{
if(analogRead(ldr)>750){   //ldr adlı değişkenden aldığımız değer 750 den  büyükse  mavi led yanıyor bu sayede  ortam karanlıksa ışığımız  yanıyor
  digitalWrite(mavi,HIGH); 
}
else{  // Ortam aydınlıksa  mavi ledi kapatıyor.
  digitalWrite(mavi,LOW);
}
if (irrecv.decode(&results)) //  Kızıl ötesinden gelen sinyalimizin olup olmadığını kontrol eden if yapısı
{
  irrecv.resume(); // Kızıl ötesinden veri almaya devam etmesini saglıyan fonksiyon
  switch(results.value) // Kızıl ötesinden gelen sinyallerin switch  yapısının şartı olarak atanması
{
  case 0xFFC23D: Serial.println(" OYNAT/DURDUR"); // Oynat /Durdur Tuşuna basıldığında pervanenin açılıp kapanmasını sağlayan case yapısı
    if(kontrol==0){
      digitalWrite(8,HIGH);
      kontrol=1;
      }
    else if(kontrol==1){
      digitalWrite(8,LOW);
      kontrol=0;
    }
  break;
  case 0xFFE01F: Serial.println(" SES-");  //  Ses – tuşuna basıldığında pervanenin 5 derece sola  dönmesini sağlıyan case yapısı
  if(servoderece>-1){
    servoderece=servoderece-5; // Başta oluşturduğumuz servo derece adlı değişkenimizi 5 eksiltiyor
    sg90.write(servoderece);
    Serial.println(servoderece);  //Servo motorun derecesini Seri haberleşme ekranına yazıyor
  }
  break;
  case 0xFFA857: Serial.println(" SES+"); //  Ses + tuşuna basıldığında yukarıdaki işlemi sağ tarafa dogru yapıyor.
  if(servoderece<181){
    servoderece=servoderece+5;
   
    sg90.write(servoderece);
    Serial.println(servoderece);
  }
   break;
  case 0xFF906F: Serial.println(" EQ"); //  EQ tuşuna basıldığında pervaneyi servo motorun derecesinden  sağa doğru yani 180 dereceye doğru  birer birer 25 ms beklemelerle  arttıran  case ve for yapısı
    for(servoderece;servoderece<179;servoderece++){
      sg90.write(servoderece);
      Serial.println(servoderece);
      delay(25); // 25 ms bekleme
    
    }break;
  case 0xFF6897: Serial.println("0");
    for(servoderece;servoderece>0;servoderece--){   // 0 tuşuna basıldığında yukarıdaki işlemin tersi yönde aynı işlemi yapan  case ve for yapısı
      sg90.write(servoderece);
      Serial.println(servoderece);
      delay(25);
   
    }break;
default:
}
}

Arduino  Hakkındaki İlk Sayfaya Gitmek İçin Tıklayınız


}

Hiç yorum yok:

Yorum Gönder