Commande des DELs en utilisant le Bluetooth module en interface avec le PIC 16F877A
By Bernice Zuiya
Introduction
A partir de ce projet, je vais montrer d'une manière très simple comment basculer une broche d'un micro-contrôleur sur ON ou OFF une LED connectée à n'importe quel PORT configuré comme port de sortie! Je suppose que vous savez déjà comment config des ports d'un contrôleur en mode d'entrée ou de sortie, sinon vérifier ici! Après cette étape une petite connaissance de la structure des données et l'utilisation des tableaux dans le langage de programmation est nécessaire pour mener à bien ce projet.
Le module Bluetooth présenté ci-dessous est un module sans fil qui communique avec un autre appareil sans aucune liaison physique; Tel qu'un câble en cuivre ou autre chose.
HC-05 Bluetooth Module
DEL
HC-05 Module Bluetooth a six broches:
-
KEY
-
VCC
-
GND
-
TX
-
RX
-
STATE
Dans ce projet, je vais simplement montrer comment interface avec le module en utilisant seulement quatre broches, VCC, GND, TX et RX.
VCC: Est connecté à une tension de 3,3 volts, mais parfois ce n'est pas grave si vous donnez une tension de 5 volts
GND: common ground
TX et RX: sont utilisés pour la communication série. Ce module Bluetooth est livré avec des vitesses de transmission par défaut telles que par exemple 9600, etc. et son nom par défaut HC-05.
Working:
Vous pouvez télécharger mon fichier apk ici pour tester! Si vous n'avez pas d'autre solution. Dans le cas où vous avez la compétence de la programmation d'application Android, puis il est également bon pour vous aller tête. L'Université MIT offre un logiciel libre en ligne de construction Android sans écrire une seule ligne de code, essayez aussi de jeter un oeil à partir de leur site Web pour mettre à jour plus. Pour travailler avec mon application, vous devez suivre l'étape ci-dessous:
Steps:
-
Installez l'apk dans votre smartphone Android
-
Ouvrir l'application
-
Allumer votre Bluetooth
-
Vous verrez probablement sur l'écran supérieur un bouton "sélectionnez votre appareil" le sélectionner votre HC-05
-
Si le périphérique est connecté, puis écrire quelque chose dans le champ texte "mettre un texte ici" puis cliquez sur écrire, cela va envoyer cette chaîne par le biais de Bluetooth, mais vous devez laisser le texte Bluetooth sélectionné dans la zone de liste déroulante.
Dans le cas où vous utilisez le code original et les connexions correctes des LEDs connectées sur PORTB, le résultat sera comme suit si vous respectez pour envoyer les chaînes suivantes pour diriger les DELs ON et OFF:
-
11OKLa première DEL connectée à la première broche de PORTB sera ON
-
22OK La première LED connectée à la première broche de PORTB sera désactivée
-
33OK La deuxième DEL connectée à la deuxième broche de PORTB sera ON
-
44OK La deuxième diode électroluminescente connectée à la deuxième broche de PORTB sera désactivée
-
55OK La troisième LED connectée à la troisième broche de PORTB sera ON
-
66OK La troisième LED connectée à la troisième broche de PORTB sera désactivée
Les caractères en gras sont les chaînes qui doivent être envoyées en série au microcontrôleur à partir du module Bluetooth, par défaut envoyer ces caractères pour voir le résultat, le schéma de circuit doit être respecté comme indiqué sur le côté droit, mais l'application qui Vous utilisez dans votre téléphone intelligent peut être différent, mais la chaîne à envoyer doit être l'élément si vous utilisez le code original ou .Hex
Circuit Diagram
Le schéma de circuit ci-dessous est le schéma de base nécessaire à l'interfaçage du module HC-05 avec le microcontrôleur 16F877A. Vous devez respecter les connexions pour obtenir le meilleur résultat.
-
Une résistance de valeur 4k7 ohm est connectée en série avec +5 volt et la broche de réinitialisation (1ère broche)
-
Q1 est l'oscillateur de cristal dans ce cas, il est oscillation de fréquence est de 20 MHz.
-
Alimentation: le circuit est connecté à une tension maximale égale à 5 volts
-
R1, R2, R4 sont des résistances de courant de limitation pour protéger les DEL.
-
C1 & C2 are of 22pF.
#define baud_rate 9615
unsigned int i;
char OSat[3];
char red[] = {'1','2','3','4','5','6','\0'};
void main(void) {
UART1_Init(baud_rate);
Delay_ms(100);
TRISB.B0 = 0;
TRISB.B1 = 0;
TRISB.B2 = 0;
PORTB = 0X00;
for(;;) {
if(UART1_Data_Ready()){
UART1_Read_Text(OSat,"OK",7);
if(OSat[0] == red[0]){
PORTB.B0 = 1; // first LED is ON
}
if(OSat[0] == red[1]){
PORTB.B0 = 0; // first LED is OFF
}
if(OSat[0] == red[2]){
PORTB.B1 = 1; // second LED is ON
}
if(OSat[0] == red[3]){
PORTB.B1 = 0; // second LED is OFF
}
if(OSat[0] == red[4]){
PORTB.B2 = 1; // third LED is ON
}
if(OSat[0] == red[5]){
PORTB.B2 = 0; // third LED is OFF
}
} // end if(UART1_Data_Ready())
}// end for(;;) loop
} // en main function
Code and Comment
Ce code a été écrit à l'aide du logiciel de compilateur mikroC, vous pouvez le copier et le compiler ou le modifier aussi bien, ceci est utilisé pour montrer comment basculer LED en utilisant le module Bluetooth.
Download the full project here