Ви не увійшли.
Сторінки 1
задача : если есть движение сработал датчик зуммер пищит,нет движения датчик не пищит.
Подскажите почему зумер не пищит ,надо настроить сам датчик движения,или ошибка в коде.(датчик движения для ардуино 501 помойму,зумер модуль для ардуино готовый.
код
//Время калибровки датчика (10-60 сек. по даташиту)
int calibrationTime = 30;
int pinPirSensor= 4;// датчик движения
int pinBuzzer= 5; // зуммер
int ledPin = 13; //вывод сигнального диода
void setup()
{
Serial.begin(9600);
pinMode(pinPirSensor,INPUT_PULLUP);
pinMode(pinBuzzer,OUTPUT);
digitalWrite(pinBuzzer,LOW); //отключим на всякий случай пищалку
//дадим датчику время на калибровку
Serial.print("Calibrating");
for(int i = 0; i < calibrationTime; i++)
{
//Во время калибровки будет мигать сигнальный диод
i % 2 ? digitalWrite(ledPin, HIGH) : digitalWrite(ledPin, LOW);
delay(1000);
}
//По окончанию калибровки зажжем сигнальный диод
digitalWrite(ledPin, HIGH);
delay(50);
}
void loop()
{
if (digitalRead(pinPirSensor)==HIGH) //Если обнаружено движение
{
digitalWrite(pinBuzzer, LOW); //пищалка пищит
if (digitalRead(pinPirSensor)==LOW)//Если движение нет
{
digitalWrite(pinBuzzer, HIGH); //пищалка непищит
}
}
}
Неактивний
потому что не правильно написали
void loop()
{
if (digitalRead(pinPirSensor)==HIGH) //Если обнаружено движение
{
digitalWrite(pinBuzzer, LOW); //пищалка пищит
if (digitalRead(pinPirSensor)==LOW)//Если движение нет
{
digitalWrite(pinBuzzer, HIGH); //пищалка непищит
}
}
}
попробуйте
void loop()
{
if (digitalRead(pinPirSensor) == HIGH) //Если обнаружено движение
{
digitalWrite(pinBuzzer, LOW); //пищалка пищит
}
else if (digitalRead(pinPirSensor) == LOW) //Если движение нет
{
digitalWrite(pinBuzzer, HIGH); //пищалка непищит
}
}
ещё проще
void loop()
{
if (digitalRead(pinPirSensor) == HIGH) //Если обнаружено движение
digitalWrite(pinBuzzer, LOW); //пищалка пищит
else
digitalWrite(pinBuzzer, HIGH); //пищалка непищит
}
Неактивний
Сторінки 1