O codigo funciona direito o problema e que tenho q falar 2 vezes , tipo verde

pra acender , tbem pro azul e amarelo , como tiro esse bug.

se estou certo esta armazanando coisa q nao deve.

me ajudem

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int pinos[] = {7,8,13} ;
const char *cores[3]= {"AZUL","AMARELO","VERDE,"};//cores[0] = "AZUL"; cores[1] = "AMARELO"; cores[2] = "VERDE";
char estado = 'Ligado';
int tamArrays = sizeof(pinos)/2-1;
byte com = 0;
boolean inverte = 1;
boolean ligaDeslig = 0;

void setup() {
Serial.begin(9600);
lcd.begin(16,2);
for (int i = 0; i<=tamArrays; i++) {
pinMode(pinos[i],OUTPUT);
}

Serial.write(0xAA);
Serial.write(0x37); // modo compacto
delay(1000);
Serial.write(0xAA);
Serial.write(0x21); // importando grupo 1
analogWrite(6,100);
}

void loop() {
while (Serial.available()) {
com = Serial.read();

switch (com){
case 0x11 : // azul
acao(0);
break;

case 0x12 : //amarelo
acao(1);
break;

case 0x13 : //verde
acao(2);
break;

case 0x14 : // liga
ligDes(1);
break;

case 0x15 : //desliga
ligDes(2);
break;


}//if

}//loop
lcd.cursor();
}
int acao(int i) {
inverte = digitalRead(7);

if(inverte == 0) {
ligaDeslig=!ligaDeslig;
digitalWrite(pinos[i],ligaDeslig);

}

else
ligaDeslig=!ligaDeslig;
digitalWrite(pinos[i],ligaDeslig);
}

int ligDes(int i) {

if (i == 1) {
lcd.clear();
lcd.setCursor(0,0);
lcd.write("Todos Ligados");

for(int f = 0; f <=tamArrays; f++) {
digitalWrite(pinos[f],HIGH);

}
}

else if(i == 2) {
lcd.clear();
lcd.setCursor(0,0);
lcd.write("Todos Desligados");

for(int g = 0; g <=tamArrays; g++) {
digitalWrite(pinos[g],LOW);

}
}

}

char ligDes(char i) {
char *cores[] = {"AZUL LIGADO","AMARELO LIGADO","VERDE LIGADO"};
lcd.clear();
lcd.setCursor(0,0);
lcd.write(cores[i]);
}

desconsiderem a parte do lcd.

Exibições: 382

As respostas para este tópico estão encerradas.

Respostas a este tópico

tenta mudar pra UpMode, acrescentando esse código no void setup.

Serial.write(0xAA);
Serial.write(0x53); 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço