Table des matières:

Communicateurs de code de signal (RFM69) : 7 étapes (avec images)
Communicateurs de code de signal (RFM69) : 7 étapes (avec images)

Vidéo: Communicateurs de code de signal (RFM69) : 7 étapes (avec images)

Vidéo: Communicateurs de code de signal (RFM69) : 7 étapes (avec images)
Vidéo: ЭВОЛЮЦИЯ В ДВУХ МИРАХ - СРЕДНИЙ ШИКО КСАВЬЕ - Дух АНДРЕ ЛУИС 2024, Juillet
Anonim
Communicateurs de code de signal (RFM69)
Communicateurs de code de signal (RFM69)
Communicateurs de code de signal (RFM69)
Communicateurs de code de signal (RFM69)

Ces radiocommunications « 2 bits » (numériques) fournissent un moyen de se signaler (où ils se trouvent; si c'est fait …) lorsque vous magasinez aux extrémités opposées d'un magasin à grande surface; même là où les téléphones portables n'ont pas de service ou de charge de batterie.

Des modules radio RFM69 915MHz sont utilisés. Ce sont des radios très efficaces, de faible puissance, utilisant des communications numériques par paquets. Ils peuvent communiquer sur 100 mètres en utilisant une faible puissance, sur seulement 10 s de milliampères, et jusqu'à 1/2 kilomètre ou même 1/2 mile en utilisant environ 120 mA.

Les modules radio RFM69 sont beaucoup plus efficaces et efficaces sur de plus grandes distances qu'un NRF24L01 ou un RFM12.

Pour des connexions encore plus fiables et distantes, ce projet pourrait également être appliqué aux modules radio LoRa utilisés. Il existe quelques appareils LoRa (comme un RFM95) de taille et d'interface similaires. Mais ils coûtent beaucoup plus cher, ce qui pour moi n'était pas justifié.

Les unités prennent en charge un ensemble de codes de questions et réponses de style 10-20 (emplacement ?) numériques (voir wiki/Ten-code https://en.wikipedia.org/wiki/Ten-code); ainsi que le code Morse facultatif. Les unités ne prennent en charge aucune communication vocale (analogique).

Ils pourraient également être utilisés comme téléavertisseurs avec 3 niveaux de demandes d'attention, lorsque quelqu'un est en convalescence ou travaille sous la maison.

Au-delà de cela, ils peuvent être très amusants, surtout pour les enfants ou les étudiants.

Étape 1: Rassemblez les composants

Comme le module radio ne peut pas gérer une alimentation ou une tension de signal de 5 V, vous devez utiliser des MCU de 3,3 V. Notez également que j'utilise la version haute puissance 'H' des modules radio.

Cette liste est de construire 2 unités.

  • quantité. 2 microcontrôleurs Arduino Pro Mini 3.3v
  • quantité. 2 modules RFM-69HCW 915MHz
  • quantité. 2 boîtier (devait être un compartiment à piles)
  • quantité. 2 batteries Li-ion 3.7v 200+mah https://www.ebay.com/itm/311682151405 (7x20x30mm, ~Taille maximale utilisable 9x24x36mm)
  • quantité. 4 LED bicolores à cathode commune rouge-vert de 5 mm https://www.ebay.com/itm//112318970450 (le câblage et la tension de claquage sont importants)
  • quantité. 4 interrupteurs à bouton 6x6x7.5mm
  • quantité. 2 buzzer piézo actif
  • quantité. 2 résistances chacune … 270 Olm, 1.5kOlm, ~5k
  • quantité. 2 casquette monolithique 0,1 uf

Optionnel

  • quantité. 2 LED blanches (ou bleues) de 3 mm
  • quantité. 2 prises phono 3,5 mm
  • quantité. 2 condensateurs de filtre de puissance 220uf
  • bâton de glace

Autres fournitures dont vous pourriez avoir besoin

Fil 30ga solide https://www.ebay.com/itm/142255037176, Fil 26ga massif ou 24ga toronné, pour masses et +V

Fil 22ga solide, pour antenne

Divers: fournitures de soudure, ruban adhésif, colle chaude, outils de prototypage.

Convertisseur USB vers TTL

Matériel en option:

Une prise stéréo pour brancher un écouteur, pour être sûr de ne pas rater les communications entrantes. Un ampli haut-parleur portable peut également y être connecté.

La petite LED blanche (3 mm) est optionnelle. Je l'ai ajouté pour servir d'indicateur ON. C'était simple à ajouter car je l'ai câblé sur Btn1 qui reçoit un certain courant d'entraînement d'une résistance interne (~ 37k). Avec si peu d'entraînement, cette LED doit être très efficace. Une LED verte ou peut-être bleue pourrait être utilisée mais pas jaune ou rouge car leur chute de tension est trop faible et donnerait l'impression que le bouton est enfoncé. Je n'utiliserais pas le vert car cette couleur est par ailleurs utilisée pour la signalisation des informations.

La prise phono peut également être omise. Cet appareil ne fait pas beaucoup de bruit, mais si vous souhaitez attirer l'attention des autres, il offre la possibilité d'utiliser un écouteur. Alternativement, un morceau de scotch sur le trou pour l'audio est efficace.

Pour rendre toutes les mesures faciles et précises, j'aime beaucoup cet étrier peu coûteux.

Étape 2: Construire le sous-système MCU-radio

Construire un sous-système MCU-radio
Construire un sous-système MCU-radio
Construire un sous-système MCU-radio
Construire un sous-système MCU-radio
Construire un sous-système MCU-radio
Construire un sous-système MCU-radio

Connectez les fils courts aux broches du MCU: 10, 11, 12, 13; un fil de longueur moyenne à pin2.

Ajoutez une longueur (4 à 5 pouces) aux broches d'E/S du MCU à utiliser (broches: 3 à 9). J'ai utilisé un calibre 30 AWG et différentes couleurs pour les types de périphériques. Ce fil de petit diamètre est capable de gérer les signaux inférieurs à 100 milliampères, mais il est suffisamment petit et suffisamment souple (et fortement recommandé) pour faciliter un assemblage serré.

Branchez également une masse et un fils Vcc (j'ai utilisé 26ga, ce sont les bleus sur les photos). Ces fils transportent plus de courant, utilisez donc un gros calibre pour réduire la chute de tension (et le rayonnement potentiel du signal de bruit).

Connectez le MCU à la carte RFM-69. Tous, sauf les longs fils, y vont.

Rabattez la carte radio sur la carte MCU. Il ne doit pas y avoir de short entre les planches. S'il semble y avoir un réel potentiel de courte durée, utilisez un morceau de ruban adhésif ou une feuille de plastique.

Ajoutez le fil d'antenne (22-24ga. 80mm) sur la carte radio, comme on le voit sur la photo.

Étape 3: Tests de développement

Tests de développement
Tests de développement
Tests de développement
Tests de développement

Pour votre mise en œuvre de ces unités, vous pouvez ignorer cette section. Pour ceux que ça intéresse, cela donne un peu plus d'informations sur comment j'y suis arrivé.

Une longueur d'onde ¼ pour 915 MHz est de 82 mm. Le tutoriel Sparkfun.com suggère d'utiliser 78 mm. Je comprends que la technologie de l'antenne dit que lorsque l'antenne est à moins d'une demi-longueur d'onde de la terre, votre antenne agira comme si elle était ~5% plus longue qu'elle ne l'est. Quant à 915Mhz, ce serait moins d'un pied et normalement vous utilisez cet appareil beaucoup plus haut que cela, je rejette cette longueur de 78 mm. Il existe cependant d'autres facteurs qui pourraient provoquer des effets similaires, jugeant sage d'utiliser une longueur d'onde inférieure à exactement ¼. J'ai fait un compromis et j'ai coupé mes fils d'antenne à 80 mm au total (y compris la section passant par le PCB). Avec l'équipement de test approprié, vous pourriez mieux optimiser la longueur de votre antenne pour votre unité, mais je ne m'attendrais qu'à des améliorations mineures.

Après ajustements, j'ai obtenu une portée maximale d'environ 250 m avec quelques obstacles. Au-delà disons 150 m, l'orientation et la position de l'antenne devenaient de plus en plus importantes.

Lorsque j'ai utilisé une configuration d'antenne de type dipôle complète (un élément actif vertical de 80 mm en face d'un élément de fil de terre de 80 mm pointant vers le bas) pour une unité, j'ai obtenu, avec un positionnement par essais et erreurs, jusqu'à 400 mètres avec plusieurs arbres et une maison entre les deux, et une communication bidirectionnelle solide à la moitié de cette distance, quelle que soit la position ou l'orientation des unités distantes.

Étape 4: Préparer la boîte de projet

Préparer la boîte de projet
Préparer la boîte de projet
Préparer la boîte de projet
Préparer la boîte de projet
Préparer la boîte de projet
Préparer la boîte de projet
Préparer la boîte de projet
Préparer la boîte de projet

La construction de ce projet à l'aide d'une petite boîte est assez difficile. J'ai l'expérience de la construction de nombreux gadgets électroniques personnalisés pour des projets domestiques, industriels et aérospatiaux. Les novices peuvent plutôt utiliser une boîte de conteneur plus grande, ce qui rend la construction beaucoup plus facile. Après tout, c'est le plaisir que nous recherchons, pas la frustration. BTW, vous remarquerez peut-être des différences mineures dans les photos des unités que j'ai construites.

Nettoyez une grande partie de l'intérieur de la boîte. Utilisez un ciseau ou un couteau X-acto pour couper deux côtes à droite et une à gauche. (voir la photo de l'intérieur d'une boite avant et après)

Faites chauffer l'extrémité d'un X-acto ou d'un couteau d'office (pendant environ 15 secondes à l'aide d'un briquet) et coupez le gros poteau, à l'intérieur du boîtier, et abaissez les deux autres à environ 1/8 de pouce. Une fois que j'ai monté l'interrupteur, j'ai fait fondre ces deux poteaux suffisamment pour maintenir l'interrupteur en place.

J'ai utilisé du ruban adhésif sur la boîte pour marquer l'emplacement des trous. Voir photos ci-dessus.

Afin de garder le perçage des trous sur la marque, j'ai d'abord marqué les taches avec une pointe de fléchette, puis j'ai percé tous les emplacements avec un foret 1/16ème, puis enfin percé chaque trou à la taille souhaitée.

Percez les trous pour les boutons, l'audio et les LED dans le boîtier. Les deux trous pour les LED principales, en haut, mesurent 13/64" (5 mm) et sont à 10 mm du bord. Les trous pour l'audio (bip-buzzer) et le voyant « On » en option sont de 1/8 po (3 mm). Ils sont à 10 mm du haut. La petite led est à 7mm de côté. Le trou audio est centré d'un côté à l'autre. Les trous pour les boutons, sur le côté, sont de 9/16” (3,5 mm). Un bouton est à 10 mm du haut, l'autre à 20 mm. J'ai biseauté l'intérieur des trous des boutonnières, à la main, avec un foret de 1/4", pour m'assurer que les boutons ne se coincent pas lorsqu'on appuie dessus.

Si vous utilisez une prise phono pour un casque ou un haut-parleur externe, vous devez ouvrir le trou préexistant en bas à 15/64". Le matériau ici est plutôt épais et le simple fait d'essayer de le percer entraînerait un trou trop près du bord. Donc, percez d'abord un trou de 1/16, avec son centre à environ un 16ème de pouce du bord du trou existant. Agrandissez ensuite ce trou avec une mèche de 7/16". Avec une petite lame tranchante (~Xacto), coupez le matériau de manière à ce que les deux trous adjacents ne fassent qu'un. Utilisez une râpe spirale Dremel ou une lime à queue de rat pour que les trous forment un trou bien rond, qu'un foret se centrera facilement. Le trou devrait être presque 15/64ème à ce stade. (Il y a une photo du trou à ce stade) Maintenant, percez-le avec une mèche de 15/64". Ce ne serait pas 'horrible' si vous utilisiez un peu ¼.

Étape 5: connexion des composants d'E/S périphériques

Connexion de composants d'E/S périphériques
Connexion de composants d'E/S périphériques
Connexion de composants d'E/S périphériques
Connexion de composants d'E/S périphériques
Connexion de composants d'E/S périphériques
Connexion de composants d'E/S périphériques

Assurez-vous lors de la soudure dans les limites du boîtier que vous ne laissez par inadvertance aucune partie du fer toucher et ainsi faire fondre une partie de la boîte, en particulier le long de son bord extérieur.

Les boutons

Fixez les boutons avec une petite quantité de colle tout en les positionnant. La colle chaude est OK, la colle fine (comme la super colle) peut se frayer un chemin dans le bouton, le rendant inutilisable. Notez que j'avais retiré une patte à chacun des boutons (ceux redondants, je ne me connectais pas); les plier pour qu'ils ne dépassent pas trop; et connecté les deux broches inférieures entre les boutons. Les boutons sont situés de telle sorte que les pattes connectées à l'intérieur soient horizontalement opposées l'une à l'autre.

Pliez les fils de la LED « marche/arrêt » de 3 mm afin qu'elle puisse être connectée à travers Btn1, sa cathode allant du côté de la terre. C'est peut-être le problème d'assemblage le plus délicat.

Marquez le côté des LED à côté de l'anode rouge. Coupez les deux anodes (à l'extérieur) conduit à environ ¼ de pouce. orientez-les avec l'avance marquée (rouge) vers le haut. Laissez le fil central long, ils sont ensuite pliés pour se connecter au côté terre des boutons. Référez-vous aux photos.

Attachez les résistances.

N'utilisez pas simplement les résistances de valeur que j'ai faites pour les LED. J'ai acheté mes LED il y a plus d'un an, pas exactement celles énumérées ci-dessus. Comme l'efficacité des LED varie considérablement, testez les valeurs de résistance à utiliser avec vos LED en main. Choisissez des résistances pour la luminosité que vous souhaitez avec une tension de commande de 3 à 3,3 volts (3,2 V de préférence). Pour une tension d'alimentation de test, vous pouvez utiliser deux piles de 1,5 V en série ou une sortie numérique élevée à partir d'une puce Arduino alimentée de 3,3 V. Vérifiez que vous obtenez un bon vrai jaune lorsque vous conduisez à la fois les éléments rouges et verts. Coupez et soudez les résistances aux LED comme sur les photos.

Sur une unité, j'ai utilisé un bâtonnet de Popsicle comme espaceur autour des deux LED principales afin qu'elles ne dépassent pas autant. Ceci est strictement une préférence personnelle. Cela a pour effet secondaire négatif de réduire la luminosité / l'angle de vision effectif de ces LED.

Mettez de la colle le long du bord extérieur du buzzer et collez-le entre les LED principales (+ à droite). Ajustez sa position de sorte qu'il s'aligne avec le trou dans le boîtier avant qu'il ne soit fixé en place.

L'interrupteur marche/arrêt est maintenu en place en faisant fondre les poteaux des trous de montage. J'ai utilisé la pointe chauffante d'un petit tournevis pour cela.

L'écrou de la prise phono ne se fixe pas, utilisez donc de la colle chaude à l'extrémité opposée pour le fixer.

Connectez la terre le long des boutons et des LED.

Préparez un plomb plus et moins (~ 24ga. Solid) en martelant les extrémités coupées afin qu'elles soient deux fois plus larges qu'épaisses. Leurs extrémités doivent ensuite entrer facilement dans le connecteur de la batterie, mais bien ajustées. Bien sûr, si vous avez ou pouvez trouver un câble d'interconnexion destiné à s'accoupler avec votre batterie, utilisez-le par tous les moyens.

Branchez l'interrupteur marche/arrêt, la prise phono, le buzzer et les fils d'alimentation. Reportez-vous au schéma de câblage précédent.

J'ai un petit condensateur sur les connexions phono. Cela peut être omis car il s'agit d'un ajustement serré. Son but est d'empêcher le bourdonnement de faible niveau dans la sortie.

Une fois les boutons (ainsi que l'interrupteur marche/arrêt et la prise phono) entièrement câblés et soudés, collez-les à chaud pour qu'ils ne bougent pas, même après une utilisation intensive.

Étape 6: Assemblage final complet

Assemblage final complet
Assemblage final complet
Assemblage final complet
Assemblage final complet
Assemblage final complet
Assemblage final complet

Il est temps de connecter le sous-système radio MCU au boîtier avec les périphériques d'E/S.

Connectez le sous-système MCU-Radio.

Coupez les fils au besoin, en laissant juste assez de jeu pour que l'ensemble du sous-système puisse être suffisamment à l'écart pour permettre de souder les autres extrémités des fils.

Assurez-vous de connecter les fils de la LED principale aux bons rouges/verts et surtout d'obtenir la bonne relation gauche/droite. Les LED sont inversées de gauche à droite lorsque vous regardez à l'intérieur du boîtier pour savoir comment vous tenez et utilisez le communicateur. (à moins que vous n'ayez l'intention d'utiliser les unités avec le côté opposé face à vous, comme le ferait un gaucher).

Déplacez le sous-système MCU-Radio en place et appuyez dessus, en pliant les fils au besoin, dans le boîtier; vérifier qu'il n'y a pas de short. Mettez un morceau de ruban isolant en dessous si nécessaire.

Vous pouvez reprogrammer cet appareil lorsqu'il est assemblé comme indiqué dans la section suivante, avec un FDDI temporairement connecté via un câble court. Assurez-vous que le niveau Vcc du câble de téléchargement USB est de 3,3 v, pas de 5 v !

Fixez la batterie, faites glisser le dos et testez-la, étant donné que vous avez déjà téléchargé un logiciel dedans. Attention à ne pas laisser la batterie appuyer sur le bouton reset de la carte MCU.

BTW, une batterie de 300 mAh devrait durer environ 12 heures de fonctionnement, avant de devoir être rechargée.

Étape 7: Les fonctionnalités et le fonctionnement du logiciel et de l'appareil

Les fonctionnalités et le fonctionnement du logiciel et de l'appareil
Les fonctionnalités et le fonctionnement du logiciel et de l'appareil
Les fonctionnalités et le fonctionnement du logiciel et de l'appareil
Les fonctionnalités et le fonctionnement du logiciel et de l'appareil

L'autre grande partie de ce projet, dont dépend son fonctionnement, est la programmation logicielle. Mais j'ai tout réglé, donc vous n'avez pas à le faire.

Vous pouvez facilement trouver des instructions pour télécharger un croquis sur un mini Arduino Pro ailleurs. Réglez votre IDE Arduino pour le bon périphérique et la fréquence de fonctionnement, sinon vous obtiendrez un mauvais son et peut-être un mauvais comportement. Assurez-vous d'utiliser un convertisseur USB-TTL avec 3.3v (pas 5v) L'unité elle-même doit être éteinte. Vous pouvez voir que j'ai mis un en-tête à angle droit à l'extrémité du câble de téléchargement, puis je l'ai inséré dans les trous associés sur la carte MCU et j'ai laissé l'unité y pendre, en maintenant une connexion assez bonne, mais temporaire.

Vous devez également installer la bibliothèque pour le RMF69; voir "Installation de la bibliothèque RFM69" bien en bas de cette page.

Modifiez de manière appropriée (voir le segment de code ci-dessous), compilez et téléchargez le croquis Two_bit_Comm ci-joint.

// !!!! Adresses pour ce nœud. INVERSEZ LES ID POUR LE DEUXIÈME NUD !!!!

#define MYNODEID 1 // My node ID (0 à 255) #define TONODEID 2 // Destination node ID (0 à 254, 255 = diffusion)

Le logiciel profite de la version haute puissance « H » des modules radio, en utilisant initialement une puissance moyenne, puis il ne peut pas obtenir d'accusé de réception lorsqu'il essaie avec une puissance maximale. Je ne sais pas mais je m'attendrais à ce que cette opération ne présente pas de problème si l'on utilisait la version non haute puissance des radios.

Documentation opérationnelle

Initialisation, à la mise sous tension:

Lorsqu'une unité redémarre, elle initialise tout son matériel et ses logiciels et envoie ses paramètres de mode et d'option à l'autre unité, en les maintenant synchronisés. Il y a un seul bip court puis si cette première communication réussit il y a un autre bip et un voyant vert s'allume. Si à ce stade la communication échoue, il n'y a pas de deuxième bip et un voyant rouge s'allume. Si la communication échoue, il est probable que l'autre unité soit hors de portée, hors tension ou à court de batterie. Plusieurs tentatives et une augmentation de la puissance de transmission maximale sont tentées avant que l'échec ne soit accepté.

Mode 1 – Type de communication 10-20

  • Bonjour
  • Besoin d'assistance
  • AIDER!
  • Terminé ? Prêt à partir ?
  • Où es-tu ?
  • Appelle-moi.
  • Répetez s'il-vous-plait

Des conventions de réponse appropriées sont également définies. Y compris les réponses « Type de zone » et « Type de section » à « Où êtes-vous ? » demandes.

Il convient de noter que vous devez être patient lorsque l'unité affiche une réponse, car les pressions sur les boutons pendant ce temps seront ignorées.

Mode 2 – permet une forme de communication en code Morse

Les styles à clé unique et à deux clés sont pris en charge.

Le document joint "Two_bit_Comm_user_Manual" couvre tous les détails du fonctionnement fonctionnel pris en charge par le logiciel.

Conseillé: