Paso 3:
Aquí está el código mpide la salida de interfaz y los datos de app de bluetooth-teléfono móvil:
#include
#include
softserial define
#define rxPin 15
#define txPin 16
#define ledPin 13
char psw1 = ' o ';
char psw2 = ' o ';
int stat = 0;
int cuenta = 0;
servo define
#define servoPin 9
#define openVal 90
#define closeVal 0
sensor de puerta define
#define sensorPin 1
#define umbral 1000
definir estado llevó
#define ledPin 4
Cosas de servo Servo DoorServo;
materia de estado de puerta
lockState booleano = true;
Boolean doorState = false;
Boolean doorSensor = false;
puerta de medición de medición materia int = 0;
cosas serial software
SoftwareSerial BT_Serial = SoftwareSerial (rxPin, txPin);
char buffchar = 'A';
void setup()
modos de pin serial {//set software
pinMode (rxPin, entrada);
pinMode (txPin, salida);
puerto serial del hardware de instalación
Serial1.Begin(9600);
Serial.Begin(9600);
establecer la tarifa de datos para el puerto SoftwareSerial
ajuste de servos
DoorServo.attach (servoPin);
instalación de indicador led de puerta
pinMode (ledPin, salida); }
getdata() vacío
{mientras que (Serial1.available() > 0)
{buffchar = Serial1.read();
retorno;
}
}
void loop()
{//wait para comando de apertura
leer del puerto serial
Serial.println(buffchar);
mientras que (buffchar! = 'O')
{
buffchar = Serial1.read();
}
buffchar = 'A';
Serial1.Print ("la puerta está desbloqueada! \n");
lockState = false;
abrir la puerta DoorServo.write(openVal);
esperar para que abrir puerta
mientras que (doorState == false)
{
medición = analogRead (sensorPin);
Si (medición > umbral)
{
doorState = true;
digitalWrite (ledPin, HIGH);
}
}
buffchar = 'A';
Delay (500);
Espere en la puerta cerrar
mientras que (doorState == true)
{Estado = '1';
medición = analogRead (sensorPin);
cuenta ++;
Si (cuenta == 210000)
{Serial.write(stat);
cuenta = 0;
}
Si (medición > umbral)
{
doorState = false;
Serial1.Print ("la puerta está bloqueada! \n");
STAT = ('0');
Serial.Write(STAT);
digitalWrite (ledPin, LOW);
}
}
Delay(500);
puerta cerradura
DoorServo.write(closeVal);
buffchar = 'A';
}