Witam
Dziś kurier dostarczył moje pierwsze Arduino, czyli zaczynam przygodę... więc proszę o wyrozumiałość i wskazówki.
Uruchomiłem w emulatorze (bo mam na razie tylko Arduino) kod udostępniony przez JasQ, ale zamiast czujników odbiciowych podłączyłem PIR'y, zmieniając sygnał sterujący PIN2 i PIN3 z LOW na HIGH. Wszystko pracuje tak jak należy, ale...
chcę złożyć ten sterownik na PIR, a jeden z czujników będzie w takim miejscu, że czasami się uruchomi pomimo tego, że nikt nie będzie wchodził po schodach. Co wtedy, będzie cały czas się świeciło do czasu wykrycia kolejnego ruchu?
Co dodać w kodzie, żeby po 30s oświetlenie się wyłączyło? Kolejna sprawa, to odczulenie sterownika w określonych godzinach (w dzień), ale z uwagi na brak zegara raczej nie da się tego zrobić? Może wystarczy regulacja czułości PIR'ów. Sterownik chcę zrobić z uwagi na psiaka, który czasami schodzi na dół podjeść w nocy
Kod:
// Projekt oświetlenia schodów
// http://forum.arduinopolska.com JasQ
int pin[9]={5,6,7,8,9,10,11,12,13};
int q = 0;
byte s = 0;
void setup() {
Serial.begin(9600);
pinMode( 2 , INPUT);
pinMode( 3 , INPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
// dół
if (digitalRead(2) == HIGH and s == 0){
for( q = 0; q < 9; q++ ){
digitalWrite( pin[q], HIGH );delay(500);}
s = 1;
}
if (digitalRead(2) == HIGH and s == 1 ){
for( q = 9; q >= 0; q-- ){
digitalWrite( pin[q], LOW );delay(200);}
s = 0;
}
// góra
if (digitalRead(3) == HIGH and s == 0){
for( q = 9; q >= 0; q-- ){
digitalWrite( pin[q], HIGH );delay(500);}
s = 1;
}
if (digitalRead(3) == HIGH and s == 1){
for( q = 0; q < 9; q++ ){
digitalWrite( pin[q], LOW );delay(200);}
s = 0;
}}