Официальный сайт компании Arduino по адресу arduino.cc
датчик движения+зуммер(пищалка)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Чт, 15/06/2017 - 23:17
при срабатывании датчика движения нужно, чтоб пищал зуммер. например 1 мин. движения нет зуммер не пищит.попрбоал сваять скетч зуммер пищит постоянно,что я сделал не так.понятно модуль для ардуино ЗУММЕР АКТИВНЫЙ на 3 провода.вот скетч
//Время калибровки датчика (10-60 сек. по даташиту)
int calibrationTime = 30;
//Время, в которое был принят сигнал отсутствия движения(LOW)
long unsigned int lowIn;
//Пауза, после которой движение считается оконченным
long unsigned int pause = 5000;
//Флаг. false = значит движение уже обнаружено, true - уже известно, что движения нет
boolean lockLow = true;
//Флаг. Сигнализирует о необходимости запомнить время начала отсутствия движения
boolean takeLowTime;
int pinPirSensor= 4;//вывод подключения PIR датчика
int pinBuzzer= 5;//вывод зуммера
void setup()
{
Serial.begin(9600);
pinMode(pinPirSensor,INPUT);
pinMode(pinBuzzer,OUTPUT);
digitalWrite(pinBuzzer,LOW); //отключим на всякий случай пищалку
//дадим датчику время на калибровку
Serial.print("Calibrating");
for(int i = 0; i < calibrationTime; i++)
{
Serial.print(".");
delay(1000);
}
Serial.println(" done");
Serial.println("SENSOR ACTIVE");
delay(50);
}
void loop()
{
//Если обнаружено движение
if
(digitalRead(pinPirSensor) == HIGH);
{
digitalWrite(pinBuzzer,HIGH);
}
{
//Ели движения нет
if(digitalRead(pinPirSensor) == LOW);
{
digitalWrite(pinBuzzer,LOW);
delay(100);
}
}
}
Уберите точки с запятыми после условий if.
http://arduino.ru/Reference/If
Ну и заодно уберите лишнюю пару фигурных скобок и delay(100);.
Ну будущее - ознакомьтесь с http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
спасибо не ожидал,сечас начнется иди в раздел -ищу иполнителя.А это нету с ником П...... где скобки убрать?
Точки с запятой вот здесь
if(digitalRead(pinPirSensor) == LOW);
лишние, трактуюца как пустой оператор, убери их. Между условием if и фигурными скобками не должно быть ";"
Похоже ТС "запретили" писать так
Похоже ТС "запретили" писать так
Меня всегда раздражали подобные конструкции.
Почему не написаь просто:
Тоже идиоткая запись. Для демотестов подойдет. А в приличную программу сувать нельзя.
Тоже идиоткая запись. Для демотестов подойдет. А в приличную программу сувать нельзя.
А по какой причине?
Если писать такие программы , то можно обойтись без МК совсем. Тупо перекинуть провода в обход МК.
Если писать такие программы , то можно обойтись без МК совсем. Тупо перекинуть провода в обход МК.
Все таки цель ведь не в написании программы, а получении требуемого результата с меньшими затратами. Гвоздь можно забить камнем, молотком, топором, пневмомолотком. Если гвоздь один, нахрена мне пневмомолоток с его компрессорами и прочим, я это сделаю тем, что находится возле меня. Это будет проще, быстрее и приведет к требуемому результату.
Ни в коем случае не утверждаю, что развитие и познавание не требуются, но и самоцелью это становиться не должно. ИМХО.
Ни в коем случае не утверждаю, что развитие и познавание не требуются, но и самоцелью это становиться не должно. ИМХО.
Если вы жили в пещере или очень далеко от людей, то да забивать гвоздь можно не только камнем, но и своей головой. А результат. Здесь тоже интересный вопрос. Если у вас будет сосед регулярно в 12 часов ночи забивать гвоздь в стену . Ну да он неуклюжий , да он он хочет научиться быстро забивать ,чем попало гвоздь в стену, но блин не получается. А днем он на работе. Ну и так далее.
Вы невнимательно читаете: "Если гвоздь один". Если их сотня, я задумаюсь о компрессоре, если тысяча, сразу пойду покупать. А пример с забиванием гвоздей посреди ночи относится не к инструментам, которыми это делается, а отсутствию мозгов и воспитания у индивидуума.
Гвоздь не может быть один,их покупают пачками. Скорее всего надо забить один гвоздь. Но хорошо если у вас есть опыт забивать гвоздь в нужную поверхность, а не так " я знаю человека, который видел на канале ютуба , как забивают гвозди". Если у вас в квартире приличный ремонт и надо забить в стену гвоздь . Стена бетоная панельная и тому далее и прочее. И да у вас может получиться забить один гвоздь в стену. А может быть так https://www.youtube.com/watch?v=8PxZaFOByrU
ПС: Это могло быть весело, если бы не было так грусно. И так не только с гвоздями, но и со всеми вещами,
извините что перебиваю ваш диалог но зуммер пищит постояно.Что я не так сделал-СТРОИТЕЛИ ?
извините что перебиваю ваш диалог но зуммер пищит постояно.Что я не так сделал-СТРОИТЕЛИ ?
Тут с народом побеседовал в соседней теме. Вы наверное разочаровались. Трагедии нет. Так это хорошо. Ведь разочарование это то что вас ждет в работе с Ардуиной. А если хотите больше, так надо глубже изучать программирование.
извините что перебиваю ваш диалог но зуммер пищит постояно.Что я не так сделал-СТРОИТЕЛИ ?
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
вот что на данном этапе получилось,но зуммер пищит и датчик работает как то хаотично.может время задержки надо?
извините что перебиваю ваш диалог но зуммер пищит постояно.Что я не так сделал-СТРОИТЕЛИ ?
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
Уберите точки с запятыми после условий if.
убрал выдает ошибку
Что за датчик движения - неизвестно, попробуйте заменить pinMode(pinPirSensor,INPUT); на pinMode(pinPirSensor,INPUT_PULLUP);
Вот это должно работать :
if
(digitalRead(pinPirSensor))
28
{
//Если обнаружено движение
29
digitalWrite(pinBuzzer, HIGH);
30
}
else
31
{
//иначе движения нет
32
digitalWrite(pinBuzzer, LOW);
33
}
Где убрали ? Покажите результирующий скетч.
датчик движения hc-sr501 для ардуино, я пробую его настроить позже отпишусь хочу сделать сигнализацию а то замучили постоянно выставляют холодную зону(балкон на лестничной клетке)
OMG, да разберитесь уже с точками с запятыми наконец... Как Вы собираетесь дальше писать, не зная синтаксиса языка ?
Если писать такие программы , то можно обойтись без МК совсем. Тупо перекинуть провода в обход МК.
Отнюдь.
Естественно, когда я предлагал свой вариант, меня посетила мысль об отказе от МК.
Но ведь далеко не всегда программа состояит из единственной строчки. Если, например, та кострукция, что я предпочитаю записывать в одну строку, а Вы - в четыре, находится после нескольких дополнительных условий, причем требующих запоминания предыдущего состояния и парсинга строки, то я крайне сомневаюсь, что такую схему будет проще собрать на россыпухе, нежели использовать МК.
Так что нужно сравнивать сравнимое (способ записи конкретного выражения), а не приписывать чисто программным решениям недостатки, ссылаясь на программно-аппаратную архитектуру конкретного решения.
Мой способ записи проще и понятнее: то, что читаем в одном месте, его же нужно запихнуть в другое. Без всякого анализа, чему оно может быть равно.
PS. Писал по памяти, сейчас посмотрел - даже не 4, а 5 строк, учитывая закрывающую фигурною скобку. Кстати, скобки тут тоже не нужны (хотя я обычно ставлю).
Как Вы собираетесь дальше писать, не зная синтаксиса языка ?
А нафига знать, когда есть Araris? :)
я ни как не могу найти ошибку,уже новый скетч попробывал своять ,знаний мало
Рыдая, покидаю тему...
Рыдая, покидаю тему...
Правильно. Не надо было в неё входить. ТС уже имеет стойкую репутацию .... так что ....
Рыдая, покидаю тему...
Правильно. Не надо было в неё входить. ТС уже имеет стойкую репутацию .... так что ....
А вот и человек с буквой П .....ый.. где был а то мы соскучились долго ты добирался к нам еще не все темы обосрал
вроде исправил а как положено не работает
вроде исправил а как положено не работает
А пищалка по LOW должна пищать или не пищать?
А пищалка по LOW должна пищать или не пищать?
А это даже не важно, проблема кода ТС не в этом