Czy sketch ten jest poprawnie napisany?
Jeżeli nei to gdzie jest błąd?
Skrypt znalazłem na YouTube na kanale uzytkownika Botland
#define PRZYCISK 2
#define SWIATLO 3
#define ALARM 4
#define PIR 5
#define LED 13
#define CZAS_WYJSCIA 10000
boolean uzbrojony = false;
unsigned long przycisk_czas, uzbrojenie_czas;
void setup() {
pinMode(LED, OUTPUT);
pinMode(SWIATLO, OUTPUT);
digitalWrite(SWIATLO, HIGH);
pinMode(ALARM, OUTPUT);
digitalWrite(ALARM, HIGH);
pinMode(PIR, INPUT);
pinMode(PRZYCISK, INPUT_PULLUP);
}
void zmiana()
{
digitalWrite(ALARM, HIGH);
uzbrojenie_czas = millis() + CZAS_WYJSCIA;
przycisk_czas = millis() + 1000;
uzbrojony = !uzbrojony;
detachInterrupt(digitalPinToInterrupt(PRZYCISK));
}
void loop() {
digitalWrite(LED, uzbrojony);
if (przycisk_czas < millis())
attachInterrupt(digitalPinToInterrupt(PRZYCISK), zmiana, FALLING);
if (digitalRead(PIR))
{
if (uzbrojony && uzbrojenie_czas < millis())
digitalWrite(ALARM, LOW);
digitalWrite(SWIATLO, LOW);
}
else
digitalWrite(SWIATLO, HIGH);
}
Jeżeli nei to gdzie jest błąd?
Skrypt znalazłem na YouTube na kanale uzytkownika Botland
#define PRZYCISK 2
#define SWIATLO 3
#define ALARM 4
#define PIR 5
#define LED 13
#define CZAS_WYJSCIA 10000
boolean uzbrojony = false;
unsigned long przycisk_czas, uzbrojenie_czas;
void setup() {
pinMode(LED, OUTPUT);
pinMode(SWIATLO, OUTPUT);
digitalWrite(SWIATLO, HIGH);
pinMode(ALARM, OUTPUT);
digitalWrite(ALARM, HIGH);
pinMode(PIR, INPUT);
pinMode(PRZYCISK, INPUT_PULLUP);
}
void zmiana()
{
digitalWrite(ALARM, HIGH);
uzbrojenie_czas = millis() + CZAS_WYJSCIA;
przycisk_czas = millis() + 1000;
uzbrojony = !uzbrojony;
detachInterrupt(digitalPinToInterrupt(PRZYCISK));
}
void loop() {
digitalWrite(LED, uzbrojony);
if (przycisk_czas < millis())
attachInterrupt(digitalPinToInterrupt(PRZYCISK), zmiana, FALLING);
if (digitalRead(PIR))
{
if (uzbrojony && uzbrojenie_czas < millis())
digitalWrite(ALARM, LOW);
digitalWrite(SWIATLO, LOW);
}
else
digitalWrite(SWIATLO, HIGH);
}