0% encontró este documento útil (0 votos)
4 vistas5 páginas

Control de Arduino con Bluetooth y Sensores

La programación también es interesante

Cargado por

Alex Soque
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas5 páginas

Control de Arduino con Bluetooth y Sensores

La programación también es interesante

Cargado por

Alex Soque
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

#include <SoftwareSerial.

h> // Incluimos la librería SoftwareSerial


SoftwareSerial BT(3,4); // Definimos los pines RX y TX del Arduino conectados al
Bluetooth
#include <Servo.h> //incluimos la libreria del servomotor (puerta y garage)
Servo motor;//entrada pin 7 garage

int val2;
//declaramos los pines a usar para la salida de los leds
int foco1 = 13;
int foco2 = 12;
int foco3 = 11;
int foco4 = 10;
int dato; //variable para el caracter enviado por bluetooth
int ledldr=2;
int sensorReading;//Pin análogo en espera para sensor de los postes
int sirena = 9;
int magnetico = 8;
int proximidad= 5;
int estado; //variable para la lectura del sensor proximidad
int estado2; //variable para la lectura del sensor magnetico
//pines y variables a usar para el servomotor(puerta)
Servo ServoAndroid; //nombre para el servo motor puerta
int ang = 125; //Ángulo inicial 90 grados
int vel=50; //velocidad del servo motor

int x=0;

void setup(){

//declaramos salidas a los focos


pinMode(foco1, OUTPUT);
pinMode(foco2, OUTPUT);
pinMode(foco3, OUTPUT);
pinMode(foco4, OUTPUT);
pinMode(ledldr, OUTPUT);
pinMode(proximidad,INPUT);

pinMode(sirena, OUTPUT); //salida del zumbador

[Link](6); //pin del servomotor puerta

[Link](9600); // Inicializamos el puerto serie BT que hemos creado


[Link](9600); //velocidad de comunicacion del puerto serial
[Link](7); //pin del servomotor garage

void loop(){
funcionproximidad();
funcionbluetooth();
funcionfotocelda();
funcionsirena();
}
void funcionproximidad(){
estado = digitalRead(proximidad); //leemos el dato que envia el sensor
[Link](36);

if (estado==LOW){ //si el sensor esta abierto

[Link](40);
delay(200);
[Link](45);
delay(200);
[Link](50);
delay(200);
[Link](55);
delay(200);
[Link](60);
delay(200);
[Link](65);
delay(200);
[Link](70);
delay(200);
[Link](75);
delay(200);
[Link](80);
delay(200);
[Link](85);
delay(200);
[Link](90);
delay(200);
[Link](95);
delay(200);
[Link](100);
delay(200);
[Link](105);
delay(200);
[Link](110);
delay(200);
[Link](115);
delay(8000);

[Link](110);
delay(200);
[Link](105);
delay(200);
[Link](100);
delay(200);
[Link](95);
delay(200);
[Link](90);
delay(200);
[Link](85);
delay(200);
[Link](80);
delay(200);
[Link](75);
delay(200);
[Link](70);
delay(200);
[Link](65);
delay(200);
[Link](60);
delay(200);
[Link](55);
delay(200);
[Link](50);
delay(200);
[Link](45);
delay(200);
[Link](40);
delay(200);
[Link](36);

}
}
void funcionsirena(){
estado = digitalRead(magnetico); //leemos el dato que envia el sensor magnetico
de la ventana

if (estado==HIGH){ //si el sensor esta abierto


for(x=0; x<8; x++){
digitalWrite(sirena,HIGH);

delay(150);

digitalWrite(sirena,LOW);
delay(20);

else //si el sensor esta cerrado


{

digitalWrite(sirena, LOW); //apagamos el pito

}
}

void funcionbluetooth(){
if([Link]() >0 ){ // "Si se detecta una entrada"
dato = [Link](); //leemos la entrada en la variable dato
}

if (dato == '1'){ //si se envia el numero 1 comienza la condicion


ang = ang + 92 ; //Se aumenta el angulo en 95 grados
//[Link](ang); //Se envia el valor al celular
}
else if (dato == '2'){ //si se envia el numero 2 comienza la condicion
ang = ang - 92; //Se disminuye en 95 grados

ang = constrain(ang,33,125); //Se limita los valores del angulo

[Link](ang); //Se ingresa el valor de "ang" en el Servo

////////////////////////////////////////////////////////////////////////

/////////////////////////////////////focos/////////////////////////////
//si se envia la letra asignada comienza la condicion HIGH para prender el led, y
LOW para apagar
if(dato == 'A'){
digitalWrite(foco1, HIGH);
}
else if(dato == 'a'){
digitalWrite(foco1, LOW);
}

if(dato == 'B'){
digitalWrite(foco2, HIGH);
}
else if(dato == 'b'){
digitalWrite(foco2, LOW);
}
if(dato == 'C'){
digitalWrite(foco3, HIGH);
}
else if(dato == 'c'){
digitalWrite(foco3, LOW);
}
if(dato == 'D'){
digitalWrite(foco4, HIGH);
}
else if(dato == 'd'){
digitalWrite(foco4, LOW);
}
if(dato == '5'){

digitalWrite(sirena,HIGH);

delay(150);

digitalWrite(sirena,LOW);
delay(20);
digitalWrite(sirena,HIGH);

delay(150);

digitalWrite(sirena,LOW);
delay(20);
digitalWrite(sirena,HIGH);

delay(150);

digitalWrite(sirena,LOW);
delay(20);
digitalWrite(sirena,HIGH);

delay(150);

digitalWrite(sirena,LOW);
delay(20);
digitalWrite(sirena,HIGH);

delay(150);

digitalWrite(sirena,LOW);
delay(20);
digitalWrite(sirena,HIGH);

delay(150);

digitalWrite(sirena,LOW);
delay(20);
}
else if(dato == '6'){
digitalWrite(sirena, LOW);
}
}

void funcionfotocelda(){
sensorReading=analogRead(0); //Instrucción para obtener dato analógico de la
fotocelda

////condicion cuando hay señal del sensor se prende el foco de los postes caso
contrario se apaga
if (sensorReading<100){
digitalWrite(ledldr,HIGH);}
else digitalWrite(ledldr,LOW);
[Link](sensorReading);

También podría gustarte