Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 33

Смена состояния светодиода по хлопку (акустический датчик)

26.05.2015, 11:55. Показов 2584. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В чем может быть ошибка программы? Почему диод не реагирует на хлопок?(подскажите пожалуйста)

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int analogData=0; //тут будут храниться данные с АЦП пин 0
int ledstate=0; //переменная состояния вкл-выкл
 
void setup() {
pinMode(13,OUTPUT);
analogReference(EXTERNAL);
}
 
void loop() {
 
analogData=analogRead(0); //читаем значение
 
if(analogData > 0 && analogData < 255){ //x и a будут заменены на точные значения
delay(200); //ожидаем 200милисекунд для повторного хлопка - можно не делать но в моём случае это добавило удобства
 
for(int t=0;t<=500;t++){ //цикл на проверку второго хлопка по идее на пол секунды но ардуино делает его дольше
 
delay(1); //для цикла
 
analogData=analogRead(0);//считываем данные
if(analogData >  300& analogData < 6000){  //сверяем данные для второго хлопка, если он был то меняем состояние лампы с вкл на выкл и наоборот
ledstate=!ledstate; //меняем состояние
break;//выходим из цикла после второго хлопка
delay(200);//для удобства
 }
}
}
digitalWrite(13,ledstate);
}
В чем может быть ошибка программы? Почему диод не реагирует на хлопок?(подскажите пожалуйста)
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int analogData=0; //тут будут храниться данные с АЦП пин 0
int ledstate=0; //переменная состояния вкл-выкл
 
void setup() {
pinMode(13,OUTPUT);
analogReference(EXTERNAL);
}
 
void loop() {
 
analogData=analogRead(0); //читаем значение
 
if(analogData > 0 && analogData < 255){ //x и a будут заменены на точные значения
delay(200); //ожидаем 200милисекунд для повторного хлопка - можно не делать но в моём случае это добавило удобства
 
for(int t=0;t<=500;t++){ //цикл на проверку второго хлопка по идее на пол секунды но ардуино делает его дольше
 
delay(1); //для цикла
 
analogData=analogRead(0);//считываем данные
if(analogData >  10& analogData < 255){  //сверяем данные для второго хлопка, если он был то меняем состояние лампы с вкл на выкл и наоборот
ledstate=!ledstate; //меняем состояние
break;//выходим из цикла после второго хлопка
delay(200);//для удобства
 }
}
}
digitalWrite(13,ledstate);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2015, 11:55
Ответы с готовыми решениями:

Акустический датчик
Эксперимента ради, собрал я такую штуковину: http://img440.imageshack.us/img440/928/dscn2468s.jpg По сути дела это датчик,...

Кнопочный переключатель состояния светодиода
Добрый день. Не получается сделать кнопочный переключатель светодиода. Нажал кнопку - светодиод загорелся. Нажал второй раз - выключился....

Загорание светодиода если инфракрасный датчик движения выдаёт 1 (HIGH)
Схема: В схему ещё подключил светодиод в pin 12. Оригинальный код: const int movPin=2; // void setup(){ ...

1
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.05.2015, 13:16
Почему диод не реагирует на хлопок?
а почему диод должен на него реагировать? Диод не акустический прибор.

1- у вас на вход АЦП что подключено, микрофон с усилителем или микрофон с компаратором?
2- какие уровни фиксирует аналоговый канал? Подайте на Serial и напишите в теме. Максимально возвращаемое значение в буратине по аналоговому входу до 1023.
3- куда конкретно физически подключен микрофон или шилд, на нулевой канал АЦП?
4- delay() уберите, проверку на серию хлопков и устранение дребезга лучше осуществить через millis()

Добавлено через 4 минуты
Если использовали analogReference(EXTERNAL) - внешний источник опорного напряжения, подключенный к выводу AREF, будьте любезны обосновать. Предоставьте схему. Иначе, лепите код не думая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2015, 13:16
Помогаю со студенческими работами здесь

Смена цвет в зависимости от состояния объекта
У меня есть много коммутаторов, и я делаю страничку с кнопками, и хочу, в зависимости от состояния (если доступен, то цвет кнопок,...

Смена состояния пользовательской веб сесси
Вобщем вопрос вот какой. Можно ли как то сменить пользовательскую веб сессию с анонимной на авторизированную на стороне сервера (в ssjs к...

Сессии. Смена состояния online/offline
Ситуация следующая. Механизм аутентификации/авторизации и раздачи ролей реализован с помощью Identity. Есть пользователи, у каждого есть...

Смена состояния radiobutton при обращении через id
Есть конструкция с двумя radio &lt;tr&gt; &lt;td width=&quot;30px&quot; align=&quot;center&quot;&gt; &lt;input type=&quot;radio&quot; id=&quot;wholly&quot; name=&quot;satisfy&quot;...

Radiobutton удалить кружок и смена кртинки от его состояния
Ну в общем нужно удалить кружок у radiobutton'a и определять его состояние если он checked то подставлять первую картинку (золотистая) если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru