Table des matières:
- Étape 1: Liste des pièces
- Étape 2: Câblage et configuration
- Étape 3: Messagerie sans fil instantanée, bouton à bascule, bouton momentané et quelques fonctions utiles
- Étape 4: Configuration avancée. Modification des paramètres du HC-12 avec les commandes AT
- Étape 5: antenne à ressort ou antenne SMA
- Étape 6: Remarque finale:
Vidéo: Longue portée, 1,8 km, communication sans fil Arduino à Arduino avec le HC-12. : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Dans ce instructable, vous apprendrez à communiquer entre Arduinos sur une longue distance jusqu'à 1,8 km en plein air.
Le HC-12 est un module de communication par port série sans fil très utile, extrêmement puissant et facile à utiliser.
Vous apprendrez d'abord à créer une messagerie instantanée sans fil avec le moins d'effort possible.
Ensuite, nous passerons à l'allumage d'une LED avec un bouton-poussoir, puis vous apprendrez quelques fonctions et opérations de chaîne utiles pour la communication série.
La dernière partie de l'instructable n'est pas nécessaire mais vous apprendrez à utiliser le module HC-12 comme un pro.
Dans cette partie, vous apprendrez comment entrer dans le mode de configuration des modules pour modifier le débit en bauds, la distance de transmission, etc.
Et enfin, vous apprendrez à connecter une antenne SMA externe.
Suivez le reste de cette instructable pour découvrir à quel point il est facile de devenir un pro de la communication série sans fil.
Étape 1: Liste des pièces
- 2 x Arduino (j'ai obtenu mes clones Arduino pour 3 dollars ici)
- 2 x modules HC-12 (obtenu le mien ici)
- Fils
- Planche à pain.
- résistance de 10k
- bouton poussoir
- Fiches d'exercices ici
Étape 2: Câblage et configuration
Nous devons d'abord souder les antennes à ressort aux deux puces HC-12.
J'ai également soudé des broches sur le module HC-12 pour le rendre facile à utiliser sur une maquette.
Nous utiliserons 2 Arduinos avec un module HC-12 connecté à chacun d'eux comme vous pouvez le voir sur l'image.
Pour les deux Arduinos, nous connectons la broche 2 à TX et la broche 3 à RX. Terre à terre et VCC à 5v.
Sur un Arduino, nous ajouterons un bouton poussoir comme vous pouvez le voir sur l'image.
Pour travailler avec 2 Arduinos sur 1 ordinateur, nous devons ouvrir 2 instances de l'IDE Arduino. Cela signifie que nous devons ouvrir le logiciel Arduino 2 fois. Ce n'est pas la même chose que "fichier → Nouveau"
Enregistrez l'un avec le bouton poussoir connecté en tant que « émetteur HC-12 » et l'autre en tant que « récepteur HC-12 ».
Assurez-vous que les bons ports sont sélectionnés pour chacun des Arduinos.
Étape 3: Messagerie sans fil instantanée, bouton à bascule, bouton momentané et quelques fonctions utiles
Messagerie sans fil
Nous allons commencer par créer une messagerie instantanée sans fil.
Copiez le contenu du fichier "HC-12 messenger send/receive.txt" dans l'archive ZIP et collez-le dans chacune des instances Arduino. Le code est le même pour les deux Arduinos.
Après avoir téléchargé le code, ouvrez le moniteur série pour les deux instances.
Maintenant, commencez à taper dans les deux moniteurs série pour démarrer une conversation.
Même vos Arduinos sont connectés au même ordinateur, la communication est sans fil.
Bouton à bascule
Un bouton à bascule est souvent utilisé en électronique. Le principe est très simple. Vous appuyez une fois sur un bouton pour allumer la LED et appuyez à nouveau sur le même bouton pour éteindre la LED.
Copiez et collez le contenu du "HC-12 Toggle Button Send.txt" dans l'instance "HC-12 sender" et du "HC-12 Toggle Button Receive.txt" dans l'instance "HC-12 receiver" et téléchargez.
Lorsque vous appuyez sur le bouton, vous devriez voir la LED s'allumer. Lorsque vous appuyez à nouveau sur le bouton, la LED s'éteint.
Quelques validateurs comme le timing et le code du bouton sont utilisés afin de s'assurer que cet exemple fonctionne parfaitement.
Bouton momentané
Un bouton momentané est assez simple. En appuyant sur le bouton, la LED s'allume. En relâchant le bouton, la LED s'éteint.
Copiez et collez le contenu du "HC-12 Momentary Button Send.txt" dans l'instance "HC-12 sender" et du "HC-12 Momentary Button Receive.txt" dans l'instance "HC-12 receiver" et téléchargez.
Quelques fonctions et opérateurs utiles
Il existe quelques fonctions et opérateurs utiles lorsque vous souhaitez convertir ou cracher une chaîne et la convertir en nombre décimal, etc.
Regardez le fichier " HC-12 Fonctions utiles et opérateurs Send.txt " et " HC-12 Fonctions utiles et opérateurs Receive.txt ".
L'esquisse d'envoi envoie la chaîne « test123 » lorsque vous appuyez sur le bouton.
L'esquisse de réception lit la chaîne, la divise et la convertit en un entier.
Étape 4: Configuration avancée. Modification des paramètres du HC-12 avec les commandes AT
Vous pouvez facilement ignorer cette section car elle couvrira certains paramètres avancés de la puce. Cependant, je couvrirai les bases afin que vous puissiez modifier le débit en bauds du module, la puissance de transmission, les canaux et les modes de fonctionnement.
Un manuel complet se trouve dans l'archive ZIP sous le nom HC-12 User Manual.pdf
Connectez le HC-12 comme indiqué sur l'image et connectez l'Arduino à votre ordinateur.
Copiez et collez le contenu du fichier nommé "HC-12 AT Commander.txt" à partir de l'archive ZIP et téléchargez-le sur votre Arduino.
Ouvrez le moniteur série et tapez « AT ». Si le module renvoie « OK », le mode commande fonctionne.
Modification du débit en bauds
Tapez « AT+Bxxxx ».
Le débit en bauds peut être réglé sur 1200bps, 2400bps, 4800bps, 9600bps, 19, 200bps, 38, 400bps, 57, 600bps ou 115, 200bps. Le défaut
la valeur est de 9600bps.
Exemple: tapez « AT+B4800 ». Le module renvoie « OK+B4800 ».
Changer le canal de communication
Tapez "AT+Cxxx".
La valeur peut être un nombre compris entre 001 et 127.
Chaque nombre est un pas de 400KHz. La fréquence de travail du canal 100 est de 473,0 MHz.
Exemple: tapez « AT+C021 ». Le module renvoie « OK+C021 ».
Le module est maintenant réglé sur une fréquence de travail de 441.4MHx
Notez que les modules d'envoi et de réception doivent avoir la même fréquence pour communiquer.
Modification du mode de fonctionnement du module
Cela peut être FU1, FU2, FU4 ou FU4 (FU4 à un débit en bauds de 1200 définit la puce pour transmettre jusqu'à 1800 mètres en plein air). Voir la documentation pour une explication complète.
Exemple: Tapez « AT+FU4 ». Le module renvoie « OK+FU4 ».
Obtenez tous les paramètres du module
Tapez "AT+RX".
Le module devrait renvoyer quelque chose comme ceci:
« OK+FU3
OK+B9600
OK+C001
OK+RP: +20 dBm ».
Plus de paramètres peuvent être trouvés dans le "HC-12 User Manual.pdf" dans l'archive ZIP.
Étape 5: antenne à ressort ou antenne SMA
Les modules HC-12 sont livrés en standard avec une antenne à ressort. Cependant, vous pouvez connecter une antenne SMA à la carte.
Il y a des livres entiers écrits sur les antennes et leur fonctionnement. Je ne veux pas approfondir ce sujet.
La seule chose à retenir pour l'instant est que les circuits électroniques peuvent interférer avec une antenne et donc le HC-12 dispose d'une prise RF IPEX afin que vous puissiez séparer l'antenne de la carte. Cela peut aider à une meilleure réception et transmission.
Vous avez besoin d'une rallonge IPEX vers SMA et d'une antenne SMA.
J'ai mon extension ici et l'antenne ici. (vérifiez pour les hommes et les femmes).
Assurez-vous lorsque vous commandez que les connexions mâles et femelles correspondent.
Vous pouvez pousser le cordon sur le connecteur IPEX et le souder. Sur l'autre emplacement du cordon vous pouvez visser l'antenne SMA.
Étape 6: Remarque finale:
Dans ce instructable, vous avez appris à utiliser le HC-12 pour les communications longue distance entre Arduinos. Vous avez appris à créer une messagerie instantanée, un bouton bascule, un bouton momentané, comment utiliser certains opérateurs et fonctions de chaîne, comment modifier les paramètres du HC-12 et comment utiliser une autre antenne.
La réalisation de cette instructable a pris environ 100 heures de recherche, d'édition, de test, d'écriture et ainsi de suite.
Si cette instructable vous a été utile, veuillez cliquer sur le bouton favori et abonnez-vous.
Rendez-vous dans le prochain instructable.
Autres instructables que vous pourriez aimer:
Arduino à 2 $. L'ATMEGA328 en tant qu'appareil autonome. Facile, pas cher et très petit. Un guide complet.
Comment réparer les mauvais clones Arduino chinois
Facebook:
Faites un don pour m'aider à continuer à faire ce travail:
Conseillé:
Premiers pas avec les capteurs de température et de vibrations sans fil longue portée : 7 étapes
Premiers pas avec les capteurs de température et de vibration sans fil à longue portée : Parfois, les vibrations sont la cause de graves problèmes dans de nombreuses applications. Des arbres et roulements de la machine aux performances des disques durs, les vibrations provoquent des dommages à la machine, un remplacement précoce, de faibles performances et affectent considérablement la précision. Surveillance
IoT- Ubidots- ESP32 + Capteur de vibrations et de température sans fil à longue portée : 7 étapes
IoT- Ubidots- ESP32+Capteur de vibration et de température sans fil à longue portée : la vibration est vraiment un mouvement de va-et-vient - ou une oscillation - des machines et des composants des gadgets motorisés. Les vibrations dans le système industriel peuvent être le symptôme ou le motif d'un problème, ou elles peuvent être associées au fonctionnement quotidien. Par exemple, osci
Capteur de température et d'humidité sans fil à longue portée IOT avec nœud rouge : 27 étapes
Capteur de température et d'humidité sans fil à longue portée IOT avec Node-Red : Présentation du capteur de température et d'humidité sans fil à longue portée de NCD, offrant une portée allant jusqu'à 28 milles en utilisant une architecture de réseau maillé sans fil. L'intégration du capteur de température et d'humidité Honeywell HIH9130 transmet une température très précise et
Indicateur de niveau d'eau sans fil longue portée avec alarme - Portée jusqu'à 1 km - Sept niveaux : 7 étapes
Indicateur de niveau d'eau sans fil longue portée avec alarme | Portée jusqu'à 1 km | Sept niveaux : regardez-le sur Youtube : https://youtu.be/vdq5BanVS0YVous avez peut-être vu de nombreux indicateurs de niveau d'eau filaires et sans fil qui fourniraient une portée allant jusqu'à 100 à 200 mètres. Mais dans ce instructable, vous allez voir un indicateur de niveau d'eau sans fil à longue portée
Point d'accès sans fil de 50 mètres de portée avec adaptateur sans fil USB TP Link WN7200ND sur Raspbian Stretch: 6 étapes
Point d'accès sans fil de 50 mètres de portée avec adaptateur sans fil USB TP Link WN7200ND sur Raspbian Stretch : Raspberry Pi est idéal pour créer des points d'accès sans fil sécurisés mais il n'a pas une bonne portée, j'ai utilisé un adaptateur sans fil USB TP Link WN7200ND pour l'étendre. Je veux partager comment le fairePourquoi est-ce que je veux utiliser un Raspberry Pi au lieu d'un routeur ?T