Table des matières:
- Étape 1: ce dont vous aurez besoin
- Étape 2: la solution
- Étape 3: Dans les coulisses…
- Étape 4: Autres lectures/possibilités d'amélioration
Vidéo: Récupérer le module Bluetooth HC-06 mal configuré : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Par pur maximalisme, j'ai configuré mon module Bluetooth HC-06 (esclave) à un débit en bauds de 1 382, 400 bauds avec la commande AT+BAUDC. Depuis que l'Arduino qui lui est connecté n'a pas pu utiliser le module avec la bibliothèque SoftwareSerial. J'ai essayé de restaurer le débit en bauds avec la série matérielle d'Arduino (broches 0 et 1) sans succès.
J'ai également essayé de rechercher le sujet sur Google sans trouver de solution passable. Peut-être que l'utilisation du port série intégré d'un ordinateur aurait pu être une solution (avec un changement de niveau logique de 12V à 3V3), mais mon ordinateur n'a pas ce port obsolète, j'ai donc dû trouver une autre solution.
Étape 1: ce dont vous aurez besoin
- Carte Arudino/Genuino avec le MCU Atmel ATMEGA328P-PU par défaut (@16MHz).
- Un module Bluetooth HC-06 écoutant à 1 382 400 bauds
- IDE arduino de base de
Étape 2: la solution
Veuillez noter que ce Instructable et la solution est faite pour le scénario 1, 382, 400 bauds (AT + BAUDC). La solution ne fonctionnera pour aucun autre débit en bauds. Pour traiter d'autres cas, veuillez vous référer aux étapes à partir de l'étape 3.
La solution est vraiment simple.
- Connectez la broche VCC de HC-06 à la broche 5V d'Arduino.
- Connectez la broche GND de HC-06 à la broche GND d'Arduino.
- Connectez la broche RXD du HC-06 à la broche 2 d'Arduino.
- Laissez la broche TXD du HC-06 non connectée (ou connectez-la à la broche 8).
- Téléchargez le croquis hc06reset.ino.
- Le programme réglera le HC-06 en mode 115, 200 bauds (AT+BAUD8).
- Utilisez votre module HC-06 récupéré comme avant.
Étape 3: Dans les coulisses…
La bibliothèque SoftwareSerial fournie avec Arduino IDE est capable de transmettre au plus 115 200 bits/seconde, elle n'est donc pas assez rapide pour communiquer au débit souhaité de 1 382 400 bauds. Étant donné qu'une carte Arduino par défaut fonctionne sur 16 MHz, le débit binaire maximum non compressé théorique est de 16 000 000 bits/sec. On est bien pour l'instant !
D'après ma compréhension de SoftwareSerial.cpp, la communication seial se fait en définissant une broche de sortie High (=1) ou Low (=0) par rapport à un délai (qui vient du débit en bauds) entre les changements.
- La broche de sortie est haute par défaut (signifie pas de données), alors
- un bit de démarrage est transmis (ce qui tire la broche vers le bas), puis
- 8 bits de données transmises de LSB vers MSB, (+5V quand le bit 1 et 0 sinon) puis
- un bit d'arrêt est transmis (ce qui tire la broche vers le haut)
De cette façon, 1 octet est transmis en utilisant 10 bits.
Le message que nous devons envoyer est AT+BAUD8 (sans \n, \r à la fin). Cette commande remet le HC-06 à 115 200 bauds, ce qui peut être géré par les bibliothèques classiques.
Afin d'envoyer des bits avec une vitesse de 1 382, 400 bits/s, pour chaque bit, nous avons un temps de 1/1 382, 400 secondes (soit environ 723,38 ns) pour chaque bit. Arduino fonctionne sur 16 000 000 Mhz, donc chaque cycle dure 1/16 000 000 secondes, soit 62,5 ns par cycle.
En utilisant le code d'assemblage AVR, nous pouvons utiliser la commande OUT pour définir la broche de sortie haute ou basse et NOP pour attendre exactement un cycle CPU. Les deux commandes consomment exactement 1 cycle de processeur. De cette façon, le temps de bit de 723,38 ns peut être couvert par 11 à 12 instructions arduino par bit transmis. Une chose à considérer: la commande OUT définit un octet entier à la fois, nous devons donc sélectionner un PORTx où ce n'est pas un problème. L'utilisation d'ATMEGA328P-PU par exemple PORTD (broches arduino 0-7) est parfaite pour cette condition. Après avoir réglé le bit, seul le temps approprié doit s'écouler, ce qui est fait par 10 à 11 NOP et c'est tout.
Vous pouvez trouver les détails du calcul dans le fichier Excel ci-dessous. Ce fichier a généré les instructions d'assemblage requises pour le programme. Seuls quelques remplacements ont dû être effectués après avoir collé le code généré.
Étape 4: Autres lectures/possibilités d'amélioration
- Peut-être qu'une bibliothèque SoftwareSerial plus rapide peut être créée en utilisant la technique décrite à l'étape précédente.
- FedericoK2 a créé un excellent outil qui génère le code de récupération HC-06 pour chaque débit binaire possible. Accédez au site ici: https://tools.krum.com.ar/save_your_hc-06/ Merci FedericoK2
Conseillé:
Comment récupérer votre musique sur votre Ipod. GRATUIT ! : 7 étapes
Comment récupérer votre musique sur votre Ipod .. GRATUIT ! sur votre Ipod, mais ensuite, supprimez-les tous accidentellement de votre ordinateur. Alors vous vous êtes assis là dans un mauvais moo
Souder un pickguard de guitare configuré en SSS : 3 étapes
Souder un pickguard de guitare configuré SSS : dans l'instructable, je vais passer par le processus de câblage de votre propre pickguard de guitare SSS. Tout d'abord, si vous faites ce projet, vous devriez essayer d'avoir une bonne compréhension des parties qui entrent dans le processus. Le format SSS est essentiellement trois
Comment récupérer vos données perdues gratuitement : 4 étapes
Comment récupérer vos données perdues gratuitement : Nous savons tous que la perte de données est l'une des pires choses au monde et nous avons presque tous vécu ce problème. Et voici la solution que vous attendiez, j'ai trouvé ce logiciel qui me permet de récupérer très facilement mes fichiers perdus
Comment récupérer des données à partir d'une base de données Firebase sur NodeMCU : 7 étapes
Comment récupérer des données à partir d'une base de données Firebase sur NodeMCU : pour cette instruction, nous allons récupérer les données d'une base de données dans Google Firebase et les récupérer à l'aide d'un NodeMCU pour une analyse ultérieure. EXIGENCES DU PROJET : 1) NodeMCU ou ESP8266 Controller2) G-Mail compte pour créer une base de données Firebase.3) Téléchargez le
Le bouton du mal : c'était le mal : 11 étapes
Le bouton maléfique : c'était le mal : utilisez votre bouton facile de Staples pour fournir des phrases personnalisées et avoir un nouveau look d'Halloween élégant. Ce dont vous avez besoin pour ce projet : un bouton facile de Staples (Dure) de Radio Shack, mais un YakBak peut faire, ou