Код (C++): #include <DFMiniMp3.h> #include <SoftwareSerial.h> SoftwareSerial mySerial(0, 1); void setup () { Serial.begin (9600); // открываем порт для консоли mySerial.begin (9600); // открываем софт-порт mp3_set_serial (mySerial); // задаем порт для плеера mp3_set_volume (15); //устанавливаем уровень громкости } void loop () { mp3_play (1); // проигрываем файл mp3/0001.mp3 delay (6000); mp3_next (); // включаем следующий файл delay (6000); } Добрый вечер. Пытаюсь разобраться с Mini MP3 player. Нашёл в интернете пример, скачал библиотеку, но мне выдаёт: " Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Плата:"Arduino Uno" MP3:18:3: error: 'mp3_set_serial' was not declared in this scope MP3:20:3: error: 'mp3_set_volume' was not declared in this scope C:\Users\bukae\Desktop\ШКОЛА\9 класс\Курсовые\Arduino\MP3\MP3.ino: In function 'void loop()': MP3:25:3: error: 'mp3_play' was not declared in this scope MP3:29:3: error: 'mp3_next' was not declared in this scope exit status 1 'mp3_set_serial' was not declared in this scope "
Установите библиотеку DFPlayer-Mini-mp3 и подключите ее вместо DFMiniMp3.h Код (C++): #include "DFPlayer_Mini_Mp3.h"
DFRobot объявили эту библиотеку устаревшей, поэтому распакуйте папку DFPlayer_Mini_Mp3 из архива https://github.com/DFRobot/DFPlayer-Mini-mp3/archive/refs/heads/master.zip в папку libraries вручную
Я ни разу не программист, потому меня вводят в ступор объявления Сериалов. Если у вас УНО -то - Сериал аппаратно висит на пинах 0-1. Софверный Сериал вы объявляете на тех же пинах. А конфликта не будет ? Прошу не пинать.
Конечно так делать не нужно, Но "//порт для консоли" открыт, но им ни разу и не пользуются.... Судя по названию директории \9 класс\Курсовые\
А зачем вообще програмный сериал если есть аппаратный? И никаких русских букафф в директориях C:\Users\bukae\Desktop\ШКОЛА\9 класс\Курсовые\Arduino\MP3\MP3.ino
В Ардуине УНО Р3 к пинам 0-1 подключена "аппаратка" в виде УСБ-ТТЛ конвертора. И ниче там в порту не отключается, пока принудительно не запустишь Сериал. Работают как нормальные разряды порта. Чтобы не возник конфликт выхода конвертора и пина порта в режиме выхода - стоят развязочные резисторы R8-9 по 1Ком.
mySerial - не работает, если запущен с Serial на тех же пинах (в любой очередности). Serial-у пофиг. Так задумана схемотехника выводов 0-1. ПС. команды типа digitalWrite(1, n) - тоже не работают, на них основан софтсериал.
Я говорю про внутреннее убранство. Тоже самое происходит с SPI - ногами управляет блок SPI, а не регистр PORT.
да так же и с USART - какой там синхронный или асинхронный - уже и не помню Эти выводы можно юзать как вход и выход, если не проинициализировал их регистрами в начале или когда там...