Go Down

Topic: Bluetooth module android communication (Read 365 times) previous topic - next topic

williamloz

Buen día a todos, tengo un inconveniente con un  proyecto, el cual consiste en una alarma accionada por un sensor magnético la cual manda una señal a un zumbador y a un relay hasta ahí todo va bien, quiero poderla dasactivar y volver a activar por medio de ordenes enviadas por bluetooth, para ello estoy usando un modulo HM-10 ya que mi teléfono móvil es un iPhone pero creo que algo en el sketch esta mal ya que no logro que el modulo me reciba la orden desde el móvil. Agradezco si alguien me puede colaborar a mejorar mi código el cual dejo adjunto, gracias.

#include <SoftwareSerial.h>

SoftwareSerial BT05(5,6);
char DATO = 0;
int sensorsPin = 3;
int button1Pin = 2;
int buffer = 10;
int relay = 13;

void setup(){
   BT05.begin(9600);
   pinMode(buffer, OUTPUT);
   pinMode (relay, OUTPUT);
   pinMode (sensorsPin, INPUT);
   pinMode (button1Pin, INPUT);
}

void loop (){
 if (BT05.available())
   DATO = BT05.read();
   if (DATO == 'O')
   digitalWrite(relay, !digitalRead(relay));
 
               
   int button1State, sensorsState;  // variables to hold the sensors states

 button1State = digitalRead(button1Pin);
 sensorsState = digitalRead(sensorsPin);

 if (((button1State == LOW) || (sensorsState == LOW))    // if we're activating Magnetic/move sensor
     && !                                                // AND we're NOT
     ((button1State == LOW) && (sensorsState == LOW)))   // activating Magnetic/move sensor
                                                         // then...
 {
   digitalWrite(relay, HIGH);   // Turn the Relay on (Normally Close to Normally Open)
   delay(2000);                  // Relay will be Normally Open position for 0,5 second
   digitalWrite(relay, LOW);    // Turn the Relay off (Normally Open to Normally Close)
   delay(200);                  // Relay will be Normally Close position for 0,2 second
 
   
 
   digitalWrite(buffer, HIGH);  // Turn the buffer on (Normally Open to Normally Close)
   delay(10000);                // Buffer will be Normally Close position for 10 seconds
 }
 else
 {
   digitalWrite(relay, LOW);    // Turn the Relay off (Normally Open to Normally Close)  
   digitalWrite(buffer, LOW);   // Turn the Buffer off (Normally Open to Normally Close)
 }
}
   

surbyte

Moderador
Por favor edita tu título usando uno en español y luego agrega las etiquetas de código para visualizar el mismo de acuerdo a las normas que te dejo a continuación.


Normas del foro

Go Up