Запуск воспроизведения аудио записи при размыкании концевика DF Player
- Войдите на сайт для отправки комментариев
Вс, 29/07/2018 - 00:56
Доброго вермени суток.
Сделал програмку которая должна была проигрывать музыку при срабатывыании концевика.
При открывании шкатулки, концевик размыкается и должна играть музыка, но этого не происходит(((
Если без кнопки програмно запускать то все работает, как только добавляю кнопку с условием (если) то сразу перестает работать, что я делаю не так?
Спасибо за Ваше время.
а вот и скетч:
#include <SoftwareSerial.h> // библиотека для для обмена данными #include <DFPlayer_Mini_Mp3.h> // подключаем библиотеку для DFPlayer Mini int button = 2; void setup() // { Serial.begin(9600); mp3_set_serial(Serial); // включаем передачу данных с DFPlayer mini mp3 delay(1); // задержка в 1ms для установки громкости mp3_set_volume(15); // устанавливаем громкость от 0 до 30 mp3_set_EQ(0); // устанавливаем эквалайзер от 0 до 5 pinMode(button, INPUT); } void loop(){ if (digitalRead(button) == LOW) { mp3_play(1); // проигрываем файл mp3/0001.mp3 delay(99999999); (Проигрываем файл до тех пор пока ардуину не перезапустят) } }
Кнопка как подключена - с резистором на +5V или нет? Гарантированное "Пока не перезапустят" - это while(true);
Это не просто кнопка.
Это готовый модуль, я так понмаю, резисторы цеплять тут не нужно.
Советую прозвонить. Сдается мне, что там резистор только на светодиоде. Если более черненьких деталей цифрами нет на плате, то шарахните INPUT_PULLUP вместо INPUT в своем скетче.
Измерил сопротивление, если положение вкл, получилось 0 ом.
изменил программу, написал INPUT_PULLUP вместо INPUT, результат тот же
если свитч концевик нажат, то сигнал `0` и led включен, иначе сигнал `1` и led выключен
Измерил сопротивление, если положение вкл, получилось 0 ом.
изменил программу, написал INPUT_PULLUP вместо INPUT, результат тот же
А что, если вместо запуска мелодии поджигать светодиод - тоже не работает? Я вот ничего в этих трех строчках с условием криминального не вижу. Разве что delay на while(1) заменил бы.
Провод от концевика на тот вход подсоединен, что проверяется в скетче?
а ничего что пока идет
условие if просто не проверяется?
upd : по условиям задачи,там этого и ненадо.
Так ему и не надо постоянно проверять вроде как - один раз тыкнул и пошла музыка бесконечная.
Anton555,
так она же у Вас не компилируется. А потому и не загружается. В 25-ой строке пропущен знак начала комментария. Вы на сообщения-то смотрите?
------------------
Если же на самом деле компилируется, только Вы нас обмануть рещили и неправильный код вставили, то сделайте какой-нибудь индикатор прохождения loop (хоть как у меня ниже).
Потом зажмите кнопку и держите не менее 1 сек. Если LOW он нажатия кнопки ничего не меняется и цикл миганий продолжается, то разбирайтесь с концевиком. Если же при нажатии кнопки светодиод на 13-ом гаснет и больше не дёргается - разбирайтесь почему у Вас не срабатывает запуск музыки.
Скажите, что получилось.
Делей уберите и все заработает.