Ce que vous apprendrez
Les points à développer :
- HC-12 c’est quoi ?
- Câblage avec Arduino
- Simple code pour tester
Prérequis
Aucun
Contenu du cours
Le HC-12 est un module de communication série sans fil semi-duplex avec 100 canaux dans la gamme 433,4-473,0 MHz, capable de transmettre jusqu’à 1 km.
Le HC-12 est un émetteur semi-duplex de 20 dBm (100 mW) couplé à un récepteur dont la sensibilité est de -117 dBm (2 × 10-15 W) à 5000 bps. Jumelés à une antenne externe, ces émetteurs-récepteurs sont capables de communiquer jusqu’à un kilomètre à l’air libre, voire un peu plus, et sont plus que suffisants pour assurer une couverture dans toute la maison.
Image: Module
HC-12
La carte de circuit imprimé HC-12 est construite autour du microcontrôleur STM8S003F3 et de l‘émetteur-récepteur Si4463. Le Si4463 fournit la communication sans fil dans ce circuit. Il a une puissance d’émission maximale de 20 dBm (100 mW) et une sensibilité de réception de -129 dBm. Deux mémoires Rx et Tx FIFO de 64 octets sont intégrées à la puce, ainsi qu’un grand nombre de fonctions avancées qui ne sont pas implémentées dans la conception HC-12. Voir la fiche technique pour plus d’informations sur le fonctionnement multibandes, le saut de fréquence, etc. Le microcontrôleur STM8S003FS C’est un microcontrôleur de 8 bits avec 8 Ko de mémoire flash, 128 octets d’EEPROM et un ADC 10 bits. Il prend en charge UART, SPI et I²C et possède plusieurs broches d’E / S. Il offre plusieurs des mêmes capacités que ses homologues ATMega et XMC. Il est programmé pour contrôler le Si4463 et gérer la communication UART entre le HC-12 et tout ce qui est connecté à l’autre extrémité. Le module émetteur-récepteur HC-12 combiné avec d’autres composants, le Si4463 et le STM8S003 créent l’émetteur-récepteur HC-12 qui fournit une interface UART à 4 broches de type TTL (Vcc, Gnd, Tx, Rx), avec une 5ème broche utilisée en mode « commande » pour changer la configuration du module. Le HC-12 dispose de 100 canaux pris en charge espacés de 400 kHz, de huit niveaux de transmission, de huit vitesses de transmission en charge et de trois modes de fonctionnement différents.
La configuration par défaut du HC-12 est FU3 sur le canal 1, FU3 est un réglage entièrement automatique et transparent (pour les autres appareils) qui s’adapte au débit de transmission du périphérique connecté (bien que 9600 bauds soient encore nécessaires pour le programmer) mode).
Notez que lorsque la vitesse de transmission augmente, la sensibilité du récepteur diminue. Vous pouvez revenir à l’état par défaut en envoyant AT + DEFAULT une fois en mode commande.
Baud Rate du port | Vitesse de transmission en direct | Sensibilité du récepteur |
1200 bps | 5000 bps | -117 dBm |
2400 bps | 5000 bps | -117 dBm |
4800 bps | 15000 bps | -112 dBm |
9600 bps | 15000 bps | -112 dBm |
19200 bps | 58000 bps | -107 dBm |
38400 bps | 58000 bps | -107 dBm |
57600 bps | 236000 bps | -100 dBm |
115200 bps | 236000 bps | -100 dBm |
Dans « Programme d’envoi / réception HC12 « , les HC-12 sont utilisés dans leur état par défaut (FU3: transmission 20mW, 9600bps, canal 001) pour créer un pont sans fil entre les ports série de deux ordinateurs. Les émetteurs-récepteurs doivent être physiquement séparés d’au moins 1,5 mètre pour fonctionner.
Ce programme permettra l’envoi de messages entre deux ordinateurs via les émetteurs HC-12. Le texte tapé sur un ordinateur sera affiché sur le moniteur série du second ordinateur.
Commencez par connecter les émetteurs-récepteurs HC-12 à chaque Arduino:
Connectez la broche HC-12 « Set » à la broche Arduino 6
Connectez la broche HC-12 « RXD » à la broche Arduino 4
Connectez la broche HC-12 « TXD » à la broche Arduino 5
Selon la fiche technique, connectez un condensateur de réservoir de 22 μF à 1 mF en parallèle avec les broches HC-12 « Gnd » et « Vcc »
Connectez HC-12 « Gnd » et « Vcc » à une source de 3,2 V à 5,5 V 200 mA. Selon la fiche technique, si vous alimentez le HC-12 avec plus de 4,5 V, placez une diode 1N4007 en série avec la broche HC-12 « Vcc »
Téléchargez le code suivant et ouvrez le moniteur du port série dans l’IDE Arduino pour envoyer / recevoir des messages.
Les fonctions « * .available () » lisent le nombre d’octets stockés dans les tampons FIFO Serial ou SoftwareSerial de l’Arduino. Tant qu’il y a une valeur non nulle retournée par « * .available () », la fonction « * .read () » extrait un octet du tampon et la fonction « * .write () » envoie cet octet à l’autre port série à lire par l’ordinateur ou le HC-12.
L’Arduino UART dispose d’un tampon de réception de 64 octets intégré au matériel, de sorte que tous les octets de données dépassant la limite de 64 octets seront supprimés. La série logicielle dispose également d’un tampon de 64 octets; cependant, la bibliothèque SoftwareSerial peut être modifiée pour l’augmenter, si nécessaire.
Merci pour votre attention !
Comment fonctionne le module émetteur-récepteur sans fil HC-12.
Catégorie
Durée
16:54:00
Nombre de vidéos
0
Certificat de fin de formation
NON