Boa tarde pessoal, estou usando um modulo bluetooth para acionar dois ledes o codigo está funcionando
normal com 2 botoes do tipo retentivo, porem gostaria de deixar um botão para pulsar dar um pulso de 3 segundos
mas não ta dando certo, estou usando a seginte logica
//BOTÃO DE RETENÇÃO
if( val == '1' ) {
digitalWrite(Lamp1,HIGH); }
else if( val == 'A' ) {
digitalWrite(Lamp1,LOW);
}
//BOTÃO PULSADOR
if( val == '2' ) {
digitalWrite(Lamp2,HIGH);
delay(3000);
digitalWrite(Lamp2,LOW);}
else if( val == 'B' ) {
digitalWrite(Lamp2,LOW);
}
Estou usando esse app
https://play.google.com/store/apps/details?id=dev.merahkemarun.ardu...
Tags:
poderia explicar melhor o que você quer fazer?
eu to fazendo um aqui pra você, me explica uma coisa, não entendi aquele "A" e "B" que tem ali.
ok ja te passo um codigo aki e vc da uma olhada.
quando você aperta um dos botões, o resultado é um numero ou uma letra? não entendi esta parte.
Nesse código que você colocou não há definição de botão ou leitura de pinos, você deve usar a função digitalRead().
Os botões com retenção, são obrigatórios ou você pode trocar?
É um botão virtual ou físico?
ve se funciona. eu levei em conta que quando ao pressionar o botao do app o resultado seja "1" ou "2" . não sei se vai funcionar
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); //Pin10 RX , Pin 11 TX connected to--> Bluetooth TX,RX
unsigned long comparativo1 = 0;
unsigned long comparativo2 = 0;
unsigned long intervalo = 3L * 1000L;
#define Lamp1 2
#define Lamp2 3
char val;
void setup() {
pinMode(Lamp1,OUTPUT);
pinMode(Lamp2,OUTPUT);
mySerial.begin(9600);
Serial.begin(9600);
}
void loop() {
unsigned long tempo = millis();
//cek data serial from bluetooth android App
if( mySerial.available() >0 ) {
val = mySerial.read();
Serial.println(val);
}
if( val == '1' ) {
comparativo1=tempo;
digitalWrite(Lamp1,HIGH);}
if( val == '2' ) {
comparativo2=tempo;
digitalWrite(Lamp2,HIGH);}
if (tempo - comparativo1 > intervalo){
digitalWrite(Lamp1,LOW);
}
if (tempo - comparativo2 > intervalo){
digitalWrite(Lamp2,LOW);}
}
/*
if( val == '1' ) {
digitalWrite(Lamp1,HIGH); }
else if( val == 'A' ) {
digitalWrite(Lamp1,LOW);
}
if( val == '2' ) {
digitalWrite(Lamp2,HIGH);}
else if( val == 'B' ) {
digitalWrite(Lamp2,LOW);
}
*/
Segue minha colaboração:
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(10, 11);
#define Lamp1 2
#define Lamp2 3
char comando;
void setup() {
pinMode(Lamp1, OUTPUT);
pinMode(Lamp2, OUTPUT);
bluetooth.begin(9600);
Serial.begin(9600);
}
void loop() {
if ( bluetooth.available()) {
comando = bluetooth.read();
Serial.println(comando);
if (comando == '1' ) {
digitalWrite(Lamp1, !digitalRead(Lamp1));
}
if (comando == '2' ) {
digitalWrite(Lamp2, HIGH);
delay(3000);
digitalWrite(Lamp2, LOW);
}
}
}
// Deixei tbm no pastebin
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por