Étape 3 :
Voici le code mpide pour la sortie de données et interface de app bluetooth-téléphone portable :
#include
#include
softserial définit
#define rxPin 15
#define txPin 16
#define ledPin 13
char psw1 = ' o ' ;
char psw2 = ' o ' ;
int stat = 0 ;
int count = 0 ;
servo définit
#define servoPin 9
#define openVal 90
#define closeVal 0
capteur de porte définit
#define sensorPin 1
#define seuil 1000
define statut led
#define ledPin 4
Trucs de servo Servo DoorServo ;
trucs d’État porte
lockState boolean = true ;
doorState booléen = false ;
doorSensor booléen = false ;
porte mesure trucs int = 0 ;
trucs de série logiciel
SoftwareSerial BT_Serial = SoftwareSerial (rxPin, txPin) ;
char buffchar = « A » ;
void setup()
{//set, modes logiciel broche série
pinMode (rxPin, entrée) ;
pinMode (txPin, sortie) ;
port série de matériel d’installation
Serial1.Begin(9600) ;
Serial.Begin(9600) ;
définir le débit de données pour le port de SoftwareSerial
installation de servo
DoorServo.attach (servoPin) ;
porte indicateur a conduit le programme d’installation
pinMode (ledPin, sortie) ; }
void GetData
{Si (Serial1.available() > 0)
{buffchar = Serial1.read() ;
retour ;
}
}
void loop()
{//wait pour commande d’ouverture
lecture du port série
Serial.println(buffchar) ;
tandis que (buffchar! = « O »)
{
buffchar = Serial1.read() ;
}
buffchar = « A » ;
Serial1.Print ("la porte est déverrouillée! \n") ;
lockState = false ;
déverrouiller la porte DoorServo.write(openVal) ;
Attendez que la porte s’ouvre
même si (doorState == false)
{
mesure = analogRead (sensorPin) ;
Si (mesure > seuil)
{
doorState = true ;
digitalWrite (ledPin, HIGH) ;
}
}
buffchar = « A » ;
retard (500) ;
Attendez que la porte se ferme
même si (doorState == true)
{stat = « 1 » ;
mesure = analogRead (sensorPin) ;
Count ++ ;
Si (comte == 210000)
{Serial.write(stat) ;
Count = 0 ;
}
Si (mesure > seuil)
{
doorState = false ;
Serial1.Print (« porte est verrouillée! \n ") ;
= stat ('0') ;
Serial.Write(STAT) ;
digitalWrite (ledPin, basse) ;
}
}
Delay(500) ;
porte d’écluse
DoorServo.write(closeVal) ;
buffchar = « A » ;
}