La maison Lego connectée

Dans le kit Arduino à 18€ que j’ai commandé chez Ali certains composants n’étaient pas directement utilisables car les pins (broches de raccordement ou pattes de sortie en bon français) n’étaient pas soudées à la carte électronique (shield en langage technique). Heureusement, il y a un expert du soudage électronique dans les parages et Philippe a parfaitement soudé les pins des deux cartes concernées 🙂 .

J’ai donc fabriqué un sketch (un petit programme pour Arduino, mais qui sera pour ESP32) pour utiliser un écran LCD avec 2 lignes de 16 caractères et un lecteur de tags RFID RC522. Le scénario pour utiliser ces composants électroniques, c’est le contrôle d’une alarme que l’on active avec le lecteur RFID, le suivi des divers tags (car on va donner un tag à chaque membre de la famille) et l’information sur l’état de l’alarme grâce à l’écran LCD et à une page web consultable à distance qui nous donnera des informations sur les actions liées à l’alarme.

Je n’ai rien inventé, j’ai rassemblé et adapté dans un seul petit programme (environ 180 lignes) des exemples trouvés sur internet et sur ce site en particulier (merci à Yves Pelletier).

Deux types de bus sont mis en oeuvre dans ce sketch, un bus I2C (Inter-Integrated Circuit) pour l’écran LCD et un bus SPI (Serial Peripheral Interface) pour le lecteur de tags RFID. 

Bus I2C selon Wikipedia ! mais en plus simple, le bus I2C permet de faire communiquer entre eux des composants électroniques très divers grâce à seulement trois fils : un signal de données (SDA), un signal d’horloge (SCL), et un signal de référence électrique (masse). Les utilisations possibles sont multiples, voici quelques exemples :

  • récepteurs infra-rouge (télécommande RC5)
  • capteurs de température
  • circuits audio (égaliseur, contrôle de volume, etc.)
  • drivers d’affichage LCD ou à LEDs
  • décodeurs télétexte
  • chargeurs de batterie
  • PLL pour tuner HF

Bus SPI selon Wikipedia ! c’est une autre option pour faire communiquer entre eux différents composants.

Rappel : nous avons déjà utilisé un autre bus de données pour les sondes de température (OneWire).

Première étape du projet, la construction de la maison que vous voyez sur la photo qui illustre l’article.

Pour la partie électronique, il faut respecter les connexions prévues sans oublier de rajouter des résistances sur le bus I2C pour SDA et SCL.

Câblage entre ESP32 et LCD 1602A via un bus I2C
Résistances pour le bus I2C sur SDA et SCL

 

Câblage entre ESP32 et un module RFID-RC522

Voici les bibliothèques à utiliser, ne pas oublier d’indiquer le nom de votre box et son mot de passe ainsi que l’IP fixe que vous souhaitez utiliser (ligne 43).

Pour que le système fonctionne, il va falloir récupérer l’adresse de l’écran LCD, pour cela on va utiliser un sketch qui scanne les adresses sur le bus I2C et les affiche dans le moniteur série.  Cette valeur est à rentrer en ligne 40 dans le sketch principal.

Au début de la boucle loop, on affiche dans le moniteur série le numéro du tag lu, ce qui permet ensuite de définir un traitement en fonction du tag.

Le résultat en image sur l’afficheur LCD, en fonction du tag lu sur le lecteur RFID. Il y a un tag spécial pour activer l’alarme.

Nota : l’affichage habituel est plus lisible (en lettres blanches) mais je n’ai pas réussi à obtenir un fonctionnement correct  😥  Il y a aussi de multiples types d’écrans utilisables avec le même bus I2C.

Notre programme permet aussi la consultation sur un site web des derniers événements liés au lecteur RFID.

Consultation possible à distance pour savoir qui est rentré à la maison et quand !

Voici les liens vers les 2 programmes utilisés pour faire fonctionner la maison Lego connectée 😀 

Lien vers le sketch qui scanne les adresses I2C

Lien vers le sketch Maison Lego

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *