Accueil A propos o o astuces WordPress o o o o o o Raspberry Pi, Ar
Accueil A propos o o astuces WordPress o o o o o o Raspberry Pi, Arduino, domotique o o o o o Art numérique Digital o o o o Un détecteur de mouvement et de luminosité Arduino, avec affichage LCD par Anne-Laure | 21 Oct 2017 | arduino | 4 commentaires Je veux depuis longtemps détecter le niveau de lumière dans mon garage pour déclencher automatiquement l’éclairage quand quelqu’un passe et qu’il fait trop sombre. Je me suis enfin décidée à réaliser un prototype. Je l’ai fait en deux temps : en simulation, en réel sur breadboard. Dans ce premier article de la série Arduino : détection de lumière et de mouvement, j’explique les étapes de simulation puis de montage en prototype. D’autres articles expliqueront comment communiquer les données à un serveur, et comment actionner une lampe à partir de ce montage. Table des Matières [Cacher] 1 Ce que je veux obtenir 2 Un montage simulé sur ordinateur ! o 2.1 Processus d’expérimentation par simulation o 2.2 Le code 3 Les composants o 3.1 La liste des composants o 3.2 Choix de la résistance associée à la cellule photoélectrique o 3.3 Choix de l’alimentation 4 Passage à la phase prototype o 4.1 Préparer le montage o 4.2 Le code o 4.3 Vérifier le fonctionnement 5 Remplacement du potentiomètre 6 Et maintenant ? Ce que je veux obtenir Je veux un système qui, lorsqu’il détecte une présence exécute les actions suivantes : afficher “motion detected” sur l’écran LCD ; afficher la luminosité mesurée sur l’écran LCD ; émettre un son pour indiquer qu’une présence a été détectée ; allumer une LED rouge pour indiquer qu’une présence a été détectée. Lorsqu’aucune présence n’est détectée, le montage ne fait rien d’autre que d’afficher “Waiting for motion”. Un montage simulé sur ordinateur ! J’ai longtemps utilisé https://circuits.io/ pour simuler des montages avec Arduino. Mais maintenant il est intégré à Tinkercad (fonction circuits). Processus d’expérimentation par simulation J’ai procédé par itérations successives : 1. placer un arduino et un détecteur de mouvement 2. ajouter un écran LCD ; 3. Ajouter une LED rouge ; 4. Ajouter une cellule photoélectrique ; 5. Ajouter un haut-parleur ; 6. Faire défiler le texte d’attente pour économiser l’écran. A chaque étape, je valide le code avec la fonction “start simulation” inclue dans Tinkercad. Toutes ces étapes sont finalisées sur Tinkercad, dans le circuit “Arduino with PIR and light sensor, LCD display and speaker“ Le code Le code complet est téléchargeable : en version txt : Arduino, mouvement, luminosité, LCD et speaker : le code TXT en version ino : Arduino, mouvement, luminosité, LCD et speaker : le code ARDUINO Dans le code, on notera simplement que : 1. le détecteur de lumière répond par une valeur analogique de 0 à 1023 ; 2. le détecteur de présence est soit HIGH, soit LOW. 3. L’écran LCD est compatible avec le driver Hitachi HD44780 (comme la plupart des écrans avec 16 broches) et utilise la bibliothèque LiquidCrystal.h . 4. On utilise lcd.print(photocellReading); et surtout pas lcd.write(photocellReading); pour afficher la valeur de résistance photoélectrique. La deuxième commande aurait affiché le caractère ASCII correspondant à la valeur de photorésistance (par exemple “a” si la photorésistance avait une valeur de 97). Les composants J’avais certains composants et j’ai commandé les autres. Je n’indique la source des composants que pour ceux que j’ai commandé récemment (octobre 2017). La liste des composants Nom Quté Source / commentaire P Arduino Uno R3 1 Photorésistance 1 Sur Amazon.fr ici 5 Capteur de mouvement (PIR Sensor) 1 Sur Amazon.fr ici 7 écran LCD 16 x 2 1 Sur Amazon.fr ici. Attention, les broches ne sont pas fournies avec, il faut en souder. 5 Résistance 1 kΩ 1 marron / noir / noir / marron, pour l’écran LCD Potentiomètre 1 Remplacé plus tard par une résistance 1.5kΩ Résistance 10 kΩ 1 marron / rouge / noir / noir pour la photorésistance LED rouge 1 Résistance 220 Ω 1 rouge/rouge/marron, pour la LED rouge Haut-parleur 1 Je l’avais démonté d’un appareil usagé. Tous mes composants (ou presque) sont prêts : Arduino, mouvement et luminosité : Les composants (manque led rouge) Sur la photo, il manque la led rouge et le haut-parleur. On notera aussi que je me suis trompée pour la résistance de 10KΩ, qui ne faisait que 1kΩ en fait. J’ai corrigé dans le montage. Choix de la résistance associée à la cellule photoélectrique J’ai lu attentivement ce tutoriel d’Adafruit. Il explique en anglais comment choisir la valeur de la résistance “pull-down” selon l’environnement lumineux que l’on a. On choisira une valeur faible (1 KΩ) si on veut différencier des niveaux importants de lumière. On préférera une résistance de 10 KΩ si on veut différencier des ambiances sombres, ce qui est mon cas. Choix de l’alimentation L’Arduino peut être alimenté en USB en 5V mais il est préférable de l’alimenter en 7-12V par l’intermédiaire de la prise jack. Pour le prototype, j’ai utilisé une alimentation 12V (DC, attention à ne pas choisir une alimentation en courant alternatif) et 500 mA. Passage à la phase prototype Il nous faut monter en réel ce schéma (sur Tinkercad ici) : Le schéma complet du montage Arduino + détecteur de mouvement + détecteur de luminosité + écran LCD + LED rouge + haut-parleur Préparer le montage Le schéma est assez complexe à réaliser. J’ai donc préparé trois éléments pour être certaine de ne pas me tromper et j’ai réalisé les cablages dans l’ordre de ces trois documents : Elément 1 : câblage de l’arduino De A Couleur 5V breadboard rouge GND breadboard noir A0 Photorésistance mauve 2 RS LED marron 3 E LED gris 4 DB4 LED bleu clair 5 DB5 LED violet 6 DB6 LED vert 7 DB7 LED orange 8 PIR jaune 11 LED bleu vif Elément 2 : câblage de l’écran LCD 16×2 : De A Couleur GND breadboard noir VCC breadboard rouge V0 Potentiomètre orange RS Arduino 2 marron RW GND breadboard noir E Arduino 3 gris DB0 / DB1 / DB2 / DB3 / DB4 Arduino 4 bleu clair DB5 Arduino 5 violet DB6 Arduino 6 vert DB7 Arduino 7 orange LED 5V breadboard rouge LED Résistance 1 kohm noir Elément 3 : cablage du breadboard (plaque de prototypage) : Arduino, mouvement et luminosité : préparation branchements Le code J’ai utilisé ce code Arduino, mouvement, luminosité, LCD et speaker : le code ARDUINO. Vérifier le fonctionnement Arduino, mouvement et luminosité : mouvement détecté, luminosité mesurée Arduino, mouvement et luminosité : en attente de mouvement Ca fonctionne comme je veux. Et l’affichage défile lorsqu’il est en attente. Remplacement du potentiomètre J’ai mesuré avec un ohmmètre la valeur de la résistance du potentiomètre correspondant à un affichage correct sur l’écran LCD (contraste permettant la lecture). J’ai obtenu 1.2 KΩ. J’ai enlevé le potentiomètre et mis une résistance de 1.5 KΩ (pas de 1.2 sous la main), qui fonctionne très bien. J’ai mis une borne de la résistance sur GND, supprimé le fil rouge pour le VCC du potentiomètre et mis l’autre borne de la résistance sur le fil orange qui va à V0 de l’écran LCD. Le code qui inclut le potentiomètre n’a pas besoin d’être changé puisque le potentiomètre n’était pas lu par l’Arduino. Et maintenant ? Il va falloir que je place ce prototype dans un boitier et que je réalise les soudures pour rendre les branchements définitifs. Mais je veux aussi pouvoir envoyer les données mesurées à un serveur externe. Ces projets feront l’objet d’articles à venir, dans cette série Arduino : détection de lumière et de mouvement. 4 Évaluation de l'article S’abonner {}[+] 4 COMMENTAIRES le plus récent Terra 2 années il y a Bjr merci pour ce tuto j’ai un problème quand je veux simuler ton schéma sur un autre logiciel du nom de proteus pour tant j’ai suivi tes instructions à la lettre. stp le composant rond et bleue qu’on voit sur ton montage à plaque à essai là c’est quoi? 0 0 Répondre Voir les réponses (1) hicham 2 années il y a bonjour je doit utiliser un capteur jour nuit pour capter la lumière d’une voiture sur un parking extérieur mais je ne vois comment pouvoir le détecter avec la lumière extérieur (soleil..) et je doit faire la même chose la nuit en inversant le fonctionnement mais je ne vois pas comment faire pourriez vous m’aidez sil vous plait ? 0 0 Répondre Voir les réponses (1) L e s a u t re s a rt ic l e s d e ce tt e sé ri e Un détecteur de mouvement et de luminosité Arduino, avec affichage LCD R e ch er ch er L e s c at ég o r ie s d ’a rt ic l e Art numérique (16) astuces rapides (25) Code ! (56) o App Inventor (3) o css (6) o uploads/S4/ accueil.pdf
Documents similaires










-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 09, 2021
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.4632MB