26-02-2020, 14:05
Witam wszystkich,
Chciałbym zrobić czujnik ruchu wykorzystując HC-SR501 i dodatkowo dołożyć do niego fotorezystor, który by mierzył natężenie światła w taki sposób, aby po wykryciu ruchu włączało się światło tylko w nocy. Napisałem program i spróbowałem przeprowadzić symulację na platformie TinkerCad, lecz bezskutecznie. Sam czujnik zmierzchu działa, ale gdy dołożyłem warunek z czujnikiem ruchu przestało działać. Poniżej kod:
Czy, ktoś mógłby zerknąć w program i zobaczyć co jest nie tak ? Z góry bardzo dziękuję .
Chciałbym zrobić czujnik ruchu wykorzystując HC-SR501 i dodatkowo dołożyć do niego fotorezystor, który by mierzył natężenie światła w taki sposób, aby po wykryciu ruchu włączało się światło tylko w nocy. Napisałem program i spróbowałem przeprowadzić symulację na platformie TinkerCad, lecz bezskutecznie. Sam czujnik zmierzchu działa, ale gdy dołożyłem warunek z czujnikiem ruchu przestało działać. Poniżej kod:
Kod:
#define czujnik1 5
int pomiarswiatla;
void setup() {
Serial.begin(9600); // prędkość portu COM do odczytu
pinMode(czujnik1, INPUT); //czujnik ruchu
pinMode(4, OUTPUT); //wskazanie pinu dla przekaźnika
digitalWrite(4, LOW);//wyłączenie przekaźnika
}
void loop() {
pomiarswiatla = analogRead(A0); // wskazanie pinu czytającego dane analogowe
Serial.print("Pomiar światła = "); //napis dla monitora portu
Serial.println(pomiarswiatla);
if ((pomiarswiatla < 920) && (digitalRead(czujnik1)==LOW)) { // reakcja?
digitalWrite(4, LOW);//wyłączenie 2 diody lub przekaźnika
if ((pomiarswiatla < 700) && (digitalRead(czujnik1)==HIGH)) { // reakcja?
digitalWrite(4, HIGH);//włączenie przekaźnika
}
}
else {
digitalWrite(4, LOW);//wyłączenie przekaźnika
}
delay(500); //odczyt z fotorezystora co ile sekund ?
}