LDR ile Otomatik Yanan Led Uygulaması
Merhaba,
Bir önceki yazımızda LDR ile ışık seviyesinin nasıl ölçüleceğini öğrenmiştik. Bu yazımızda ise LDR Kullanarak otomatik yanan Led Uygulaması yapacağız.
Ne yapacağız ?
- Arduino Uno ile Bread board üzerine LDR Ve LED’den oluşan devre kuracağız.
- Kullanacağımız blokları tanıyacağız.
- Uygulamanın çalışması için gerekli algoritmayı kuracağız.
Gerekli malzemeler:
- 1 Adet Arduino Uno
- 1 Adet Breadboard
- 1 Adet LDR
- 1 Adet Led
- 1 Adet 220 ohm direnç
- 1 Adet10Kohm direnç
- 5 Adet iki ucu erkek jumper kablo
Gerekli Araçlar:
- Mblock
- 3DRoboLab Türkçe bloklar.
MBlock uygulamasına 3DRoboLab Türkçe bloklar uzantısı ekleme.
Programı çalıştırıp üst kısımdaki araç çubuğundan uzantılar ikonuna tıklıyoruz.
Daha sonra açılan pencereden Uzantıları Yönet ikonuna tıklıyoruz.
Açılan Pencerenin Arama bölümüne 3DRoboLab yazıyoruz.
Daha sonra 3DRoboLab adlı uzantıyı indirip, Uzantı ekle ikonuna tıklıyoruz ve 3DRoboLab Türkçe Bloklar MBlock kütüphanenize eklenmiş oluyor.
basit uygulamalar için hazırlamış olduğumuz kodların çalışmasında herhangi ek bir işlem yapmanıza gerek yoktur.
MBlock Programı üzerinden Arduino kartına bağlanma.
Programı çalıştırıp üst kısımdaki araç çubuğundan Kartlar ikonuna tıklıyoruz.
Daha sonra açılan pencereden kullandığımız kartı seçiyoruz.
Kartı seçtikten sonra gene araç çubuğu üzerinde bulunan Bağlan ikonuna tıklıyoruz.
Karşımıza çıkan pencerede seri port’un üzerine geliyoruz ve yan tarafta bağlı COM’lar çıkıyor. Arduino kartı hangi COM’da bağlıysa o COM’u seçiyoruz ve program üzerinden karta bağlanmış oluyoruz.
Arduino Uno ve Breadboard devresinin kurulması
Görüntüdeki gibi bağlantıları yaptıktan sonra kodlamaya geçebiliriz.
Işık değerini öğrenmek için Analog 1 pinini oku, eğer ışık değeri 50’den küçük ise 9 numaralı pine bağlı olan Led’i yak, Işık değeri 50’den küçük değilse Led’i söndür.Ve bu işlemi sürekli tekrar et.
Yazdığımız kodlar Arduinonun anlayacağı dile çevrilir. Ardından Arduino kartına yazılır.
#include <Arduino.h> #include <Wire.h> #include <SoftwareSerial.h> /* 3D Robotics Laboratory: www.3drobolab.com */ double angle_rad = PI/180.0; double angle_deg = 180.0/PI; double __var__73_351_305_107; void setup(){ Serial.begin(115200); pinMode(A0+1,INPUT); pinMode(9,OUTPUT); } void loop(){ __var__73_351_305_107 = (100.0-100.0*analogRead(A0+1)/1024.0); if((__var__73_351_305_107) < (50)){ digitalWrite(9,1); }else{ digitalWrite(9,0); } _loop(); } void _delay(float seconds){ long endTime = millis() + seconds * 1000; while(millis() < endTime)_loop(); } void _loop(){ }
Hazırladığımız kod bloklarının Arduinonun anlayacağı dile (C/C++) çevriliyor. Kodları yüklemek için Arduino’ya yükle butonuna tıklamanız yeterlidir.
Kodlar derlendikten sonra Arduino’ya 30-50 sn. arasında yüklenmiş olacaktır.
Kodlar yüklendikten sonra ortamdaki ışığın seviyesi 50’nin altına düştüğünde Led’in yandığını gözlemleyebilirsiniz.
İyi Eğlenceler.