ca vai tudo.
//Ligações do Nextion ao Arduino
// TX - RX
// RX - TX
#define LuzTeto1 22
#define LuzTeto2 23
#define LuzTeto3 24
#define LuzTeto4 25
#define LuzCamaBia 26
#define LuzCamaJu 27
#define Disco 28
#define LuzMesa 29
#define CamaBiaMotorAbrir 30
#define CamaBiaMotorFechar 31
#define CamaJuMotorDirAbrir 32
#define CamaJuMotorDirFechar 33
#define MotorLuzMesaAbrir 34
#define MotorLuzMesaFechar 35
#define LuzRoupeiro500 36
#define CamaJuMotorEsqAbrir 38
#define CamaJuMotorEsqFechar 39
#define LuzRoupeiro1000 40
String inputString;
int bscheduler = 0;
void setup()
{
// init serial port for nextion communication.
Serial.begin(9600);
delay(250);
pinMode(LuzTeto1, OUTPUT);
pinMode(LuzTeto2, OUTPUT);
pinMode(LuzTeto3, OUTPUT);
pinMode(LuzTeto4, OUTPUT);
pinMode(LuzCamaBia, OUTPUT);
pinMode(LuzCamaJu, OUTPUT);
pinMode(Disco, OUTPUT);
pinMode(LuzMesa, OUTPUT);
pinMode(CamaBiaMotorAbrir, OUTPUT);
pinMode(CamaBiaMotorFechar, OUTPUT);
pinMode(CamaJuMotorDirAbrir, OUTPUT);
pinMode(CamaJuMotorDirFechar, OUTPUT);
pinMode(MotorLuzMesaAbrir, OUTPUT);
pinMode(MotorLuzMesaFechar, OUTPUT);
pinMode(LuzRoupeiro500, OUTPUT);
pinMode (CamaJuMotorEsqAbrir, OUTPUT);
pinMode (CamaJuMotorEsqFechar, OUTPUT);
pinMode(LuzRoupeiro1000, OUTPUT);
digitalWrite(LuzTeto1, HIGH);
digitalWrite(LuzTeto2, HIGH);
digitalWrite(LuzTeto3, HIGH);
digitalWrite(LuzTeto4, HIGH);
digitalWrite(LuzCamaBia, HIGH);
digitalWrite(LuzCamaJu, HIGH);
digitalWrite(Disco, HIGH);
digitalWrite(LuzMesa, HIGH);
digitalWrite(CamaBiaMotorAbrir, HIGH);
digitalWrite(CamaBiaMotorFechar, HIGH);
digitalWrite(CamaJuMotorDirAbrir, HIGH);
digitalWrite(CamaJuMotorDirFechar, HIGH);
digitalWrite(MotorLuzMesaAbrir, HIGH);
digitalWrite(MotorLuzMesaFechar, HIGH);
digitalWrite (CamaJuMotorEsqAbrir, HIGH);
digitalWrite (CamaJuMotorEsqFechar, HIGH);
digitalWrite(LuzRoupeiro500, LOW);
digitalWrite(LuzRoupeiro1000, LOW);
// init serial port for nextion communication.
Serial.begin(9600);
delay(250);
}
void loop()
{
// processing of incomming messages from nextion
Nextion_processing();
switch(bscheduler)
{
// transmit to nextion display
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
break;
}
bscheduler++;
if (bscheduler > 100) bscheduler = 0;
delay(10);
}
unsigned long StrToHex(String str, byte digits)
{
char ConvByte[10];
str.toCharArray(ConvByte, digits);
return (unsigned long) strtol(ConvByte, NULL, 16);
}
// ------ receiving and processing of incomming data from nextion
void Nextion_processing()
{
int i1;
String s1;
while (Serial.available()) {
// get the new byte:
char inChar = (char)Serial.read();
// add it to the inputString:
inputString += inChar;
if (inChar != '|') return;
}
int i2=inputString.indexOf("=");
if (i2 > 0) {
#ifdef _debug_snd
Serial.print("Nextion: ");
Serial.print(inputString);
Serial.println(" - ");
Serial.print(inputString.substring(i2-2,i2));
Serial.print("=");
Serial.println(inputString[i2+1]);
#endif
// Funcionamento dos botões e relés
// -----------Luzes teto--------------------
if (inputString.indexOf("bt3=0")> -1) {
digitalWrite(LuzTeto1, HIGH);
}
else if(inputString.indexOf("bt3=1")> -1) {
digitalWrite(LuzTeto1, LOW);
}
if (inputString.indexOf("bt4=0")> -1) {
digitalWrite(LuzTeto2, HIGH);
}
else if(inputString.indexOf("bt4=1")> -1) {
digitalWrite(LuzTeto2, LOW);
}
if (inputString.indexOf("bt5=0")> -1) {
digitalWrite(LuzTeto3, HIGH);
}
else if(inputString.indexOf("bt5=1")> -1) {
digitalWrite(LuzTeto3, LOW);
}
if (inputString.indexOf("bt6=0")> -1) {
digitalWrite(LuzTeto4, HIGH);
}
else if(inputString.indexOf("bt6=1")> -1) {
digitalWrite(LuzTeto4, LOW);
// -----------Luz cama Bia--------------------
}
if (inputString.indexOf("bt7=0")> -1) {
digitalWrite(LuzCamaBia, HIGH);
}
else if(inputString.indexOf("bt7=1")> -1) {
digitalWrite(LuzCamaBia, LOW);
// -----------Luz cama Ju--------------------
}
if (inputString.indexOf("bt8=0")> -1) {
digitalWrite(LuzCamaJu, HIGH);
}
else if(inputString.indexOf("bt8=1")> -1) {
digitalWrite(LuzCamaJu, LOW);
// -----------Disco--------------------
}
if (inputString.indexOf("bt9=0")> -1) {
digitalWrite(Disco, HIGH);
}
else if(inputString.indexOf("bt9=1")> -1) {
digitalWrite(Disco, LOW);
// -----------Luz Mesa--------------------
// }
// if (inputString.indexOf("bt9=0")> -1) {
// digitalWrite(LuzMesa, HIGH);
// }
// else if(inputString.indexOf("bt9=1")> -1) {
// digitalWrite(LuzMesa, LOW);
// }
// if (inputString.indexOf("bt9=0")> -1) {
// digitalWrite(MotorLuzMesaAbrir, HIGH);
// }
// else if(inputString.indexOf("bt9=1")> -1) {
// digitalWrite(MotorLuzMesaFechar, LOW);
////////////////////////CAMAS////////////////////////////////////
// -----------Cama Bia Motor--------------------
}
if (inputString.indexOf("bt0=1")> -1) {
digitalWrite(CamaBiaMotorAbrir, LOW);
digitalWrite(CamaBiaMotorFechar, HIGH);
}
else if(inputString.indexOf("bt10=1")> -1) {
digitalWrite(CamaBiaMotorAbrir, HIGH);
digitalWrite(CamaBiaMotorFechar, LOW);
// -----------Cama Ju Motor--------------------
}
if (inputString.indexOf("bt1=1")> -1) {
digitalWrite(CamaJuMotorDirFechar, HIGH);
digitalWrite(CamaJuMotorEsqAbrir, LOW);
digitalWrite(CamaJuMotorEsqFechar, HIGH);
delay(2000);
digitalWrite(CamaJuMotorDirAbrir, LOW);
}
else if(inputString.indexOf("bt11=1")> -1) {
digitalWrite(CamaJuMotorDirFechar, LOW);
digitalWrite(CamaJuMotorEsqAbrir, HIGH);
digitalWrite(CamaJuMotorEsqFechar, LOW);
digitalWrite(CamaJuMotorDirAbrir, HIGH);
////////////////////////////////STOP CAMAS/////////////////////////////
}
if (inputString.indexOf("bt2=1")> -1) {
digitalWrite(CamaJuMotorDirAbrir, HIGH);
digitalWrite(CamaJuMotorDirFechar, HIGH);
digitalWrite(CamaJuMotorEsqAbrir, HIGH);
digitalWrite(CamaJuMotorEsqFechar, HIGH);
digitalWrite(CamaBiaMotorAbrir, HIGH);
digitalWrite(CamaBiaMotorFechar, HIGH);
} }
while(Serial.available()) {Serial.read();}
inputString = "";
}