Ви не увійшли.
Сторінки 1
Здравствуйте гуру ардуино!
Пишет вам поклонник и новичок ардуино!
Ниже приведен Скетч (доработанный под свои нужды) СПАСИБО MaksVV из другого форума, который необходимо доработать.
Суть его работы такая:
-пользователь нажимает на дисплее NEXTION кнопку СТАРТ, включается музыка и пины 8,10,12 (время их работы 25 мин)
-пользователь нажимает на дисплее NEXTION кнопку КВАРЦ, проигрывается сообщение "включен кварц" и пины 11 (время их работы 15 мин)
-пользователь нажимает на дисплее NEXTION кнопку СТОП, выключаются все пины и включается только пин 9 (время не ограничено).
ВОПРОС:
- как передать в NEXTION время работы, чтобы было видно период работы (25 и 15 мин)?
- как сделать, так чтобы при нажатии на кнопку СТАРТ проиграло сообщение "СЕАНС НАЧАТ" а затем начала играть музыка рандомом непрерывно (трек за треком)
- как сделать, так чтобы при нажатии на кнопку КВАРЦ проиграло сообщение "ВКЛЮЧЕН КВАРЦ".
- как сделать, так чтобы при нажатии на кнопку СТОП проиграло сообщение "СЕАНС ОКОНЧЕН".
- и последнее, сейчас работает так
/////////////////////////////////////////////////////////////КНОПКА 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 (); // Даем команду проигрывать треки в случайной последовательности
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ПОЧЕМУ ПРИ КАЖДОМ НАЖАТИИ ИГРАТЬ НАЧИНАЕТ ВСЕ ТАКЖЕ С ПЕРВОГО ТРЕКА, ХОТЯ СТОИТ РАНДОМ??????
СКЕТЧ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#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);
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, 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
}
}
Остання редакція Maxim (2018-01-04 11:56:07)
Неактивний
1 - " Ниже приведен Скетч (доработанный под свои нужды) СПАСИБО MaksVV из другого форума, который необходимо доработать. "
Почему MaksVV из другого форума не захотел помочь еще и доработать ?
2 - научитесь вставлять код в сообщение !!!
Неактивний
СОВЕТ ХОРОШИЙ, ТАМ Я БЫЛ МНЕ НЕ ХВАТИЛО опыта или мозгов))) ПОНЯТЬ ОТ ТУДА ИНФУ((((((((
Культуры общения тебе там тоже не хватило.
Сторінки 1