Araçlar - Makaleler

Arduino ve ShiftRegister Merdiven Basamağı Led Aydınlatma Otomasyonu

19 Haziran 2017, Yazar 8 comments
Arduino 74HC595 Harakete Duyarlı Merdiven Aydınlatma

Arduino, ShiftRegister (74Hc595)  ve haraket dedektörü (HC-SR595) kullanılarak yaptığımız merdiven basamak aydınlatması otomasyonu. Haraket sensörü  ile yaptığımız led aydınltma otomasyonunu görmek için TIKLAYIN . Bu proje biraz daha dikkat istiyor çünkü çok fazla lehim var. 19 basamaklı bir merdivende ortalama iniş çıkış süresi hesaplanmış ve buna göre bir animasyon yazılmıştır. Yürüyenin önündeki basamağın aydınlatılmasına çalışılmıştır.



Gerekli Alet Edevat Listesi

  • Promini 328
  • HC-SR501 Pır Sensör
  • IRFZ44N Mosfet
  • Şerit Led
  • Klemens 2 li (2 tane)
  • 220 Ohm Direnç
  • 7805 Voltaj Regulatörü
  • 74HC595 Entegresi
  • Delikli Pertinaks
  • ShiftPWM Kütüphanesi 
Bağlantı Şeması

Bağlatı şemasında görüldüğü gibi biraz fazla lehim işi var. Dikkat edilmesi gereken ledin + ayağı ve 7805 in sol bacağından başka bir yere 12 volt vermiyoruz. ShiftPWM kütüphanesinde RGB animasyonlarıda mevcut. Aşağıda 19 basamaklı bir merdiven için iniş ve çıkış sürelerine göre animasyon yazılmıştır.

Arduino ShiftRegister Kodu
const int ShiftPWM_latchPin=9;

#define SHIFTPWM_NOSPI
const int ShiftPWM_dataPin = 11;
const int ShiftPWM_clockPin = 12;

 

const bool ShiftPWM_invertOutputs = false;

 

const bool ShiftPWM_balanceLoad = false;

#include <ShiftPWM.h> // ShiftPWM.h yi pin ayarlarından sonra ekliyoruz

 

unsigned char maxBrightness = 255; // Parlaklık Ayarı
unsigned char pwmFrequency = 75;
int numRegisters = 6;
int numRGBleds = numRegisters*8/1;

int haraket1 = 7;
int haraket2 = 8;

 

int photocellReading;
long unsigned int lowIn;
long unsigned int pause = 1000;
boolean lockLow = true;
boolean takeLowTime;
boolean har1 = false;
boolean har2 = false;

 

void setup()
{
Serial.begin(9600);

pinMode(haraket1, INPUT);
pinMode(haraket2, INPUT);

ShiftPWM.SetAmountOfRegisters(numRegisters);

 

ShiftPWM.SetPinGrouping(1);

ShiftPWM.Start(pwmFrequency,maxBrightness);

}

void loop(){

ShiftPWM.SetAll(0);
if(digitalRead(haraket1) == HIGH){

for(int output=0;output<19;output++){

for(int brightness=0;brightness<maxBrightness;brightness++){
ShiftPWM.SetOne(output,brightness);
delay(3);

}

}
for(int output=0;output<19;output++){
for (int brightness = 255; brightness >= 0; brightness–) {
ShiftPWM.SetOne(output, brightness);
delayMicroseconds(100);
}
}

}

if(digitalRead(haraket2) == HIGH){

for(int output=19;output>0;output–){
for(int brightness=0;brightness<maxBrightness;brightness++){
ShiftPWM.SetOne(output,brightness);
delay(3);

}
}
for(int output=19;output>0;output–){
for (int brightness = 255; brightness >= 0; brightness–) {
ShiftPWM.SetOne(output, brightness);
delayMicroseconds(100);
}
}
}

delay(10);

}

Adım Takipli Merdiven Basamağı Aydınlatması

droid.com.tr den led otomasyon kartını hazır alan bir arkadaşımızın uygulaması. Aşağıda ve yukarıda yerleştirilen iki adet hareket sensörü ile devreye giren ve fadeli açılıp kapanan adım takipli uygulama. Uygulamada aynı anda hem aşağıdan hemde yukarıdan gelen olduğunda ikisinede ledler yanarak aydınlatma yapabilir.

  1. uğur özgüler
  2. Ugur ozguler
  3. ugur ozguler

Bir Cevap Yazın

Your email address will not be published. Required fields are marked *