Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Combien de fois dans vos applications avez-vous un capteur ou un actionneur loin de vous ? Dans quelle mesure pourrait-il être confortable d'utiliser un seul appareil maître à proximité de votre ordinateur pour gérer différents appareils esclaves connectés via un réseau wi-fi ?
Dans ce projet, nous verrons comment configurer un réseau wi-fi, composé d'un module maître et d'un ou plusieurs appareils esclaves. Chaque appareil sera piloté par un Arduino Nano et un module sans fil NRF24L01. Enfin pour montrer la faisabilité du projet nous réalisons un réseau simple où un module esclave peut détecter une couleur et transmettre son modèle RVB au module maître.
Étape 1: Le protocole de communication
L'idée de base de ce projet est la création d'un réseau composé de modules capteurs et de modules actionneurs, piloté par un module maître qui communique avec l'esclave via une connexion wi-fi.
Le module maître est connecté à l'ordinateur via une communication série et il offre une petite interface qui permet à l'utilisateur de rechercher les appareils connectés, d'obtenir la liste des opérations possibles pour chaque appareil et d'agir sur eux. Ainsi le module maître n'a pas besoin, a priori, de savoir, combien et quel type d'appareils sont connectés au réseau mais il est toujours capable de scanner et de retrouver les appareils et d'en recevoir des informations comme leurs configurations ou leurs caractéristiques. L'utilisateur, à chaque fois, peut ajouter ou supprimer les modules du réseau et n'a besoin que d'une nouvelle analyse du réseau pour commencer à communiquer avec les nouveaux appareils.
Dans ce projet nous montrons un exemple simple de réseau composé d'un module maître et de deux esclaves, le premier est un "Module Led", ou plutôt un module simple, qui peut allumer une led (rouge ou verte), éteindre ces leds ou envoyer des informations sur leur statut au maître. Le second est un "Sensor Color Module" qui, grâce au capteur de couleur (TCS3200), est capable de détecter une couleur et de renvoyer son modèle RVB s'il reçoit une commande d'un utilisateur (via un bouton) ou une requête du maître module. En résumé, chaque appareil utilisé dans ce projet est composé d'un module sans fil (NRF24L01) et d'un Arduino Nano qui gère le module sans fil et les autres opérations simples. Tandis que le "Module Led" contient deux leds supplémentaires et le "Module Couleur Capteur" contient le capteur de couleur et un bouton.
Étape 2: Le module maître
Le module le plus important est le "Master Module" comme dit, à l'aide d'une petite interface intuitive, il gère la communication entre l'utilisateur et les modules esclaves connectés au réseau.
Le matériel du module maître est simple et il est composé de peu de composants, en particulier il y a un Arduino Nano qui gère la communication série avec l'ordinateur et donc avec l'utilisateur, et la communication avec les autres appareils. Ce dernier est créé par le module sans fil NRF24L01, qui est connecté à la carte Arduino à l'aide d'une communication SPI. Enfin, il y a deux leds pour donner à l'utilisateur un retour visuel sur les données entrantes ou sortantes par le module.
La carte électronique du module maître a une taille relativement petite, environ 65x30x25 mm, elle peut donc être facilement insérée dans un petit boîtier. Voici les fichiers stl de la box (partie supérieure et inférieure).
Étape 3: Le module LED
Le "module led" monte l'Arduino Nano le module NRF24L01 et quatre leds. L'Arduino et le module NRF24L01 sont utilisés pour gérer la communication avec le module maître, tandis que deux des LED sont utilisées pour donner à l'utilisateur un retour visuel sur les données entrantes et sortantes et les deux autres LED sont utilisées pour les opérations normales.
La tâche principale de ce module est de montrer si le réseau fonctionne, permettant à l'utilisateur d'allumer l'une des deux leds, de les éteindre ou d'obtenir leur état actuel. En particulier ce module est une sorte de preuve de concept, ou plutôt nous avons décidé de l'utiliser pour montrer comment il est possible d'interagir avec des actionneurs et en utilisant des leds de couleur différente il est possible de tester le fonctionnement du module couleur.
Étape 4: Le module de capteur de couleur
Ce dernier module est un peu plus complexe par rapport à l'autre, en fait, il contient le même matériel que les autres (Arduino Nano, module NRF24L01 et les deux leds de retour visuel) et d'autres matériels pour détecter la couleur et gérer la batterie.
Pour détecter une couleur et restituer son modèle RVB, nous décidons d'utiliser le capteur TCS3200, il s'agit d'un capteur petit et bon marché couramment utilisé dans ce genre d'applications. Il est composé d'un réseau de photodiodes et d'un convertisseur courant-fréquence. La matrice contient 64 photodiodes, 16 ont un filtre rouge, 16 un filtre vert, 16 ont un filtre bleu et les 16 dernières sont claires sans filtre. Toutes les photodiodes de la même couleur sont connectées en parallèle et chaque groupe peut être activé par deux broches spéciales (S2 et S3). Le convertisseur courant-fréquence renvoie une onde carrée avec un rapport cyclique de 50 % et une fréquence directement proportionnelle à l'intensité lumineuse. La fréquence de sortie pleine échelle peut être mise à l'échelle par l'une des trois valeurs prédéfinies via deux broches d'entrée de commande (S0 et S1).
Le module est alimenté par une petite batterie Li-Po à deux cellules (7,4 V) et il est géré par l'Arduino. En particulier l'une des deux cellules est connectée à une entrée analogique de celle-ci, et cela permet à l'Arduino de lire la valeur de la puissance de la cellule. Lorsque le niveau de puissance de la cellule tombe en dessous d'une certaine valeur, pour préserver la batterie, l'Arduino allume une led, qui avertit l'utilisateur d'éteindre l'appareil. Pour allumer ou éteindre l'appareil, il y a un interrupteur qui relie la broche positive de la batterie à la broche Vin de la carte Arduino ou à un connecteur qui peut ensuite être utilisé par l'utilisateur pour charger la batterie.
Quant au module maître, le module couleur du capteur a une petite taille (40x85x30) et il a été inséré à l'intérieur d'une boîte imprimée en 3D.