08.05.2018 Views

Elektor Electronics 2018 03 04

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

tâche respective ; cela permet aux<br />

croquis de rester très simples.<br />

Figure 3. Ma raquette de badminton va enfin servir à quelque chose !<br />

Croquis de l’émetteur<br />

L’émetteur utilise la bibliothèque NewPing<br />

pour piloter le capteur ultrasonique. Cette<br />

bibliothèque se charge du « sale boulot »<br />

et retourne une distance en centimètres.<br />

Après avoir créé un objet sonar, il sufft<br />

d’appeler ping_cm. Dans ce croquis, la<br />

fonction est appelée huit fois d’afflée<br />

à intervalle de 100 ms et la moyenne<br />

des mesures est calculée. La valeur<br />

obtenue est stockée dans un tampon<br />

avec l’horodatage et le code spécial<br />

(identificateur de l’émetteur).<br />

La bibliothèque VirtualWire se charge<br />

d’envoyer les données au module<br />

émetteur FSK à 433 MHz, relié à la<br />

broche 12 de l’Arduino. Après avoir<br />

configuré la bibliothèque, l’envoi de<br />

données se fait tout simplement en<br />

appelant vw_send puis en attendant la<br />

fin de la transmission avec vw_wait_tx.<br />

La procédure décrite ci-dessus est<br />

répétée chaque seconde.<br />

LISTE DES<br />

COMPOSANTS<br />

avec chaque mesure du niveau d’eau. À<br />

chaque détection d’un signal, le récepteur<br />

tente d’extraire le mot de code pour le<br />

comparer à une valeur connue. Si les<br />

deux correspondent, le niveau d’eau reçu<br />

est affché sur son LCD (fig. 2).<br />

Comme il n’y a pas de fil entre l’émetteur<br />

et le récepteur, ce dernier n’a aucun moyen<br />

de savoir si l’émetteur cesse d’émettre, par<br />

ex. à cause d’une panne d’alimentation.<br />

Pour contourner ce problème, un<br />

horodatage ou timestamp (comptant les<br />

secondes de 0 à 59) est inclus dans le<br />

message transmis ; sa valeur est visible<br />

à la droite de l’afficheur. Si la valeur<br />

n’évolue pas, c’est probablement parce<br />

que la transmission a cessé de fonctionner.<br />

La LED reliée à la broche 13 de l’Arduino<br />

cessera alors de clignoter.<br />

Alimenté en 5 V et avec les antennes<br />

que j’ai utilisées, l’émetteur possède<br />

une portée atteignant 400 m sans effort.<br />

Pour accroître la portée, la broche V CC<br />

du module émetteur pourra être reliée<br />

à une tension de 12 V : la plupart de ces<br />

émetteurs FSK acceptent de 4 à 12 V.<br />

Quelques mots sur le logiciel<br />

Le logiciel de ce projet comprend deux<br />

croquis Arduino, un pour l’émetteur et<br />

l’autre pour le récepteur. Tous deux<br />

utilisent abondamment des bibliothèques<br />

à sources ouvertes pour accomplir leur<br />

Croquis du récepteur<br />

Côté récepteur, ce n’est pas plus<br />

compliqué. On utilise toujours la<br />

bibliothèque VirtualWire, mais en mode<br />

réception. La bibliothèque est configurée<br />

pour écouter un module récepteur relié<br />

à la broche 2 de l’Arduino. La fonction<br />

vw_rx_start doit être appelée pour<br />

mettre la bibliothèque et le module en<br />

mode d’écoute. Une fois dans ce mode,<br />

un appel à vw_get_message se chargera<br />

du reste. Lorsque des données sont<br />

disponibles, elles sont lues et copiées<br />

dans le tampon de réception ; en<br />

l’absence de données, rien ne se passe.<br />

Chaque message reçu est vérifié :<br />

1. Possède-t-il le bon nombre<br />

d’octets ?<br />

2. Contient-il le mot de code décrit<br />

plus haut ?<br />

3. La valeur est-elle supérieure ou<br />

égale à zéro ?<br />

Si toutes ces conditions sont vraies, la<br />

valeur est affchée sur le LCD. L’horodatage<br />

du message est aussi extrait et affché.<br />

Maintenant standard dans le monde<br />

Arduino, la bibliothèque LiquidCrystal<br />

gère le LCD. La LED s’illuminera lorsque<br />

l’affcheur est mis à jour : vous pourrez<br />

repérer les mises à jour de loin.<br />

86 mars/avril <strong>2018</strong> www.elektormagazine.fr

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!