Étape 12 : Lien de programmation/serial Arduino sans fil
Si vous avez un Arduino du projet où le jury de dev est coincé à l’intérieur d’une machine, ou fixé aux chevrons ou est inaccessible d’une autre manière, une liaison sans fil de programmation/débogage vous fera économiser des tonnes de temps. Ce tutoriel est une extension sur la version de Rob. Dans ce tutoriel, aucun firmware supplémentaire ou matériel (autre qu’un condensateur) n’est nécessaire. Il suffit d’utiliser le chargeur de démarrage par défaut. J’utilise un Arduino « classique » mais bien sûr cela peut être facilement adaptée à toute version ou clone.
Vous aurez besoin de 2 kits d’adaptateur XBee, 2 modules XBee de correspondance-protocole, un câble FTDI (ou autre carte de dérivation FTDI, si on peut brancher il place correctement) ainsi qu’un 0.1uF condensateur céramique, résistance 10Kohm et transistor NPN. La résistance et le condensateur peuvent varier un peu, si vous n’avez pas des valeurs exactes
Ce tutoriel a été actualisé le 22 février 2009 pour le rendre plus robuste... ça semble fonctionner beaucoup mieux avec les correctifs !
Étape 1. Configurer l’émetteur
Un XBee agira comme l’émetteur « reset », il sera attaché à l’ordinateur via un câble FTDI et envoyer sans fil programmation des commandes pour le récepteur. Permet de définir celui-ci en premier
Connectez l’adaptateur transmetteur avec XBee modem à votre ordinateur avec le câble FTDI
Et commencez à X-CTU, tout comme dans la page Configurer.
Une fois que vous avez connecté/testé que vous pouvez communiquer avec le modem, allez dans l’onglet Configuration et lue dans la configuration actuelle
Puis définissez les paramètres suivants :
Le PAN de l’ID doit être un nombre hexadécimal à 4 chiffres qui sera uniquement utilisé par ces deux modems - pour éviter toute confusion
La valeur du débit en bauds 19200 si vous utilisez un Arduino avec un 168 puce ou âgées 328 p puce. Vous pouvez consulter la documentation de votre Arduino pour savoir quel débit en bauds à utiliser
Ou 57600 si vous utilisez un Arduino plus récente avec 328 p puce
Ensuite, nous allons définir le délai d’attente de radiocommunication. C’est ce qui détermine combien de temps à attendre avant d’envoyer les caractères plus. Nous faisons quelques « transfert en vrac » lors de l’envoi des programmes de 10K sur, alors vous voudrez probablement ce nombre élevé comme 10
Définir la broche D3 pour une entrée numérique
Et ensemble le changement d’e/s numériques détecter à FF. techniquement, vous pouvez le définir à 0 x 08, qui est le masque pour écouter uniquement D3 mais cela fonctionne certainement très bien.
Maintenant, l’émetteur est configuré pour envoyer l’état actuel de la broche D3 à n’importe quel modem écoute.
Maintenant souder dans un minuscule cavalier entre la broche RTS et D3. Cela sera liée au statut de D3 au statut de la RTS broche qui est peut être configuré pour être utilisé comme la « goupille d’arduino reset »
Enfin installer le câble FTDI afin que la broche RTS réinitialisera l’Arduino. Pour Mac/Linux ce sera déjà fait, mais si vous utilisez Windows, vous devrez faire un léger changement dans les préférences du pilote. Dans le Gestionnaire de périphériques, sélectionnez le port COM USB
Puis faites un clic droit et sélectionnez Propriétés
Cliquez sur l’onglet Paramètres du Port , puis cliquez sur avancé...
Assurez-vous que La valeur RTS sur étroite est sélectionné. Cliquez sur OK.
Étape 2. Configurer le récepteur
Nous allons maintenant configurer l’autre XBee afin qu’il écoutera les changements sur la broche D3. Connectez-le au câble FTDI et lue dans la configuration actuelle, tout comme la première.
De l’émetteur doit correspondre à l’ID de PAN
Régler le débit en bauds 19200 ou 57600 pour correspondre à l’émetteur, encore une fois
Ensuite, nous allons définir le délai d’attente de radiocommunication. C’est ce qui détermine combien de temps à attendre avant d’envoyer les caractères plus. Nous faisons quelques « transfert en vrac » lors de l’envoi des programmes de 10K sur, alors vous voudrez probablement ce nombre élevé comme 10
La valeur broche D3 à une sortie numérique, par défaut en haut.
Réglez la sortie i/o pour personnes à mobilité réduite. Cela évitera le récepteur affiche désormais la mise à jour de statut dans la ligne sérielle et plutôt juste activer/désactiver le code pin correspondant.
Enfin, définissez ligne entrée/sortie de transmettre une adresse d’entrée et FFFF. Si vous configurez les adresses uniques pour le récepteur et l’émetteur xbees, bien sûr, vous devriez changer cela pour correspondre mais FFFF correspondra à toutes les adresses.
Maintenant écrire les modifications dans le récepteur XBee.
Étape 3. Associer le récepteur
L’émetteur que XBee se connecte directement sur le câble FTDI/ordinateur et le récepteur est connecté à la cible Arduino. Ici, j’utilise une taille moitié maquette et élastique car pas beaucoup d’espace est nécessaire. Souder un fil de broche D3 sur le récepteur adaptateur XBee, de sorte que vous pouvez le brancher sur le montage d’essai. Il s’agit de la ligne de réinitialisation en sens inverse de l’émetteur Xbee.
De XBee est assez faible et n’ont pas le punch pour réinitialiser un Arduino sur leurs propres, et nous devons donc il associer à un transistor qui va faire le lourd de levage de la ligne de réinitialisation en tirant vers le bas. Peu près n’importe quel petit transistor de NPN fonctionnera très bien ici. Mettre un condensateur de 0.01UF à 0.1uF en série avec le fil de le XBee et connectez l’autre extrémité à la base de transistor NPN. L’émetteur du transistor se connecte à la terre. Mettre une résistance entre la base et l’émetteur autour de 10K. Cela va tirer vers le bas de la base pour empêcher la réinitialisation accidentelle de l’Arduino.
Le collecteur puis de l’Arduino va réinitialise la ligne. Assurez-vous que les motifs sont tous connectés et que le XBee est branché depuis ligne 5V de l’Arduino
Maintenant alimenter l’Arduino via le câble USB ou une alimentation DC. C’est tout ! Maintenant vous pouvez reprogrammer et aussi regarder la série monitor de plus de 100 pieds de distance. N’oubliez pas que le serial monitor - doit - être à la même vitesse de transmission comme programmation parce que le XBees ne peut parler qu’à leur débit en bauds configuré. Vous pouvez également utiliser AVRdude « arrière de la boîte » que je préfère parce que vous obtenez une belle petite barre de progression. Tout simplement allez dans le répertoire où votre croquis est stocké et recherchez le fichier .hex dans le sous-dossier applet