Здравствуйте друзья! Задача: с дисплея Nextion отправляется команда на ардуина (команда на включения релюшек и мр3 модуля), нужно выбрать мр3 модуль. Он должен при получении команды от ардуино начать воспроизводить песни в случайном порядке. Пробовал на MP3 Shield от компании ELECHOUSE версии 1.3 и на dfplayer но не смог разобраться как проигрывать песни в случайном порядке(( посоветуйте мр3 модуль для этой задачи или подскажите как проиграть рандомно песни на них. ВСЕМ спасибо! просьба не писать купи мр3 плеер или на даташите посмотри, не смог я там понять че и как поэтому и обращаюсь к вам.
Danik. если в плеере нет отдельной команды "проигрывать треки в случайном порядке" - тогда можно переложить выбор случайного трека на ардуино. Я посмотрел описание - в плеере можно заказать играть конкретный МП3 файл по номеру. Просто задавайте случайный номер и все. PS вы уже второй раз пишете, что советы "почитай примеры и даташит" вам не подходят. Сорри, но если вы не умеете читать описания - ардуина не для вас. Не умеете - учитесь. Подтяните английский, если проблема в этом. Переводить и рассказывать даташиты вам на ночь никто не будет.
однако этим и отличается дитё от ардуиньщика. Одному сказки на ночь рассказывают. Другому даташиты))). Вопрос а что будет если младенцу вместо сказок даташиты читать? ( Наверное программистом вырастит)
Доля правды в этом есть не спорю, отступать от своих желаний не буду (хочу научится программировать микроконтроллеры), учить английский надо - согласен. Задачку решить нужно срочно(, программирую ардуино без малого месяца 2) а так пушу на паскале, так как с++ не изучал синтаксис языка мне не привычен от того и долго разбираюсь с ардуино вот че я пишу: Код (C++): #define RELAY8 8 // диспригатор 220v #define RELAY9 9 // ВЫХОД и вытяжка 12v и 220v #define RELAY10 10 // Конвекционные вентиляторы 12v #define RELAY11 11 // КВАРЦ 220v #define RELAY12 12 // ИОНИЗАТОР 220v #include <SoftwareSerial.h> #include <Nextion.h> #include <DFPlayer_Mini_Mp3.h> SoftwareSerial nextion(2, 3);// Nextion TX to pin 2 and RX to pin 3 of Arduino Nextion myNextion(nextion, 9600); int interval = 25; // время работы таймера реле 8, 10, 12, мин int interval2 = 15; // время работы таймера реле 11, мин unsigned long timer =0; // переменная для работы таймера unsigned long timer2 =0; // переменная для работы таймера bool timerenabled = 0; // флаг включен таймер или нет bool timerenabled2 = 0; // флаг включен таймер или нет int min_timer = 0; // минуты таймера int min_timer2 = 0; // минуты таймера int sec_timer = 0; // секунды таймера int sec_timer2 = 0; // секунды таймера int prevsec_timer = 0; // последнее значение секунд int prevsec_timer2 = 0; // последнее значение секунд void setup() { Serial.begin(9600); mp3_set_serial (Serial); //set Serial for DFPlayer-mini mp3 module delay (100); mp3_set_volume (25); delay (100); pinMode (RELAY8, OUTPUT); digitalWrite(RELAY8, LOW ); pinMode (RELAY9, OUTPUT); digitalWrite(RELAY9, LOW ); pinMode (RELAY10, OUTPUT); digitalWrite(RELAY10, LOW ); pinMode (RELAY11, OUTPUT); digitalWrite(RELAY11, LOW ); pinMode (RELAY12, OUTPUT); digitalWrite(RELAY12, LOW ); myNextion.init(); } void loop() { /////////////////////////////////////////////////////////////КНОПКА START////////////////////////////////////////////////////////////// String message = myNextion.listen(); //check for message if(message == "65 0 3 1 ffff ffff ffff") { timer = millis(); // как бы сбрасываем таймер на ноль timerenabled = 1; // включаем таймер digitalWrite(RELAY9, 0); //выключаем реле digitalWrite(RELAY11, 0); //выключаем реле digitalWrite(RELAY8, 1); // ну и включаем реле digitalWrite(RELAY10, 1); // ну и включаем реле digitalWrite(RELAY12, 1); // ну и включаем реле mp3_play (); // запускаем трек delay (100); mp3_random_play (); // Даем команду проигрывать треки в случайной последовательности } if (timerenabled && millis()-timer> (unsigned long) interval*60000UL) //если таймер был включен и он кончился { timerenabled = 0 ; // выключаем таймер digitalWrite(RELAY8, 0); //выключаем реле digitalWrite(RELAY10, 0); //выключаем реле digitalWrite(RELAY11, 0); //выключаем реле digitalWrite(RELAY12, 0); //выключаем реле digitalWrite(RELAY9, 1); //включаем реле mp3_stop (); delay (100); } с дисплея Nextion отправляется команда на ардуина (команда на включения релюшек и мр3 модуля) но этот модуль жук такой) не проигрывает рандомно песни, где косяк подскажите) пожалуйста. ПРОШУ не надо воды лить) подскажите на конкретно. СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!
Выше приведен пример с использованием DFPlayer делал по примеру, если библиотека не та можете подсказать почему и какая будет та.
синим проводам (RX, TX) в разрыв резисторы нужны последовательно, по килоому, иначе хрипеть/свистеть будет, проверено