-
Notifications
You must be signed in to change notification settings - Fork 2
Escape Game
8 dépôts github : exemples-de-montages festisol CROUS-micro-python piano visio anumby jouets developpement-voiture raspberry-pico Blog ateliers numériques Repair Café d'Orsay
12 bouteilles doivent être placées sur 12 tables pour ouvrir un coffret en résolvant des énigmes ! Comment lire à distance la position des bouteilles sur chaque table ? Pour cela, nous avons placé une puce RFID sur chaque bouteille. La puce RFID est très courante : elle équipe certaines cartes sans contact ou sert d'antivol. Nous nous amusons à réaliser sans soudure et sans programmation un lecteur de puce.
Il nous faut un mini lecteur de carte tout prêt très économique RC522, une carte sans soudure, un microprocesseur esp et un peu de fil électrique.
https://user-images.githubusercontent.com/90700891/209952272-8dfb06a0-b46a-41f5-b134-6bbaebf8358a.mp4 téléchargeable https://github.com/arnaudrco/exemples/blob/main/escape/nuid.mp4
avec un afficheur, je lis les 4 premiers chiffres "C353" du code de ma carte à puce
tm1637.mp4
Nous utilisons un lecteur de carte RFID : à chaque fois qu'il détecte une nouvelle carte il affiche son numéro d’identification "nuid"
Le lecteur se branche sur un esp 8266 sur le port (D5 D6 et D7 sont fixés par le port SPI de communication) et en choisissant D1 et D2 pour RST et SS
- RST/Reset D2 dupond blanc
- SPI SS/SDA D1 dupond noir
- SPI MOSI D7 fil jaune
- SPI MISO D6 fil noir
- SPI SCK D5 fil vert
voici le code pour lire le numéro unique d'identification de la carte NUID ici
Amusons nous à lire les 4 premiers chiffres du code : nous utilisons un petit afficheur à 7 segments qui se branche directement sans soudure en reliant CLK et DIO
CLK sur D3
DIO sur D4
La bibliothèque est ici : nous utilisons la fonction showNumberHexEx(0xffff) ; elle affiche directement en hexadécimal le nombre FFFF
Avec un peu de programmation cette fois, vous devez remplacer les codes nuid des puces posés sur les bouteilles par ceux de vos puces RFID ; j'ai rempli les codes avec 4 chiffres mais vous pouvez remplir les 8 chiffres
#define BOUTEILLE1 0xC353
#define BOUTEILLE2 0x518A
#define BOUTEILLE3 0x51FF
Pour ceux qui aime programmer, un logiciel tout prêt est disponible ici https://www.hackster.io/270906/mqtt-based-event-management-using-esp8266-and-rfid-678c54
Avec le protocole MQTT je peux vérifier que 12 objets sont bien placés
Nous allons maintenant réaliser un lecteur à distance sans programmer ; je lis à distance le code C353E4CD de ma bouteille sans fil et sans écrire une seule ligne de code ; Tasmota affiche directement le code nuid et l'envoie avec le protocole MQTT si je veux
amusez vous à installer Tasmota
https://tasmota.github.io/install/
Pour avoir une version incluant le lecteur RFID, j'ai recompilé le firmware avec les options suivantes
#define USE_SPI // Hardware SPI using GPIO12(MISO), GPIO13(MOSI) and GPIO14(CLK) in addition to two user selectable GPIOs(CS and DC)
#define USE_RC522 // Add support for MFRC522 13.56Mhz Rfid reader (+6k code)
#define USE_RC522_DATA_FUNCTION // Add support for reading data block content (+0k4 code)
#define USE_RC522_TYPE_INFORMATION // Add support for showing card type (+0k4 code)
Pour ceux qui veulent enregistrer avec une commande linux le firmware https://github.com/arnaudrco/exemples/blob/main/escape/tasmota.bin
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 tasmota.bin
Les deux entrées D1 et D2 du lecteur (RC522) sont à déclarer dans le menu configuration ; les 3 autres entrées (SPI) ont été automatiquement remplies sans que je ne fasse rien.
Tasmota affiche le code nuid toutes les 5 secondes environ sur la console
Note : pour les utilisateurs ayant une installation de domotique sur un PC ou un serveur, j'utilise MQTT
mosquitto_sub -d -t "#"
Je note l'adresse RC522UID dans la configuration MQTT
le serveur mosquitto envoie alors les informations RFID automatiquement
Client mosqsub|8393-orangepion received PUBLISH (d0, q0, r0, m0, 'tele/tasmota_552FD8/RC522UID/SENSOR', ... (87 bytes))
Je reçois alors les informations de la puce "C353E4CD" lorsque je l'approche du lecteur
{"Time":"2023-01-01T16:32:13","RC522":{"UID":"C353E4CD","Data":"","Type":"MIFARE 1KB"}}
avec EspHome, une version avec le lecteur RFID existe https://esphome.io/components/binary_sensor/rc522.html ( pas encore testé )
voici le code pour afficher le numéro unique d'identification de la carte NUID ici
- Domotique / Énergie / Objets connectés
- Lampe connectée
- Escape Game
- Lire-sa-consommation-avec-un-module-PZEM
- Lire sa consommation avec un esp relié au compteur LINKY
- un réseau sans logiciel de domotique avec MQTT
- un répéteur wifi
- les logiciels de domotique
- Pour aller plus loin pour connaître sa consommation
- Video
Liste des ateliers ici
Découvrez le Proto, l'Atelier-Textile, la ludothèque... L'univers Arduino est vaste ; découvrez des montages en quelques clics pour faire des jouets avec des arduino, les nouveaux modules raspberry pico ou avec du wifi les petits esp CROUS-micro-python. Le repair café d'Orsay est un café propice aux échanges. Les montages ne cherchent pas l'originalité et je n'ai pas donné d'explications complètes mais les sources sont données le plus possible ou des renvois sur les excellents tutos qui existent sur internet ; ce sont tous des montages qui ont été réalisés : envoyez des photos ou contactez nous et venez partager vos projets !
La progression par 5 niveaux des exemples-de-montages est importante pour aborder des projets de plus en plus ambitieux. Compléter votre boite à outils avec des Capteurs, des Afficheurs en utilisant des Instruments de mesure. Regarder les Videos et montez vos propres projets pour refaire les jeux du festival festisol et commencer à utiliser les nouveaux raspberry-pico. Voulez-vous nous aider à développer d'autres applications ? Commencez un peu de code CROUS-micro-python, participez au developpement-voiture ou pour construire des jouets Anumby