Bom dia pessoal. Estou com um problema no meu código do TCC. Na parte em azul... que se refere ao bluetooth. Nas demais (parte da relé) está tudo ok. O que acontece é o seguinte. Eu preciso que ao disparar o pulsador, o comando enviado para o relé seja enviado ao mesmo tempo para o bluetooth. Desenvolvi um aplicativo que está esperando esse sinal para disparar uma foto.
Essa parte que eu fiz do bluetooth está enviando o comando "a" do Aplicativo para o Arduino. Porém eu preciso que faça o comando inverso. Ao apertar na campainha o comando vá para relé e mande esse "a" para o App ler. É possível fazer isso? O que eu preciso mudar no código?
PS: Tem esboço do projeto logo abaixo para melhor entendimento. Agradeço desde já.
Código:
#include <SoftwareSerial.h>
int porta_rele = 7; //Porta ligada ao pino IN1 do modulo
int porta_botao = 2; //Porta ligada ao botao
int estadorele = 1; //Armazena o estado do rele - 0 (LOW) ou 1 (HIGH)
int leitura = 0; //Armazena o valor lido do botão
//Bluetooth
int readBluetooth; //Variável que irá receber o valor enviado do bluetooth para o celular
int lamp = 7; //Porta usada para saída ao relé e ao bluetooth simultaneamente
void setup(){
pinMode(porta_rele, OUTPUT); //Define pino para o rele como saida
pinMode(porta_botao, INPUT); //Define pino do botão como entrada
digitalWrite(porta_rele, HIGH); //Estado inicial do rele - desligado
//Bluetooth
Serial.begin(9600); //Inicia comunicação serial
pinMode(lamp, OUTPUT); //Definindo o pino 7 como saída
}
void loop(){
leitura = digitalRead(porta_botao); //Verifica o acionamento do botao
if (leitura != 0){
while(digitalRead(porta_botao) != 0){
delay(100);
}
estadorele = !estadorele; //Inverte o estado da porta
digitalWrite(porta_rele, estadorele); //Comando para o rele
}
//Bluetooth
if(Serial.available()){
readBluetooth = Serial.read();
if(readBluetooth == 'a'){
digitalWrite(lamp,!digitalRead(lamp)); //Escreve o que leu na porta negado
}
}
}
Esboço do projeto
Tags:
Boa dia.
Qual aplicativo voce esta usando.
porque se for pelo app inventor, não consegui fazer ele receber letra apenas numeros.
porque da forma que voce escreveu ele esta enviando o estado da lampada ao app.
porem ele envia o estado em binario, 0 ou1 por isso seu app nao consegui ler
Na verdade o problema nem é o App agora... no caso o meu código ali tá errado mesmo... ali eu estou enviando um comando do App para o Arduino... e eu preciso que seja ao contrário, no caso ao apertar a campainha o Arduino mande esse comando para o App.
Muito bom cara! Consegui resolver o meu problema de chamar a câmera. Valeu pelas informações.
Me tira uma dúvida cara... por exemplo no meu caso eu chamo a câmera quando aperto o botão da minha campainha aqui, porém depois que eu capturo a foto eu não consegui fazer voltar a tela inicial do aplicativo... ele tira a foto e fica na câmera. Tu teria uma ideia de como fazer isso? Vi ali que tu colocou um "close application", porém eu não queria fechar todo aplicativo, queria apenas voltar para tela inicial. Valeu!
Oi Romulo, para enviar algo para o Bluetooth voce deve user Seria.print().
Abraços
Isso Alexandre! Fiz algumas modificações aqui após pesquisar e consegui fazer funcionar! Valeu!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por