DFPlayer Mini

nurgazin_d@mail.ru
Offline
Зарегистрирован: 18.12.2017
Доброго времени суток уважаемый ГУРУ АРДУИНО!!! пишет тебе не очень адекватный и не очень умный любитель Ардуино. Ниже приведен скетч, который выполняет следующие действия:
-пользователь нажимает на кнопку "СТАРТ" включатся реле 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
}

}

 

nurgazin_d@mail.ru
Offline
Зарегистрирован: 18.12.2017
Доброго времени суток уважаемый ГУРУ АРДУИНО!!! пишет тебе не очень адекватный и не очень умный любитель Ардуино. Ниже приведен скетч, который выполняет следующие действия:
-пользователь нажимает на кнопку "СТАРТ" включатся реле 8,10,12
-пользователь нажимает на кнопку "КВАРЦ" включатся реле 11

-пользователь нажимает на кнопку "СТОП" включается реле 9 и выключатся реле 8,10,12,11

Вопрос: как сделать, так чтобы пользователь нажимая на

-кнопу СТРАТ проиграл файл из папки "КОМАНДА\СТАРТ.мр3" (файл говорит сеанс начат) а пото песни по порядку из папки мр3/0001..0099



-кнопу КВАРЦ проиграл файл из папки "КОМАНДА\КВАРЦ.мр3" (файл говорит внимание сейчас будет включен кварц покиньте помещение)



- кнопу стоп проиграл файл из папки "КОМАНДА\стоп.мр3" (файл говорит сеанс окончен) 
OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

nurgazin_d@mail.ru пишет:
не очень умный любитель Ардуино

Чуток ума есть тут.
По существу.
1а. Читаете, как обработать нажатие кнопки (кнопок) вверху этой ветки есть темы на эту тему.
1б. Если "кнопки" экранные (nextion дисплей) - вверху страницы есть строка поиска, ищите по слову nextion.
2. Смотрите примеры, прилагаемые к библе плеера, на предмет, как проиграть определённый файл.
3. "Склеиваете" п. 1 и 2.

nurgazin_d@mail.ru
Offline
Зарегистрирован: 18.12.2017

Какой вы умный!!!

Наверное если бы все были, как вы умные то наверное и форумов подобных не надо было!!

Я помощи прошу а не упреков и своих самоутверждений за счет других  мене опытных пользователей!!!!!!!!

вы наверное сюда тоже не поумничать пришли в свое время!!!!!!!!!!!!

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

О, ещё один гонораст припёрся, расчехляем попкорн и наслаждаемся, господа офицеры!

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Этому ... надо в каждой теме писать как код вставлять правильно. Обучение - бессмысленно, я щитаю.

Если ты умер, ты об этом не знаешь, только родным очень тяжело. То же самое, когда ты тупой. 

nurgazin_d@mail.ru
Offline
Зарегистрирован: 18.12.2017

Вы вместо того, чтобы языками часать на право и на лево совет дельный дайте бананы!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DIYMan пишет:

О, ещё один гонораст припёрся

ТС всем бонусы раздаёт, а Вы, блинЮ не цените! Вон b707 наверное уже устал бонусы распаковывать. Хотя, по мне, чем эти бонусы, лучше известное "срецтво от DetSimen"

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

nurgazin_d@mail.ru пишет:

совет дельный дайте бананы!

Мы вроде как не девочки щоб тебе давать. И не эти ... ну, ... толерантные, щоб тебе банан вваливать.

Попроси на blondie.ru/forum , мож там дадут.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Если запятую поставить правильно:

nurgazin_d@mail.ru пишет:

совет дельный, дайте бананы!

То понятно, кто из зоопарка пишет.

Alexander
Offline
Зарегистрирован: 25.04.2010

От модератора.
Тема закрывается. Топикастер научитесь пожалуйста вставлять код и убирать форматирование из своего текста, для этого есть кнопка очисть форматирование в виде ластика сверху. Или просто скопируйте текст в блокнот, а потом сюда.