Постоянно пищит зуммер.
- Войдите на сайт для отправки комментариев
Пнд, 01/05/2017 - 00:56
Есть такой скетч
#define blinPin 0 #define bloutPin 1 #define pirPin 2 #define shumPin 3 void setup() { Serial.begin(9600); //Serial.begin скорость соединения с другими устройствами pinMode(blinPin, INPUT); pinMode(bloutPin, OUTPUT); pinMode(pirPin , INPUT); pinMode(shumPin, OUTPUT); } void loop() { // int = integer (Pascal) int pirSig = digitalRead(pirPin); //digitalRead Функция считывает значение с заданного входа - HIGH или LOW. int warOn = bloutPin; int warOk = blinPin; int num = 0; digitalWrite(warOn, HIGH); digitalWrite(shumPin, LOW); // Провека полученного сигнала со смартфона if ((warOk == 1) && (num ==1)) { // Если сигнал получен num = 0; digitalWrite(shumPin, LOW); } if ((warOk == 0) && (num == 1)){ //Если сигнал не получен digitalWrite(warOn, HIGH); // digitalWrite Подает HIGH или LOW значение на цифровой вход/выход (pin). Serial.println("1"); // Serial.println Передает данные через последовательный порт digitalWrite(shumPin, LOW); delay(1000); } //Если обнаружили движение if ((pirSig == HIGH) && (num == 0)) { digitalWrite(warOn, HIGH); // digitalWrite Подает HIGH или LOW значение на цифровой вход/выход (pin). Serial.println("1"); // Serial.println Передает данные через последовательный порт digitalWrite(shumPin, LOW); num = 1; delay(1000); } }
В краткости есть пир датчик в случае его срабатывания должен начать пищать зуммер. А он почему то пищит остоянно. ХЗ может подключил не так на нём нет распиновки. Может кто знает как его подключать(лично я подключил так же как и аналоги). Или киньте точно рабочий скетч дапустим 2 секундымолчит2 орёт.
в случае его срабатывания должен начать пищать зуммер.
Не должен!
У Вас на shumPin подаётся только LOW и никогда не подаётся HIGH. Так с чего Вашему зуммеру менять состояние? Либо он должен всегда молчать, либо всегда пищать.
О дальнейшем - я вчера Вам сказал, давайте ссылку на Ваш модуль пищалки и схему/фото, так давайте же. Посмотрим, разберёмся. Зачем Вы завели новую тему, думаете что-то изменится.
Ну вот скетч, при каждой фиксации движения издаёт краткий писк
в случае его срабатывания должен начать пищать зуммер.
Не должен!
У Вас на shumPin подаётся только LOW и никогда не подаётся HIGH. Так с чего Вашему зуммеру менять состояние? Либо он должен всегда молчать, либо всегда пищать.
О дальнейшем - я вчера Вам сказал, давайте ссылку на Ваш модуль пищалки и схему/фото, так давайте же. Посмотрим, разберёмся. Зачем Вы завели новую тему, думаете что-то изменится.
Старую темя я не нашёл. Подумал её делитнули.
Модуль купил в интерент магазине. Распиновки там нет.
Пишит он не смотря на то что подаётся LOW
Ну вот скетч, при каждой фиксации движения издаёт краткий писк
Спасибо. Но я ничего не понял.
http://brainid.ru/product/active-buzzer-module/
Это ссылка на модуль
Может кто знает как его подключать.
Попробуйте минус к земле, "S" - к пину, средний не подключать.
Источник : http://arduinomodules.info/ky-012-active-buzzer-module/
Может кто знает как его подключать.
Попробуйте минус к земле, "S" - к пину, средний не подключать.
Источник : http://arduinomodules.info/ky-012-active-buzzer-module/
на сколько я понимаю, s надо подключать к пину, который поддерживает шим
Вы же писали, что зуммер активный? Если так, то не надо.
Ок понял попробую
Вот здесь написано как подключать и пример скетча есть - https://tkkrlab.nl/wiki/Arduino_KY-012_Active_buzzer_module
Неужели Вы и впрямь покупали его за 60 рублей?
Их ведь (12 мм активных зуммеров) навалом по 7, а если 100шт., то и по 5 с копейками?
Так, в итоге подлкючить получилось.
Проблема теперь в следующем. Нужно что бы зуммер после первого писка пищал постоянно до тех пор пока не придут сигнал, а он пишит только несколько раз. Вот скетч.
Евгений можете объяснить,?
Вот здесь написано как подключать и пример скетча есть - https://tkkrlab.nl/wiki/Arduino_KY-012_Active_buzzer_module
Неужели Вы и впрямь покупали его за 60 рублей?
Их ведь (12 мм активных зуммеров) навалом по 7, а если 100шт., то и по 5 с копейками?
Помогите пожалуйста !!!!!
Нет, не могу.
Представьте себе, что Вы вообще ничего не знаете о своём замысле и идее этой программы. Вы бы поняли своё описание
Нужно что бы зуммер после первого писка пищал постоянно до тех пор пока не придут сигнал, а он пишит только несколько раз.
Во и я не понял.
Напишите только что именно Вы хотели сделать и распишите про каждое действие, в каких строках оно у Вас делается. Тогда, возможно, станет понятен общий замысел и будет возможно найти неполадку.
Нет, не могу.
Представьте себе, что Вы вообще ничего не знаете о своём замысле и идее этой программы. Вы бы поняли своё описание
Нужно что бы зуммер после первого писка пищал постоянно до тех пор пока не придут сигнал, а он пишит только несколько раз.
Во и я не понял.
Напишите только что именно Вы хотели сделать и распишите про каждое действие, в каких строках оно у Вас делается. Тогда, возможно, станет понятен общий замысел и будет возможно найти неполадку.
так мне надо что бы если срабатывает pir датчик то начинает играть мелодия без остановки и по выходу отправляет 1 на телефон который подключён к блютуз до тех пор пока по блютуз входу не приходит ноль, как только сигнал приходит программа начинает работать заново. Пока вроде всё работает кроме того что музыка играет только 3 раза а нужно что бы играла до момента получения сигнала
Что значит "без остановки и по выходу". Играет до конца, отправляет 1 и начинает играть сначала? Так?
Значит,то что мелодия будетиграть до тех пор пока на arduino по блютузвходу непридёёт сигнал 1
Вы не поняли вопроса. Как она будет "играть до тех пор". Проигрываться до конца и начинаться сначала? Что делать, если 1 пришла посередине мелодии? Доигрывать до конца или прерывать в том месте, где пришла 1?
Да, уж!
Вот зачем Вы пишете комментариии типа "digitalWrite Подает HIGH или LOW значение на цифровой вход"? Виесто того, чтобы описывать логику Вышей программы. Эти совершенно ненужные комментарии у Вас есть, а вот собственно логика не описана свосем.
Хорошо, давайте я сам прокомментирую Ваш текст. Мои комментарии либо в строках, либо (если длинные), то под строками. Читайте внимательно и переделывайте. Кстати, в выражениях я стеснялся - обидетесь, дело Ваше - хотите учитьтся - учитесь, хотите поиграть в обидчивую гимназистку - вперёд!
так. Я сразу писал что плохо в этом разбираюсь, поэтому соединял несколько кодов в один , поэтому такая штука получилась. Если мелодия играет и проиходит единица то она заканчивается сразу. Задумка идёт на то , что с андроида приходит сигнал в иде цывры один как задать его я не знаю. поэтому warOk и warOn. Вообщем таки всё.
Ну, понимаете, Вы подходите не с той стороны. Вы пытаетесь писать не программу не уяснив до конца логику работы. Так не получится. Начните с того, что напишите словами что Вы делаете. Только именно что Вы делаете, а не глупости вроде "вывожу ток". Словами - в терминах задачи. Чётко по шагам. Пройтиде по записи прямо пальцем и убедитесь, что логика написана правильно. А потом, под этими комментариями просто впишите адекватные коды. Вы же пытаетесь сразу коды писать не понимаю толком что они делают. Например, Вот Вы пишете, что "мелодия заканчивается сразу" а между тем в функции проигрывания мелодии у Вас даже попытки нет узнать пришло ли что-нибудь - она у Вас заточена на тупое проигрывание от начала до конца.