Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

UART avec HC-05
HVDifusion
Débutant
Débutant
Messages : 43
Enregistré en : décembre 2015

#1 Message par HVDifusion » dim. 27 déc. 2015 19:55

Bonjour,

J'ai récemment corriger un bug d'un des mes programme.

J'aimerais maintenant m’initier a l'UART,j'ai trouver quelque doc sur le net mais je n'y comprend rien.

Voici la datasheet de mon pic : http://ww1.microchip.com/downloads/en/DeviceDoc/40044E.pdf

J'ai écrit ce programme en lisant les doc pour tenter de m'en sortir mais rien n'y fait celas ne fonctionne pas.Je me connecte au HC-05 avec mon téléphone Android par une application dédier au Bluetooth.

Code : Tout sélectionner

#define LED PORTB.B3

unsigned char recup; // variable pour récuperer les donnée recue

void main()
{
 PCON = 0b00000100;  // init osc interne 4MHz
 PORTB = 0; // init a 0V
 TRISB = 0b00000110; // TX,RX en entree
 recup = 0;
 
 UART1_Init
(9600); // init UART a 9600 Bauds
 
 while
(1)
 {
  if (UART1_Data_Ready()) // si donnée recue,alors
  {
   recup = UART1_Read(); // récupération des donnée reçue
   
   if 
(recup == '1')
   {
    LED = 1;
   }

   if (recup == '0')
   {
    LED = 0;
   }
  }
 }
}
 


J'ai l'impression qu'il faut configurer des registres,mais je ne sais pas trop quoi configurer :s.

Je recherche donc des conseils,avez vous des sources en français pour apprendre l'UART?

HC-05 :
Image

Cordialement.

UART avec HC-05
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » dim. 27 déc. 2015 20:53

bonsoir,

lequel des 3 pics ?

avec un HC05, cela sous entend que tu veux dialoguer en BlueTooth mode Serial protocole ?
Il est vrai que le premier pas est de maitriser la reception des caracteres .. suite à un envoi de commande Bluetooth.
Il y a deja pas mal d'exemple sur ce site ...

Quelques essais (en Bluetooth) réalisés ICI
Il faut initialiser le HC05 avant tout ...
etre à la meme vitesse que celle definie par defaut (reglage usine constructeur )
... il doit repondre à des commandes "AT"

lien sur ta doc HC05 ?

Pour la prise en main d'un module bluetooth , je te conseille d'abord de faire des essais avec
un terminal PC RS232 et le hardware d'interface signaux MAX232 ou ...
une fois les commandes maitrisées ... tu l'adapte à ton PIC ..
Attention aux niveaux TTL 5V ou 3,3V ?
Aide toi, le ciel ou FantasPic t'aidera

UART avec HC-05
mazertoc
Passionné
Passionné
Messages : 201
Enregistré en : juillet 2015
Localisation : Auvernha

#3 Message par mazertoc » dim. 27 déc. 2015 21:24

HVDifusion a écrit :Je recherche donc des conseils,avez vous des sources en français pour apprendre l'UART?

En bas de la page d'accueil tu trouveras un lien vers BIGONOFF.

Sites et cours -> langage C -> listes de sites

UART avec HC-05
HVDifusion
Débutant
Débutant
Messages : 43
Enregistré en : décembre 2015

#4 Message par HVDifusion » dim. 27 déc. 2015 22:00

Salut,

paulfjujo a écrit :Source du message lequel des 3 pics ?


Le 16f628A.

paulfjujo a écrit :Source du message avec un HC05, cela sous entend que tu veux dialoguer en Bluetooth mode Serial protocole ?



Exacte,juste recevoir des infos avec le PIC.Exemple pour incrémenter une variable.

En gros je suis en train de faire un système d'alarme.Celui ci est commander par un clavier codée qui permet son activation et sa désactivation.La but est de le remplacer par le module Bluetooth pour envoyer l'activation (1) et la désactivation (0).Bien sur je changerais le mot de passe Bluetooth du HC-05 au besoin.Celas permet d'avoir moins d'électronique.

L'idée du clavier est bien mais je n'ai pas écrit le programme qui le gére avec son PIC (16f84A) et je ne suis pas capable de créer a nouveaux se programme de moi même car mes connaissance son limitée.Ce clavier est branché en multiplex au 16F84A qui permet de taper un code et de le validé et ensuite d'activé une sortie du PIC,on peut également change de code.

Le problème est que vu que je ne peux pas re-créer le programme j'ai donc 2 PIC dans mon système au lieu de 1 qui gère tous.

paulfjujo a écrit :Source du message lien sur ta doc HC05 ?


Le voici,pardon c'est un oubli : http://www.robotshop.com/media/files/pdf/rb-ite-12-bluetooth_hc05.pdf

paulfjujo a écrit :Source du message Il est vrai que le premier pas est de maîtriser la réception des caractères .. suite à un envoi de commande Bluetooth.


Effectivement,le code que j'ai fournis c'est un pote qui me la expliqué.Il avais commencer a m'apprendre l'UART mais me disais qu'avec cette base la je pouvais déjà envoyer et recevoir.

mazertoc a écrit :Source du message En bas de la page d'accueil tu trouveras un lien vers BIGONOFF


Merci,je connaissais déjà ce site,je le trouve bien fait mais j'ai quand même du mal avec.Surtout que les exemple de code son en ASM et non en C ce qui est problématique pour moi pour comprendre.

Cordialement.

UART avec HC-05
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#5 Message par paulfjujo » lun. 28 déc. 2015 13:54

bonjour,


voir paragraphe 8.4
en francais mais pour 18F ..

MCC18_v14_56p.pdf


tu prevois donc un HC05 maitre coté clavier et PIC16F84 et un HC05 esclave coté 16F628 ?
un petit schema serait explicite..
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

UART avec HC-05
HVDifusion
Débutant
Débutant
Messages : 43
Enregistré en : décembre 2015

#6 Message par HVDifusion » lun. 28 déc. 2015 16:45

paulfjujo a écrit :Source du message
voir paragraphe 8.4
en francais mais pour 18F ..

MCC18_v14_56p.pdf
(1.3 Mio) Téléchargé 2 fois



Il n'y pas le paragraphe 8.4.

paulfjujo a écrit :Source du message tu prevois donc un HC05 maitre coté clavier et PIC16F84 et un HC05 esclave coté 16F628 ?
un petit schéma serait explicite..


Non.Ce que je disais c'est que pour activé l'alarme pour l'instant il y a un clavier.

Je veux supprimé le clavier et son PIC dédier pour juste activé l'alarme en envoyant une requête par bluetooth.

En gros quand j'envoi 1 par bluetooth sa active l'alarme et uand j'envoi 0 je la désactive.

Mais j'ai essayer avec mon programme mais quand j'envoi 1 rien ne se passe.

Cordialement.

UART avec HC-05
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#7 Message par paulfjujo » lun. 28 déc. 2015 18:13

Il n'y pas le paragraphe 8.4.

désolé, je me suis trompé de version ,ce n'était pas la version la plus rescente (was V14 , is v18)
[attachment=0]MCC18_v18_56p.pdf[/attachement]


En gros quand j'envoi 1 par bluetooth sa active l'alarme et quand j'envoi 0 je la désactive.

:?: si tu envoies (EMET) par bluetooth.. en face, il faut bien un Recepteur Bluetooth !

Attention!! attention OSCF mal placé :

Code : Tout sélectionner

 PCON = 0b00001000;  // init osc interne 4MHz    


Rajoute une led et une tempo pour verifier que ton programme tourne (et à la bonne vitesse).

Comment, avec quoi testes- tu l'envoi du caractere , un terminal PC ?


Code : Tout sélectionner



#define LED PORTB.B3
#define LED2 PORTB.B?  // à definir

......
// pour verifier si PIC et terminal sont bien synchro sur la bonne vitesse
// verifier l'affichage sur ecran PC terminal
  UART1_Write('A');
  UART1_Write('b');
  UART1_Write(''c'');
   UART1_Write(13); UART1_Write(10);  // saut de ligne
while(1)
 {
   LED2=1
  Delay_ms
(1000);
  LED2=0;
  
  if 
(UART1_Data_Ready()) // si donnée recue,alors
  {
   recup = UART1_Read(); // récupération des donnée reçue
   
   if 
(recup == '1')
   {
    LED = 1;
   }

   if (recup == '0')
   {
    LED = 0;
   }
  }

 }
}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

UART avec HC-05
HVDifusion
Débutant
Débutant
Messages : 43
Enregistré en : décembre 2015

#8 Message par HVDifusion » lun. 28 déc. 2015 19:42

paulfjujo a écrit :Source du message si tu envoies (EMET) par bluetooth.. en face, il faut bien un Recepteur Bluetooth !


le HC-05 est relier au PIC par son TX/RX.Tu te connecte au HC-05 avec un téléphone tournant avec une appli d'envoi de commande via Bluetooth et tu envoie tes infos que tu lis sur le PIC.

paulfjujo a écrit :Source du message Comment, avec quoi testes- tu l'envoi du caractere , un terminal PC ?


Avec un téléphone android,avec un simulateur terminal Bluetooth installé dessus.Mon pot qui a commencer a m'apprendre fonctionnais avec ça.

paulfjujo a écrit :Source du message attention OSCF mal placé :


Bien vu,c'est un vieux programme que j'ai repris mdr je ne l'ai pas écrit a nouveau je ne l'avais pas vu.

UART avec HC-05
Subzero64170
Avatar de l’utilisateur
Débutant
Débutant
Messages : 51
Âge : 37
Enregistré en : octobre 2015
Localisation : PAU

#9 Message par Subzero64170 » lun. 28 déc. 2015 20:37

Salut,
Perso je te conseille juste d’allumer une LED lorsque tu appuie sur "on" dans ton appli smartphone et de l’éteindre lorsque tu appuie sur "off" dans l'appli. C'est simple mais ça permet de tester que la communication entre ton pic et le HC05 fonctionne correctement lorsque tu lance une commande depuis l'appli.Voila mon projet qui réalise ceci.

Projet HC05 commande lampe via appli

Cdt
“L'imagination est plus importante que le savoir.” A.Einstein

UART avec HC-05
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#10 Message par paulfjujo » mer. 30 déc. 2015 12:05

bonjour,


Avant de tester avec un Telephone Bluetooth, le mieux est de tester séparément chacun des coté :

Tester la liasion UART PIC avec un terminal PC
la partie PIC ..avec une liaisaon PIC UART - MAX232 - RS232 COM terminal PC
ou PIC UART -- Cordon TTL/USB Prolific .... virtual COM terminal PC
ou PIC UART -- interface FTDI - USB .... virtual COM terminal PC

Tester le dialogue HC05 avec un terminal PC
L'HC05 est relié via un max232 (5V TTL) ou MAX3232 (niveaux 3,3V) --- COM RS232 PC
ou via un adaptateur TTL/USB
pour verifier sa config USINE
tester les differentes commandes AT

un logiciel assez performant pour visualiser les equipements Bluetooth environnant un PC
BlueSoleil

Un e fois maitrisé ces 2 aspects , on relie les 2 equipements BT PIC )) ) ) ( ( (( Telephone

Ensuite se pencher sur le coté Appli Android Telephone
attention au terminateur d'envoi
soit CR, soit LF, soit CR LF coté application Bluetooth
il faut donc envoyer au minimum
'1' + le terminateur !
et s'attendre à recevoir un message + terminateur! minimum 2 caracteres !


Coté PIC il faut un buffer de reception et traiter l'interrupr RX UART...
déja traité sur ce site !



il faut que ton HC05 PIC soit deja appairé et reconnu par ton telephone.
Aide toi, le ciel ou FantasPic t'aidera


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités