|
0 / 0 / 0
Регистрация: 13.09.2018
Сообщений: 4
|
|||||||||||
"Виснет" выполнение loop13.09.2018, 17:04. Показов 5988. Ответов 9
Скетч должен по сигналу с ИК-пульта плавно зажигать два светодиода, включать воспроизведение аудиозаписи на мини mp3 плеере(при начале воспроизведения включается реле усилителя, по окончании - выключается), в определенный момент воспроизведения включать реле дым машины на короткий промежуток времени, по окончании воспризведения и выключении реле дым машины - плавно тушить светодиоды.
На ИК пульте кроме кнопок №1 и №2 включения определенной аудиозаписи, используются кнопки регулировки громкости, кнопка эквалайзера, и кнопка для сброса плеера (reset). Проблема заключается в том, что после того как я решил сделать управления с ИК пульта через прерывания - после приема какого-то количества сигналов с пульта основной цикл loop перестает выполняться (вставлял маркеры для проверки), хотя сигналы с пульта ардуина принимает (определил по блинку). Плюс к этому - сигналы с пульта искажаются, смотрел по последовательному порту - идет какой-то мусор, не пойму откуда он. Прошу помощи, ибо я новичок, возможно что-то где-то сделал не так.
Немного исправил код, убрал отдельное прерывание на прием IR
Добавлено через 8 минут если кто будет тестировать код - нужно будет из второй версии с 56 строки переместить код в первую версию. хотел убрать attachInterrupt, а убрал не там. и время на редактирование вышло
0
|
|||||||||||
| 13.09.2018, 17:04 | |
|
Ответы с готовыми решениями:
9
Arduino - выполнение кода в loop по условию, с задержкой Open Loop и Closed Loop системы, какие утверждения верны? Найти среднее арифметическое отрицательных чисел, введенных с клавиатуры, используя do-loop while/do-loop until |
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 14.09.2018, 15:42 | |
|
Уточняйте участок кода, в котором происходит ошибка. Особенность QA на форумах в том, что подробно разбираться с тем, как работает ваша программа все равно никто не будет.
Чтобы получить конкретный ответ, нужно задать максимально конкретный вопрос. В идеале предоставить минимальный пример, в котором ошибка сохраняется, но где выкинуты все незначимые куски кода.
0
|
|
|
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,749
|
||||||
| 16.09.2018, 03:57 | ||||||
|
decode_results results; // описание переменной
Ошибка у вас со строк 63 по 68 стоит вообще их убрать, вы по своему пытаетесь переделать принятый результат. if (irrecv.decode(&results)) //Если произошло событие/кнопка была нажата комментарии говорит сама за себя, нужный вам результат уже в переменной results.value , вы дальше начинаете шаманить используя 2 лишние переменные ir_dt, ir_kod, зачем
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.09.2018
Сообщений: 4
|
||||||
| 17.09.2018, 09:41 [ТС] | ||||||
|
эти переменные обрабатывают код повторения сигнала при удержании кнопки (ну и отсекают нулевой код до кучи), и бо он один для всех кнопок - 0xFFFFFFFF
Добавлено через 1 час 17 минут вот минимальный участок кода с ошибкой
0
|
||||||
|
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,749
|
|
| 17.09.2018, 14:32 | |
|
Давайте посмотрим на 6 строку вашего кода. И вопрос какой ардуино вы используете? С мр3 плеерами пока не работал. Возникает еще вопрос RX TX в UNO только 0 и 1, на меге тем более не 4 и 12 намек надеюсь понятен, стоит наверное разобраться с каждым по отдельности сначала с пультом а потом с мр3 плеером по отдельности
Добавлено через 13 минут Видел код для мрз плеера где использован 10 и 11 пин ( шим) на уно и скорости на портах 9600 а не разный как у вас
0
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 17.09.2018, 14:36 | |
|
Если это ардуино uno, прерывания на четвертой ноге вроде бы поддерживаются. Так что SoftwareSerial должен работать. .. Если это Uno или аналог.
Добавлено через 2 минуты ИМХО, следует разобраться с тем, какой правильный порядок получения данных. Как-то сомнительно, что функция decode отвечает за приём.
0
|
|
|
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,749
|
|
| 17.09.2018, 14:38 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2018
Сообщений: 4
|
||||||||||||||||||
| 18.09.2018, 09:14 [ТС] | ||||||||||||||||||
0
|
||||||||||||||||||
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||||||
| 18.09.2018, 10:35 | ||||||
Сообщение было отмечено bormant как решение
Решение
По идее sofwareserial вообще не использует таймер.
Использует програмные задержки. Тобишь вообще синхронно работает на передачу. Таймер не использует. Добавлено через 22 минуты Он, собака, во время передачи отключает прерывания.
Собственно, как это решать мне не очень понятно.
1
|
||||||
|
0 / 0 / 0
Регистрация: 13.09.2018
Сообщений: 4
|
|
| 18.09.2018, 14:05 [ТС] | |
|
вот спасибо, ваша подсказка очень помогла. не знаю чем, но выяснить причину такого поведения - уже хорошо
впрочем что с этим можно сделать я тоже слабо представляю попробую как нибудь сделать без SoftwareSerial
0
|
|
| 18.09.2018, 14:05 | |
|
Помогаю со студенческими работами здесь
10
Как создать 4 варианта программы c For/Next,Do While / Loop, Do Loop /Until , If Then Goto
Warining For-loop variable 'i' may be undefined after loop
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|