Commande Client

semaine 8

Nous voici déjà dans l'avant-dernier atelier de la formation (sniff...). Nous entrons maintenant dans le "Money Time", les amateurs de basket apprécieront.

La semaine précédente, 3 groupes ont été désignés pour réaliser des projets pour des associations ou administrations. Mon groupe est constitué de Christine, Julie et puis moi. Vendredi nous sommes allés au contact de notre client "123 Soleil", une ludothèque au coeur de Montreuil pour une visite informelle.

La rencontre Client ( 3-4 place Jean-Pierre Timbaud, 93100 Montreuil )

Visite qui s'est révélée instructive puisqu'il est ressorti de ce brainstorming pas moins de 4 idées de collaboration. Pour faire court, ce lundi à 17H, ont finalement été retenus 2 projets:

  • Travailler à un porte-carte afin de remédier à une double problématique de maintien des nombreuses cartes durant une partie, suivant que l'on soit un enfant ou un Sénior. Une conception purement artisanale et originale a été proposée par Christine.
  • Réfléchir à une solution technologique pour remédier à un standard téléphonique inaudible dans la pièce principale après 16h30. J'ai trouvé le défi intéressant et me suis penché sur la question aussitôt.

123 Soleil: un espace de jeu sympathique pour les 7 à 77 ans

Comment signaler un appel téléphonique dans la pièce d'à côté?

Il y a évidemment une 1ère solution efficace et gratuite: le transfert d'appel. Proposition immédiatement rejetée par notre interlocutrice Nathalie la directrice de la structure, pour une raison simple:

L'usage des téléphones est strictement interdit aux utilisateurs comme au personnel en cette enceinte, pour des raisons évidentes de sécurité et d'attention des surveillants. La solution est clairement technologique, il y a du "sans fil" quelque-part mais comment faire?

Finalement le week-end de réflexion passé a porté ses fruits:

Le NRF24L01 2.4GHz

Derrière ce nom barbare se cache une technologie cousine du wifi, au moins aussi efficace (voire plus) et avec moins de contraintes protocolaires. Il nous faut donc pour un premier test:

Des "Transceivers"

Deux petits modules qui fonctionnent par paire et qui ont la particularité suivant leur implémentation d'interagir en émetteur ou bien en récepteur. D'ou leur appellation de "transceiver". Un module pour l'émetteur et un autre pour le... récepteur! (c'est bien y'en a 2 qui suivent...)

Partie émetteur (en plus d'un transceiver)

Un capteur de son

De chez Keyestudio ici

Un bouton poussoir 4 broches

Le plus basique avec sa résistance de 10 kΩ.

Quelques câbles Dupont mâle-mâle

Idéalement de 10 cm pour une question d'encombrement

Et puis... une carte Arduino Nano

Super! Une nouvelle bébette pour piloter l'ensemble en émission.

Arduino nano ou son générique CH340G

Specs Arduino nano

Partie récepteur (en plus d'un autre transceiver)

Une carte Arduino Uno

Tiens, ça faisait longtemps.

Arduino Uno

Une Led

Celle-ci est très bien

1er sketch Blink: (clignotement de la Led interne) pour tester la carte brute

Comme d'habitude, il faut aller récupérer et installer les bibliothèques ad hoc de la carte (CH340) dans l'Arduino Ide avant tout début de tentative de code puis indiquer (à l'Ide) sur quel port l'on travaille. Dans notre cas, c'est le port 3. Etrangement mon ordi (sous Win 8) l'a reconnu immédiatement.

Téléversement

Ensuite petite subtilité, téléverser le sketch "blink" des exemples en mode processeur "ATmega 328P Old Bootlogger"

Sketch "Blink"

Si tout s'est bien passé, on obtient un premier "blink" comme ceci.

La Led interne clignote sur le pin 13 par défaut comme pour la plupart des cartes Arduino.

Passons maintenant au test du nrf ou wifi-direct, en clair la transmission sans-fil des 2 transceivers.

2ème sketch: Blink à distance pour tester le nrf

Maintenant nous allons tester le wifi-direct. Principe de fonctionnement: En appuyant sur le bouton-poussoir de l'émetteur et en le maintenant enfoncé, le récepteur devrait faire clignoter sa Led. En relâchant le bouton, la Led s'éteint. Let's go!

Les branchements (Youpi!)

2 difficultés

  1. A ce stade de la formation, plus le nombre de pins à connecter dans un montage augmente plus grande est ma hantise de griller un composant par inadvertance. Ici il y en a 7 pour le transceiver (comme indiqué sur le schéma suivant) plus deux pour le bouton poussoir auquel il faut ajouter une résistance de 10 kΩ.
  2. Et c'est la 2nde difficulté: Les transceivers fonctionnant en binôme, pour constater un résultat de transmission, il faut réitérer le montage sur le récepteur qui embarque cette fois-ci une Arduino uno.

Branchements côté récepteur

Heureusement grâce à cet excellent tutoriel en Anglais (brainy-bits.com) le montage est plutôt aisé. Je crois qu'à la fin de la formation je serai bilingue.

Il n'y a qu'à reprendre les mêmes couleurs de connectique de ce schéma.

A la place du bouton poussoir du montage précédent, prévoir une Led sur le pin 5.

Voilà, maintenant que le montage des deux modules est prêt, téléversons les sketchs respectifs dans les Arduinos. L'opération peut se faire aisément alors que les 2 cartes sont connectées en USB à l'ordinateur, prenons simplement bien soin de préciser dans l'Ide "qui reçoit quoi" et sur quel port.

Sketch de l'émetteur

ludoSenderSound.txt

Sketch du récepteur


ludoReceiver.txt

Le contenant

Je choisis une boite sobre et discrète en bois pour contenir le montage. Ne manquent plus que les trous pour l'alimentation avec un chargeur Usb classique, pour le transceiver et enfin pour une vitre opaque qui affichera le signal lumineux.

Pour le reste du contrat client, c.f ma collègue Christine Cultier.