DFPlayer Mini
- Войдите на сайт для отправки комментариев
Доброго времени суток уважаемый ГУРУ АРДУИНО!!! пишет тебе не очень адекватный и не очень умный любитель Ардуино. Ниже приведен скетч, который выполняет следующие действия:
-пользователь нажимает на кнопку "СТАРТ" включатся реле 8,10,12
-пользователь нажимает на кнопку "КВАРЦ" включатся реле 11
-пользователь нажимает на кнопку "СТОП" включается реле 9 и выключатся реле 8,10,12,11
Вопрос: как сделать, так чтобы пользователь нажимая на
-кнопу СТРАТ проиграл файл из папки "КОМАНДА\СТАРТ.мр3" (файл говорит сеанс начат) а пото песни по порядку из папки мр3/0001..0099
-кнопу КВАРЦ проиграл файл из папки "КОМАНДА\КВАРЦ.мр3" (файл говорит внимание сейчас будет включен кварц покиньте помещение)
- кнопу стоп проиграл файл из папки "КОМАНДА\стоп.мр3" (файл говорит сеанс окончен)
ЗАРАНЕЕ СПАСИБО! #define RELAY8 8 // диспригатор 220
#define RELAY9 9 // ВЫХОД и вытяжка 12 и 220
#define RELAY10 10 // Конвекционные вентиляторы 12
#define RELAY11 11 // КВАРЦ 220
#define RELAY12 12 // ИОНИЗАТОР 220
#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); //create a Nextion object named myNextion using the nextion serial port @ 9600bps
int interval = 25; // время работы таймера на реле 8, 10, 12, мин
int interval2 = 15; // время работы таймера на реле 11, мин
unsigned long timer =0; // переменная для работы таймера
unsigned long timer2 =0; // переменная для работы таймера
bool timerenabled = 0; // флаг включен таймер или нет
bool timerenabled2 = 0; // флаг включен таймер или нет
void setup()
{
Serial.begin(9600);
mp3_set_serial (Serial); //set Serial for DFPlayer-mini mp3 module
delay (100);
mp3_set_volume (3);
delay (100);
pinMode (RELAY8, OUTPUT); // пин ардуино, к которому подключено реле, делаем выходом
digitalWrite(RELAY8, HIGH ); // сначала реле в положении выкл, (сигнал инвертирован - чаще реле с такой логикой)
pinMode (RELAY9, OUTPUT); // пин ардуино, к которому подключено реле, делаем выходом
digitalWrite(RELAY9, HIGH ); // сначала реле в положении выкл, (сигнал инвертирован - чаще реле с такой логикой)
pinMode (RELAY10, OUTPUT); // пин ардуино, к которому подключено реле, делаем выходом
digitalWrite(RELAY10, HIGH ); // сначала реле в положении выкл, (сигнал инвертирован - чаще реле с такой логикой)
pinMode (RELAY11, OUTPUT); // пин ардуино, к которому подключено реле, делаем выходом
digitalWrite(RELAY11, HIGH ); // сначала реле в положении выкл, (сигнал инвертирован - чаще реле с такой логикой)
pinMode (RELAY12, OUTPUT); // пин ардуино, к которому подключено реле, делаем выходом
digitalWrite(RELAY12, HIGH ); // сначала реле в положении выкл, (сигнал инвертирован - чаще реле с такой логикой)
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, 1); //выключаем реле
digitalWrite(RELAY11, 1); //выключаем реле
digitalWrite(RELAY8, 0); // ну и включаем реле
digitalWrite(RELAY10, 0); // ну и включаем реле
digitalWrite(RELAY12, 0); // ну и включаем реле
mp3_play (); // запускаем трек
delay (100);
mp3_random_play (); // Даем команду проигрывать треки в случайной последовательности
}
if (timerenabled && millis()-timer> (unsigned long) interval*60000UL) //если таймер был включен и он кончился
{ timerenabled = 0 ; // выключаем таймер
digitalWrite(RELAY8, 1); //выключаем реле
digitalWrite(RELAY10, 1); //выключаем реле
digitalWrite(RELAY11, 1); //выключаем реле
digitalWrite(RELAY12, 1); //выключаем реле
digitalWrite(RELAY9, 0); //включаем реле
mp3_stop ();
delay (100);
}
//////////////////////////////////////////////////////////////END//////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////QVARC//////////////////////////////////////////////////////////////
if(message == "65 0 4 1 ffff ffff ffff")
{
timer = millis(); // как бы сбрасываем таймер на ноль
timerenabled = 1; // включаем таймер
digitalWrite(RELAY8, 1); //выключаем реле
digitalWrite(RELAY9, 1); //выключаем реле
digitalWrite(RELAY10, 1); //выключаем реле
digitalWrite(RELAY12, 1); //выключаем реле
digitalWrite(RELAY11, 0); // ну и включаем реле
}
if (timerenabled2 && millis()-timer2> (unsigned long) interval2*60000UL) //если таймер был включен и он кончился
{ timerenabled2 = 0 ; // выключаем таймер
digitalWrite(RELAY11, 1); //выключаем реле
digitalWrite(RELAY9, 0); //включаем реле
}
//////////////////////////////////////////////////////////////END//////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////STOP//////////////////////////////////////////////////////////////
if(message == "65 0 5 1 ffff ffff ffff")
{
timer = millis(); // как бы сбрасываем таймер на ноль
timerenabled = 0; // выключаем таймер
timer2 = millis(); // как бы сбрасываем таймер на ноль
timerenabled2 = 0; // выключаем таймер
digitalWrite(RELAY8, 1); // ну и выключаем реле
digitalWrite(RELAY9, 0); // ну и выключаем реле
digitalWrite(RELAY10, 1); // ну и выключаем реле
digitalWrite(RELAY11, 1); // ну и выключаем реле
digitalWrite(RELAY12, 1); // ну и выключаем реле
mp3_stop ();
delay (100);
}
//////////////////////////////////////////////////////////////END//////////////////////////////////////////////////////////////
//****************************РУЧНОЕ УПРАВЛЕНИЕ*****************************************
if(message == "1")
{
digitalWrite (RELAY8, LOW);
}
if(message == "2")
{
digitalWrite (RELAY8, HIGH);
}
if(message == "3")
{
digitalWrite (RELAY9, LOW);
}
if(message == "4")
{
digitalWrite (RELAY9, HIGH);
}
if(message == "5")
{
digitalWrite (RELAY10, LOW);
}
if(message == "6")
{
digitalWrite (RELAY10, HIGH);
}
if(message == "7")
{
digitalWrite (RELAY11, LOW);
}
if(message == "8")
{
digitalWrite (RELAY11, HIGH);
}
if(message == "9")
{
digitalWrite (RELAY12, LOW);
}
if(message == "10")
{
digitalWrite (RELAY12, HIGH);
}
if(message != ""){ // if a message is received...
Serial.println(message); //...print it out
}
}
-пользователь нажимает на кнопку "СТОП" включается реле 9 и выключатся реле 8,10,12,11
Вопрос: как сделать, так чтобы пользователь нажимая на
-кнопу СТРАТ проиграл файл из папки "КОМАНДА\СТАРТ.мр3" (файл говорит сеанс начат) а пото песни по порядку из папки мр3/0001..0099
-кнопу КВАРЦ проиграл файл из папки "КОМАНДА\КВАРЦ.мр3" (файл говорит внимание сейчас будет включен кварц покиньте помещение)
Чуток ума есть тут.
По существу.
1а. Читаете, как обработать нажатие кнопки (кнопок) вверху этой ветки есть темы на эту тему.
1б. Если "кнопки" экранные (nextion дисплей) - вверху страницы есть строка поиска, ищите по слову nextion.
2. Смотрите примеры, прилагаемые к библе плеера, на предмет, как проиграть определённый файл.
3. "Склеиваете" п. 1 и 2.
Какой вы умный!!!
Наверное если бы все были, как вы умные то наверное и форумов подобных не надо было!!
Я помощи прошу а не упреков и своих самоутверждений за счет других мене опытных пользователей!!!!!!!!
вы наверное сюда тоже не поумничать пришли в свое время!!!!!!!!!!!!
О, ещё один гонораст припёрся, расчехляем попкорн и наслаждаемся, господа офицеры!
Этому ... надо в каждой теме писать как код вставлять правильно. Обучение - бессмысленно, я щитаю.
Если ты умер, ты об этом не знаешь, только родным очень тяжело. То же самое, когда ты тупой.
Вы вместо того, чтобы языками часать на право и на лево совет дельный дайте бананы!
О, ещё один гонораст припёрся
ТС всем бонусы раздаёт, а Вы, блинЮ не цените! Вон b707 наверное уже устал бонусы распаковывать. Хотя, по мне, чем эти бонусы, лучше известное "срецтво от DetSimen"
совет дельный дайте бананы!
Мы вроде как не девочки щоб тебе давать. И не эти ... ну, ... толерантные, щоб тебе банан вваливать.
Попроси на blondie.ru/forum , мож там дадут.
Если запятую поставить правильно:
совет дельный, дайте бананы!
То понятно, кто из зоопарка пишет.
От модератора.
Тема закрывается. Топикастер научитесь пожалуйста вставлять код и убирать форматирование из своего текста, для этого есть кнопка очисть форматирование в виде ластика сверху. Или просто скопируйте текст в блокнот, а потом сюда.