manşet

ARDUİNO İLE HC-SR501 KIZILÖTESİ HAREKET SENSÖRÜ KULLANIMI

 Bu yazımızda HC-SR501 kızılötesi hareket sensöründen bahsedeceğiz. Ayrıca daha sonra Arduino ile beraber HC-SR501 kızılötesi hareket sensörünü kullanarak küçük bir uygulama yapacağız.

   HC-SR501 kızılötesi hareket sensörleri  bir ortamda oluşan canlı hareketini algılamak için kullanılan sensörlerdir. Düşük maliyetli, düşük güç tüketimli ve kullanılması kolay bir sensördür. Herhangi bir mikrodenetleyiciye bağlı olmadan kendi başlarına çalışabilecekleri gibi  Arduino başta olmak üzere bir çok mikrodenetleyeci platformu ile beraber kullanılabilirdirler.

  PIR ( Passive InfraRed Sensor ) sensörleri yayılan kızılaltı (IR) ışın değişimini tespit etmek için bir Fresnel lens ve IR’ye duyarlı sensör yardımıyla, 6 metreye kadar mesafedeki hareketleri algılayabilir. Dijital çıkışlı olan bu modül, ortamda hareket algılamadığı zaman lojik 0, hareket algıladığı zaman ise lojik 1 çıkışı vermektedir.

  Sensör üzerinde Sx ve Tx olmak üzere iki adet potansiyometre bulunmaktadır. Sx potansiyometresi (hassasiyet) sensörün görme mesafesini 3 ile 5 metre arasında değiştirmektedir. Tx potu (gecikme) ise sensör gördükten sonra ne kadar süre daha çıkış pininden lojik 1(3.3V) çıkışını vereceğini ayarlamaktadır.

    
  
 Sensörümüzün üzerinde üç adet pin yer almaktadır. Bu pinlere üstten baktığımızda en soldaki pin GND (toprak), en sağdaki pin +VCC, ortadaki pin de DATA çıkışıdır. Hareket varken DATA çıkışı '1', yokken '0' olmaktadır. HC-SR501 kızılötesi hareket sensörü hakkında yeterli bilgiyi edindiğimize göre uygulamamıza geçebiliriz.

 Uygulamamız için gerekli malzemeler :
. 1 adet Arduino Uno
. 1 adet HC-SR501 kızılötesi hareket sensörü
. Breadboard
. 1 adet led
. 1 adet 220 ohm direnç
. 3 adet dişi-erkek jumper kablo
. 2 adet erkek-erkek jumper kablo



   Şekildeki gibi devremizin bağlantılarını oluşturduktan sonra kodlama işlemine geçebiliriz. Arduinomuzu bilgisayarımıza bağladıktan sonra uygulamamıza ait kodları derleyip, yüklüyoruz.

 UYGULAMANIN KODLARI

int hareket;
void setup() {
pinMode(2, INPUT);
pinMode(3, OUTPUT);
Serial.begin(9600);
}
void loop() {
hareket=digitalRead(2);
Serial.println(hareket);
if (hareket == HIGH){
  digitalWrite(3, 1);
}
else{
  digitalWrite(3, 0);
}
}
 
  
                                          

Arduino ile HC-SR04 Ultrasonik Mesafe Sensörü Kullanımı

          Bu uygulamamızda Arduino ile beraber HC-SR04 mesafe sensoru kullanarak led yakacağız. Öncelikle HC-SR04 mesafe sensörünün çalışma prensibinden bahsedelim.

         Ultrasonik sensörümüz insan kulağının duyamayacağı 40Khz frekansında ses dalgası üretmektedir. Bu ses dalgaları öncelikle sensörden çıkar ve karşılaştığı engele çarptıktan sonra geri yansır. Sensör bu dalganın gidiş dönüş süresini kullanarak mesafeyi belirlememize yardımcı olmaktadır




Uygulamamız için gerekli olan malzemeler
  • 1 adet arduino uno 
  •  Breadboard 
  • 1 adet HC-SR04 ultrasonic sensör
  • 1 adet led
  • 1 adet 220 ohm direnç 
  • Yeteri kadar jumper kablo


          Sensörümüzün üzerinde dört adet pin bulunmaktadır. Bunlar Vcc, Trig, Echo  ve GND 'dir. Vcc, 5volt girişi, GND toprak, Trig  dalganın çıkış , Echo ise yansıyan dalganın döndüğünü arduinomuza bildiren pinidir. Şekildeki bağlantılarımızı yaptıktan sonra aşağıdaki kodlara geçebiliriz. Projemizde sensörümüz 50 cm ve daha yakın durumlarda ledi yakmata diğer durumlarda ise ledi söndürmektedir.


PROGRAMIN KODLARI

int trigPin=2; 
int echoPin=3; 

int led=7;

void setup() {
  
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
   pinMode(led,OUTPUT); 

}

void loop() {
  int sure, uzaklik; 
  
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  sure = pulseIn(echoPin, HIGH);
  uzaklik = (sure/58);
  
  if (uzaklik<50)
  {digitalWrite(led,HIGH);}

   
   else
   {digitalWrite(led,LOW);} 
     
   
  
 delay(1000) ; 
}




Resim yazısı ekle

ARDUİNO İLE KARA ŞİMŞEK UYGULAMASI


        Arduino ile en temel proje olan led yakma projesini öğrendikten sonra artık kara şimşek uygulamasını öğrenebiliriz. Proje başlangıçta biraz karmaşık görünsede sırasıyla yanıp sönen ledlerden oluşan basit bir uygulama aslında.
  Bu uygulama için gerekli malzemelerimiz :

 . 1 adet Arduino Uno
 . 6 adet LED
 . 6 adet 220 Ohm Direnç
 . Breadboard
 . 7 adet erkek-erkek jumper kablo


 
   Şekildeki gibi devremizin bağlantılarını oluşturduktan sonra kodlama işlemine geçebiliriz. Arduinomuzu bilgisayarımıza bağladıktan sonra kodlarımızı derleyip, yüklüyoruz.

    UYGULAMANIN KODLARI

 int led[]={8,9,10,11,12,13};    // Kullandığımız pinlerden bir led dizisi tanımlıyoruz.
 int bekleme_suresi=30;           // Buradan ledlerin bekleme süresini değiştirebilirsiniz.
 void setup() {                          // Ana fonksiyonumuzu tanımlıyoruz.
 for(int i=0 ;i<6 ;i++){
 pinMode(led[i],OUTPUT);    // Pinlerimizi çıkış olarak tanımlıyoruz.
 }
 }
 void loop() {

 // Döngü fonksiyonumuzu tanımlıyoruz.
 for (int i=0;i<6;i++){
 digitalWrite(led[i],HIGH);      // İlk ledi yakıyoruz.
 delay(bekleme_suresi);             // Bekliyoruz.
 digitalWrite(led[i-1],LOW);      // Yanındakini yakıyoruz.
 delay(bekleme_suresi);               // Bekliyoruz.
 digitalWrite(led[i+1],HIGH);    // İlk yaktığımızı söndürüyoruz.
 delay(bekleme_suresi);           // Bekliyoruz.
 }

 //Bu kısımda ise az önceki işlemi tersten uyguluyoruz.
 for (int i=5 ;i>=0 ;i--){
 digitalWrite(led[i],HIGH);
 delay(bekleme_suresi);
 digitalWrite(led[i+1],LOW);
 delay(bekleme_suresi);
 digitalWrite(led[i-1],HIGH);
 delay(bekleme_suresi);
 }
 }

 
         

Arduino İle 7 Segment Display Kullanımı



Öncelikle 7 segment display nedir?


       7 segment display ledlerden oluşan ortak anot veya katot uclarına sahip elemanlardır.0-9 arası sayısal ifadeleri göstermek için kullanılır.Genel olarak dijital saat, takvim vs sayıcı devrelerinde sıklıkla kullanılmaktadır.







ORTAK KATOT                -          ORTAK ANOT






         Yukarıda ki resimde 7-segment displayin iç yapısında ki led bağlantılarının verildiğini görüyoruz . Eğer ortak uç katot ise gnd , ortak uç anot ise 5V girişine bağlıyoruz.Ben burada ortak uç katot kullanacağım. Uygulama için gerekli olan malzemelerimiz

  • 1 adet arduino uno 
  • Breadboard 
  • 1 adet 7 segment display 
  • 2 adet 220 ohm direnç 
  • Yeteri kadar jumper kablo


          Uygulamamızda 0 ile 9 arasındaki çift sayıları gösteren devre yapacağız. Şekildeki bağlantılarımızı yapıp kod kısmına geçebiliriz.

PROGRAMIN KODLARI

int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;

void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);

}
void rakamyaz(int rakam)
{
   switch(rakam)
   {

          case 0 :
   digitalWrite(a,HIGH);
   digitalWrite(b,HIGH);
   digitalWrite(c,HIGH);
   digitalWrite(d,HIGH);
   digitalWrite(e,HIGH);
   digitalWrite(f,HIGH);
   digitalWrite(g,LOW);
     break;

         case 2:
   digitalWrite(a, HIGH);
   digitalWrite(b,HIGH);
   digitalWrite(c,LOW);
   digitalWrite(d,HIGH);
   digitalWrite(e,HIGH);
   digitalWrite(f,LOW);
   digitalWrite(g,HIGH);
     break;

         case 4:
   digitalWrite(a, LOW);
   digitalWrite(b,HIGH);
   digitalWrite(c,HIGH);
   digitalWrite(d,LOW);
   digitalWrite(e,LOW);
   digitalWrite(f,HIGH);
   digitalWrite(g,HIGH);
     break;

         case 6:
   digitalWrite(a, HIGH);
   digitalWrite(b,LOW);
   digitalWrite(c,HIGH);
   digitalWrite(d,HIGH);
   digitalWrite(e,HIGH);
   digitalWrite(f,HIGH);
   digitalWrite(g,HIGH);
     break;

        case 8:
   digitalWrite(a, HIGH);
   digitalWrite(b,HIGH);
   digitalWrite(c,HIGH);
   digitalWrite(d,HIGH);
   digitalWrite(e,HIGH);
   digitalWrite(f,HIGH);
   digitalWrite(g,HIGH);
     break;
   

   }
}
void loop(){
for(int i=0; i<=9;i++){
rakamyaz(i);
delay(1000);

}
}



Arduino İle RGB Led Kullanımı

Bu projemizde RGB Led kullanımını gerçekleştireceğiz. Öncelikle RGB Led nedir?  diyerek başlayalım.

Rgb Led , ana renklerde ki yani kırmızı , yeşil ve mavi ledlerin tek bir  led üzerinde toplanmış halidir.Bu ana renkler ile ara renkleri oluşturmak mümkündür.

Uygulama için gerekli olan malzemelerimiz
  • 1 adet arduino uno
  • Breadboard
  • 1 adet RGBLed
  • 3 adet 220 ohm direnc
  • 4 adet erkek-erkek jumper kablo


         Öncelikle şekildeki gibi devre bağlantılarımızı yapalım.Burada  dikkat etmemiz gereken ledimizdeki uzun bacağı 5v çıkışına bağlamak olacaktır. Devremiz hazır ise arduinomuzu bilgisayarımıza bağlayıp kodlarımızı yüklüyoruz.


PROGRAMIN KODLARI

int ledcolor = 0;
int a = 500;  //renklerin yanma sürelerini ayarlıyoruz
int kirmizi = 11;  //kırmızı pin
int yesil = 12;  //yeşil pin
int mavi = 13;  //mavi pin

void setup() {    //çıkış pinlerimizi set ediyoruz.

pinMode(kirmizi, OUTPUT);
pinMode(yesil, OUTPUT);
pinMode(mavi, OUTPUT);

}

void loop() {

int ledcolor = random(6); //0 ile 5 arasında rasgele bir sayı seçiliyor.
      switch (ledcolor) {
  case 0:  // sayı 0 ise kırmızı
analogWrite(kirmizi, LOW);
      delay(a);
analogWrite(kirmizi, HIGH);
break;
 case 1:  //sayı 1 ise yeşil
digitalWrite(yesil, LOW);
      delay(a);
digitalWrite(yesil, HIGH);
break;
 case 2:  //sayı 2 ise mavi
digitalWrite(mavi, LOW);
      delay(a);
digitalWrite(mavi, HIGH);
break;
 case 3:  //3 ise sarı (kırmızı ve yeşil)
analogWrite(kirmizi, HIGH);
digitalWrite(yesil, LOW);
      delay(a);
analogWrite(kirmizi, HIGH);
digitalWrite(yesil, HIGH);
break;
 case 4:  //4 ise cyan, (kırmızı ve mavi)
analogWrite(kirmizi, HIGH);
digitalWrite(mavi, LOW);
      delay(a);
analogWrite(kirmizi, HIGH);
digitalWrite(mavi, HIGH);
break;
 case 5:  //5 ise beyaz, (kırmızı , yeşil  ve mavi)
analogWrite(kirmizi, HIGH);
digitalWrite(yesil, LOW);
digitalWrite(mavi, LOW);
      delay(a);
analogWrite(kirmizi, HIGH);
digitalWrite(yesil, HIGH);
digitalWrite(mavi, HIGH);
break;
}
}