Kit 16 en 1 Ensemble d'accessoires avec capteurs et modules
Tout un ensemble de capteurs et de modules se trouve derrière la porte numéro 19 du calendrier de l'Avent de AZ. Que pouvez-vous en faire ? Beaucoup. Juste à temps pour l'Avent, essayez de rechercher "Détecteur de Père Noël" dans votre moteur de recherche préféré. Décrire tous les capteurs et présenter des projets pour eux dépasserait le cadre de ce court article. Néanmoins, je vais essayer de couvrir tous les modules. Il existe déjà des articles de blog pour certains d'entre eux, ou des échantillons de code sont inclus dans les fiches techniques de chaque module de la boutique. Tout d'abord, voyons ce qui est inclus dans le décor. J'ai écrit quelques notes supplémentaires pour vous dans un instant :
KY-015 DHT 11 Capteur de températureMesure la température et l'humidité ; ne fournit pas de décimales ; tension de fonctionnement 3,3V et 5V |
DS1302 RealTimeClock (RTC)L'heure est maintenue sans alimentation externe grâce à une pile bouton ; connexion via une interface série ; tension de fonctionnement 3,3V et 5V |
Capteur de flammeCapteur infrarouge ; sensibilité de commutation du signal de sortie numérique réglable par potentiomètre ; tension de fonctionnement 3,3V et 5V |
Ultrasons HC-SR04Envoie une impulsion ultrasonique et mesure le temps jusqu'à l'arrivée du même signal réfléchi, ce qui permet de mesurer la distance ; tension de fonctionnement 5V ; distance de mesure 2cm - 3m ; angle de mesure environ 15 degrés ; |
Feu de signalisation LEDAucune autre résistance en série est nécessaire et donc directement utilisable sur les broches de sortie ; tension de fonctionnement 3,3V et 5V |
KY-038 Capteur de sonMicrophone pour la détection du bruit ; sensibilité de commutation du signal de sortie réglable par potentiomètre ; tension de fonctionnement 3,3V et 5V ; contribution au blog |
LDR5528 Capteur de lumièreRésistance dépendant de la lumière ; sensibilité de commutation du signal de sortie réglable par potentiomètre ; tension de fonctionnement 3,3V et 5V |
TCRT5000 Traceur de ligneLa mesure de la lumière infrarouge permet de distinguer le clair du foncé à très courte distance ; permet la mise en œuvre du suivi de ligne ; sensibilité de commutation du signal de sortie réglable par potentiomètre ; tension de fonctionnement 3,3V et 5V |
Capteur de gaz MQ-2Détecte le GPL, l'i-butane, le propane, le méthane, l'alcool, l'hydrogène et la fumée ; sensibilité de commutation du signal de sortie numérique réglable par potentiomètre ; la sortie numérique commute le signal, la sortie analogique donne les valeurs mesurées ; tension de fonctionnement 5V ; Attention : le capteur est chauffé ! |
Détection d'obstacles par infrarougeDétecte les obstacles par un signal infrarouge réfléchi ; sensibilité de commutation du signal de sortie réglable par potentiomètre ; tension de fonctionnement 3,3V et 5V |
HC-SR501 Capteur de mouvementDétecteur de mouvement PIR ; sensibilité et temps de commutation réglables par potentiomètre ; peut également être utilisé sans microcontrôleur ; ATTENTION : notez le brochage sous le capuchon en plastique - peut différer des spécifications ; tension de fonctionnement 5V ; distance de détection jusqu'à 7m ; article de blog ou autre |
Module radio 433 MHzÉmetteur et récepteur pour la transmission de signaux sur la bande de fréquence 433MHz ; émetteur FS1000A, émetteur XY-MK-5V ; Article de blog |
Capteur de pluieSortie analogique et numérique pour les valeurs mesurées ou comme commutateur ; Sensibilité pour la commutation du signal de sortie numérique réglable par potentiomètre ; Tension de fonctionnement 3,3V et 5V ; Fiche technique avec programme type |
Capteur d'humidité du sol YL-69Hygromètre pour la mesure du niveau ou de l'humidité dans la terre ; sortie analogique et numérique pour les valeurs mesurées ou comme interrupteur ; sensibilité de commutation du signal de sortie numérique réglable par potentiomètre ; tension de fonctionnement 3,3V et 5V ; la tension de sortie diminue lorsque le niveau de l'eau monte. |
SW520D Détecteur d'inclinaisonCapteur d'angle ; détecte les changements d'inclinaison ; fonctionne avec des interrupteurs à bille ; tension de fonctionnement 3,3V et 5V ; sensibilité de commutation du signal de sortie numérique réglable par potentiomètre ; |
SW420 Capteur de vibrationsDétecte les vibrations ; fonctionne avec des interrupteurs à bille ; tension de fonctionnement 3,3V et 5V ; sensibilité de commutation du signal de sortie numérique réglable par potentiomètre ; |
En combinaison avec des microcontrôleurs (des portes précédentes du calendrier de Noël AZ, entre autres), ils peuvent mesurer la température, l'humidité de l'air et du sol, les gaz, les niveaux d'eau, les vibrations, les mouvements, la lumière, le son, le feu, les distances par rapport aux obstacles, enregistrer l'heure, afficher les niveaux de danger via les feux de signalisation et transmettre les données à un autre appareil par radio. C'est déjà très vaste.
La plupart des modules émettent un signal numérique comme un interrupteur lorsque quelque chose de correspondant a été détecté. La sensibilité de l'interrupteur peut être réglée à l'aide du potentiomètre du module. Certains modules ont également une sortie analogique. Si celui-ci est connecté à l'entrée analogique du microcontrôleur, une valeur mesurée peut être acquise via le convertisseur analogique-numérique. Avec le Nano ou Uno, il s'agit de la plage de valeurs de 0 à 1023.
Commutateurs numériques
Ces modules ne nécessitent pas de bibliothèques supplémentaires. La connexion à un microcontrôleur est en grande partie la même. Faites attention à la tension de fonctionnement. Avec une alimentation électrique de 5V, vous devriez être sur la bonne piste. La broche plus de l'alimentation électrique peut être nommée VDD, VCC, (+) ou aussi V+, la broche du signal numérique OUT, D0 ou S. Le schéma suivant montre comment connecter le NANO aux modules de capteurs qui n'ont qu'une sortie de commutation numérique :
Vous pouvez l'utiliser pour les modules suivants:
- Détecteur de flamme
- Capteur de lumière LDR
- Traqueur de lignes
- Détection d'obstacles IR
- Capteur d'inclinaison
- Capteur de vibrations
- Détecteur de mouvement PIR
Voici un petit croquis pour l'IDE Arduino :
int digiPin = 4;
int LEDPin = LED_BUILTIN;
void setup() {
pinMode(digiPin, INPUT);
pinMode(LEDPin, OUTPUT);
}
void loop() {
if (digitalRead(digiPin)) {
digitalWrite(LEDPin, LOW);
}
else {
digitalWrite(LEDPin, HIGH);
}
}
La LED embarquée sur le NANO ou l'Uno est basculée en fonction de l'état du module du capteur. Les sorties numériques de la plupart des modules sont peu actives, donc elles sont HAUTES par défaut et BASES lorsqu'elles sont actives.
Le capteur de vibrations doit être programmé de manière légèrement différente. Vous trouverez un exemple de croquis dans la fiche technique, qui est également reliée à la boutique AZ.
Valeurs analogiques supplémentaires
Pour les modules qui ont également une sortie analogique, étendez le circuit comme suit:
Les modules avec un signal analogique supplémentaire sont :
- Capteur de son
- Capteur de gaz
- Capteur de pluie
- Capteur d'humidité du sol
Remarque : Certains des modules ont un LED d'état, de sorte que la fonction peut être testée sans programmation seulement avec la connexion d'une alimentation électrique.
Pour lire le signal analogique, nous ajoutons une ligne au code source :
int digiPin = 4;
int LEDPin = LED_BUILTIN;
void setup() {
pinMode(digiPin, INPUT);
pinMode(LEDPin, OUTPUT);
Serial.begin(115200);
}
void loop() {
if (digitalRead(digiPin)) {
digitalWrite(LEDPin, LOW);
}
else {
digitalWrite(LEDPin, HIGH);
}
Serial.println(analogRead(A0));
}
Pour la sortie sur le moniteur, ouvrez le moniteur série de l'IDE Arduino (CTRL + SHIFT + M).
Remarque : j'ai utilisé un briquet pour tester le capteur de flamme et le capteur de gaz. De telles expériences ne doivent donc pas être réalisées par des enfants sans surveillance !
Avec ces deux simples croquis, nous pourrions déjà essayer 11 des modules. Pour le reste, il vous faut soit un autre circuit, soit même une bibliothèque supplémentaire.
Module de feux de circulation
Ce composant peut être utilisé, par exemple, comme complément optique pour le capteur de niveau de gaz ou d'eau. Dans l'article du blog sur le moniteur de la plante, il est également montré comment utiliser les trois LED comme avertissement. On change le code source pour utiliser trois sorties au lieu d'une sortie numérique. Ensuite, vous utilisez le signal analogique comme référence et vous divisez la plage de valeurs en trois parties, en attribuant à nouveau chacune à une des couleurs.
Les modélistes ferroviaires pourraient facilement utiliser ce feu pour le trafic routier miniature. Voici le schéma et un exemple de croquis (En raison de l'absence de composants), nous n'avons ici qu'une représentation schématique du feu de circulation :
- G = vert
- Y = jaune
- R = rouge
- GND = Terre (masse/ pôle négatif)
Télécharger le croquis des feux de signalisation
L'inversion des phases des feux de circulation fonctionne sans blocage. Vous pouvez donc ajouter un bouton, par exemple, pour allumer le feu de circulation pour les piétons. La durée des phases respectives peut être fixée par les valeurs des intervalles.
HC-SR04 Capteur à ultrasons
Pour ce module, j'aimerais me référer aux articles du blog Simple Sonar on TFT and Proximity Sensor with Ultrasound and Servo Control (Automatic Trash) d'Albert Vu, qui décrivent comment configurer le capteur. Si vous utilisez plus d'un de ces capteurs, voici la note que les ondes sonores interfèrent entre elles.
Module radio 433 MHz
Il existe également pour ce module un article du blog intitulé "Was funkt denn da ? 433Mhz Module de Moritz Spranger." Mais pour cela, vous avez besoin de deux microcontrôleurs chacun pour envoyer et recevoir le signal radio.
DHT11 Capteur de température et d'humidité
Pour la porte numéro 15 du calendrier de l'Avent, je vous avais présenté le capteur DHT22. Il fonctionne de manière très similaire. Il fournit des valeurs de résolution plus élevées (décimales) et des plages de valeurs plus larges. La programmation est par ailleurs la même. La bibliothèque DHTNEW, que j'y ai présentée, reconnaît automatiquement le type de capteur. Vous pouvez donc utiliser le même sketch, ou essayer l'exemple fourni dhtnew_minimum. Si vous avez des problèmes avec la bibliothèque, essayez la bibliothèque SimpleDHT de Winlin. Des exemples explicites de croquis pour le DHT11 sont inclus.
DS1302 Module horloge temps réel série RTC
Pour le fonctionnement de ce module, vous avez besoin d'une pile bouton CR2032 3V. Cela garantit que l'heure est mémorisée même si aucune alimentation électrique externe n'est connectée. Avec un microcontrôleur, l'heure peut être réglée et récupérée. Cela permet de stocker le temps approprié pour les données du capteur ou de lire les données du capteur en fonction de l'heure.
Vous pouvez également trouver le module séparément dans l'AZ-Shop. Vous y trouverez des fiches techniques, des schémas et des bibliothèques pour Arduino IDE et Raspberry Pi.
Le module est connecté comme suit :
Vous pouvez utiliser les mêmes broches sur le microcontrôleur Nano:
Module RTC |
Uno / Nano |
VCC |
+ 5V |
GND |
GND |
CLK |
6 |
DAT |
7 |
RST |
8 |
J'ai installé la bibliothèque Rtc by Makuna dans la gestion de la bibliothèque de l'IDE Arduino:
D'autres bibliothèques sont disponibles. Assurez-vous dans votre recherche que le module DS1302 est pris en charge et que vous pouvez idéalement déterminer les broches vous-même. C'est possible ici.
Vous pouvez utiliser d'autres modules de RTC avec la même bibliothèque. La programmation du microcontrôleur et d'autres informations sont disponibles sur Github. La documentation est très bonne à mon avis.
Un exemple de croquis fourni, nommé DS1302_Simple, peut servir de base à vos propres projets. Modifiez cette ligne comme suit:
ThreeWire myWire (6,7,8); // IO, SCLK, CE
et chargez le programme sur le microcontrôleur que vous avez sélectionné. Le moniteur série doit alors indiquer la date et l'heure qui ont été lues sur votre système et écrites au RTC. Les sources d'erreur possibles peuvent être un mauvais câblage ou une batterie vide ou manquante.
Si tout fonctionne correctement, l'heure du système devrait être affichée au début pendant le processus de compilation, puis la date et l'heure actuelles toutes les 10 secondes.
Conseil : si vous voulez afficher ces informations sur un écran LCD, regardez dans la fonction printDateTime() à la fin du croquis. Là, une chaîne est générée qui est produite en un seul morceau. Vous pouvez afficher la même chaîne de caractères à l'écran. Vous pouvez aussi composer la chaîne de caractères différemment selon vos propres souhaits et la sortir ensuite.
Nous vous souhaitons une bonne saison de l'Avent.
Andreas Wolter
pour AZ-Delivery Blog