Pessoal, boa tarde ,
Sou iniciante no Arduino e estou tentando aprender da forma mais básica como as coisas funcionam. Queria acionar um LED RGB, tomando-se como base a cor digitada pelo usuário. Poderia utilizar um switch… case, mas estou usando a opção “if”. As coisas não estão saindo como desejado. Será que alguém poderia avaliar o código? Pra muitos é coisa básica, mas pra mim ainda é um pouco complexo, visto que estou aprendendo. Agradeço pela atenção e ajuda.
Segue o código:
int azul = 9;
int verde = 10;
int vermelho = 12;
char cor;
void setup() {
pinMode (azul, OUTPUT);
pinMode (verde, OUTPUT);
pinMode (vermelho, OUTPUT);
Serial.begin (9600);
}
void Vermelho()
{
digitalWrite (vermelho, HIGH);
delay (1000);
digitalWrite (vermelho, LOW);
delay (1000);
}
void Verde()
{
digitalWrite (verde, HIGH);
delay (1000);
digitalWrite (verde, LOW);
delay (1000);
}
void Azul()
{
digitalWrite (azul, HIGH);
delay (1000);
digitalWrite (azul, LOW);
delay (1000);
}
void Branco()
{
digitalWrite (azul, HIGH);
digitalWrite (vermelho, HIGH);
digitalWrite (verde, HIGH);
delay (1000);
digitalWrite (azul, LOW);
digitalWrite (vermelho, LOW);
digitalWrite (verde, LOW);
delay (1000);
}
void Magenta()
{
digitalWrite (azul, HIGH);
digitalWrite (vermelho, HIGH);
delay (1000);
digitalWrite (azul, LOW);
digitalWrite (vermelho, LOW);
delay (1000);
}
void Amarelo()
{
digitalWrite (vermelho, HIGH);
digitalWrite (verde, HIGH);
delay (1000);
digitalWrite (vermelho, LOW);
digitalWrite (verde, LOW);
delay (1000);
}
void Ciano()
{
digitalWrite (azul, HIGH);
digitalWrite (verde, HIGH);
delay (1000);
digitalWrite (azul, LOW);
digitalWrite (verde, LOW);
delay (1000);
}
void Desligado ()
{
digitalWrite ( vermelho, LOW);
digitalWrite ( verde, LOW);
digitalWrite ( azul, LOW);
}
void loop ()
{
if (Serial.available())
{
Serial.print (“Digite a cor desejada:”);
cor = Serial.read();
Serial.println (cor);
if(cor = “vermelho”)
{
Vermelho();
return;
}
else if (cor = “verde”)
{
Verde();
return;
}
else if (cor = “azul”)
{
Azul();
}
else if (cor = “branco”)
{
Branco();
}
else if (cor = “magenta”){
Magenta();
}
else if (cor = “amarelo”){
Amarelo();
}
else if (cor = “ciano”)
{
Ciano();
}
else {
Desligado();
}
}
}