Olá pessoal, estou com uma divida, q p/ min é difícil, mais talvez alguém possa me ajudar. É o Seguinte: Como posso melhorar minha programação de comandos, Ex do jeito que estou fazendo:
Na minha programação, eu mando pela serial, o Nº "1" e a lâmpada é Ligada, e se mando o Nº "0" a lâmpada é Desligada.
Mudança q eu gostaria de fazer:
Gostaria de c/ apenas um comando, eu conseguisse "ligar/Desl.." a lâmpada.
Resumindo: Se eu mandar o comando na serial '1' a lâmpada ligasse, e se eu mandar o comando '1' outra vez, a lâmpada fosse Desligada. Desde já, eu agradeço pela atenção...
Abaixo é um exemplo desta programação...
//__________________________________________________________________________________
int ledPin=9;
char numero;
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
if(Serial.available()>=0){
numero=Serial.read();
}
if(numero =='1'){
digitalWrite(ledPin,HIGH);
Serial.println("Lampada Ligada");
delay(500);
}
else if(numero=='0'){
digitalWrite(ledPin, LOW);
Serial.println("Lampada Desl..");
delay(500);
}
}
//marcusclaudino@hotmail.com
Tags:
int ledPin=9;
char numero;
boolean valor = false;
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
if(Serial.available()>=0){
numero=Serial.read();
}
if(numero =='1'){
valor = !valor;
digitalWrite(ledPin, valor);
}
}
Teste isso, se não der me avise
Nicholas, muito obrigado pela atenção, vou testar aqui, e logo logo t retorno...
Nicholas, vlw mesmo funcionou perfeitamente, do jeito q eu estava tentando, mais uma vez obrigado pela atenção, até mais...
int status = 0;
int ledPin = 9;
char numero;
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
if(Serial.available()>=0){
numero=Serial.read();
}
if(numero =='1'){
status++;
delay(500);
}
else{
}
if(status ==1){
digitalWrite(ledPin, HIGH);
delay(500);
}
else{
}
if(numero ==2){
status=0;
digitalWrite(ledPin, HIGH);
delay(500);
}
else{
}
}
Esse está corrigido:
int status = 0;
int ledPin = 9;
char numero;
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop()
{
if(Serial.available()>=0){
numero=Serial.read();
}
if(numero =='1'){
status++;
delay(500);
}
else{
}
if(status ==1){
digitalWrite(ledPin, HIGH);
Serial.println("Lampada Ligada");
delay(500);
}
else{
}
if(numero ==2){
status=0;
digitalWrite(ledPin, LOW);
Serial.println("Lampada Desligada");
delay(500);
}
else{
}
}
Testa aí e veja se funcionou!!!
Deu certo Murilo, Vlw obrigado...
Ok Marcos, é um prazer poder ajudá-lo
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2023 Criado por Marcelo Rodrigues.
Ativado por