Table des matières:

Compteur de lumière Arduino DIY avec capteur BH1750 : 6 étapes (avec photos)
Compteur de lumière Arduino DIY avec capteur BH1750 : 6 étapes (avec photos)

Vidéo: Compteur de lumière Arduino DIY avec capteur BH1750 : 6 étapes (avec photos)

Vidéo: Compteur de lumière Arduino DIY avec capteur BH1750 : 6 étapes (avec photos)
Vidéo: Arduino - Contrôler la luminosité des LED avec un potentiomètre 2024, Juillet
Anonim
Image
Image
Compteur de lumière Arduino DIY avec capteur BH1750
Compteur de lumière Arduino DIY avec capteur BH1750

Dans ce Instructable, je vais vous montrer comment construire un posemètre avec un grand écran LCD Nokia 5110 à l'aide d'Arduino.

Construire un posemètre est une excellente expérience d'apprentissage. Lorsque vous aurez fini de construire ce projet, vous aurez une meilleure compréhension du fonctionnement des posemètres et vous verrez en action à quel point la plate-forme Arduino peut être puissante. Avec ce projet comme base et l'expérience acquise, vous pourrez facilement construire des projets plus complexes à l'avenir. Vous pouvez utiliser ce projet pour surveiller les conditions d'éclairage de votre environnement de travail, de vos plantes, etc. Sans plus tarder, commençons !

Étape 1: Obtenez toutes les pièces

Obtenez toutes les pièces
Obtenez toutes les pièces

Les pièces nécessaires pour construire ce projet sont les suivantes:

  • Arduino Uno ▶
  • BH1750
  • Nokia 5110 LCD ▶
  • Petite planche à pain ▶
  • Fils ▶

Le coût du projet est d'environ 12 $.

Étape 2: Le capteur de lumière BH1750

Le capteur de lumière BH1750
Le capteur de lumière BH1750

Le capteur d'intensité lumineuse BH1750 est un capteur génial et très facile à utiliser. Cette carte de dérivation est livrée avec un convertisseur AD 16 bits intégré qui peut directement émettre un signal numérique, il n'y a pas besoin de calculs compliqués.

Cette carte est meilleure qu'une LDR qui ne délivre qu'une tension. Avec le capteur de lumière BH1750, l'intensité peut être mesurée directement par le luxmètre, sans avoir besoin de faire de calculs. Les données qui sont sorties par ce capteur sont directement sorties en Lux (Lx).

Le capteur utilise l'interface I2C, il est donc très facile à utiliser avec Arduino. Il vous suffit de connecter 2 fils.

De plus, le prix du capteur est très bas, il tourne autour de 2$.

Vous pouvez l'obtenir ici:

Étape 3: Nokia 5110 LCD

Image
Image
Construire le luxmètre
Construire le luxmètre

Le Nokia 5110 est mon écran préféré pour mes projets Arduino.

Le Nokia 5110 est un écran LCD graphique de base conçu à l'origine comme écran de téléphone portable. Il utilise le contrôleur PCD8544 qui est un contrôleur/pilote LCD CMOS à faible consommation. Pour cette raison, cet écran a une consommation d'énergie impressionnante. Il n'utilise que 0,4 mA lorsqu'il est allumé mais le rétroéclairage est désactivé. Il utilise moins de 0,06 mA en mode veille ! C'est l'une des raisons qui font de cet affichage mon préféré. Le PCD8544 s'interface aux microcontrôleurs via une interface de bus série. Cela rend l'écran très facile à utiliser avec Arduino.

Il vous suffit de connecter 8 fils et d'utiliser la bibliothèque suivante:

Cette bibliothèque impressionnante est développée par Henning Karlsen qui a déployé d'énormes efforts pour aider la communauté Arduino à aller de l'avant avec ses bibliothèques.

J'ai préparé un didacticiel détaillé sur l'utilisation de l'écran LCD Nokia 5110 avec Arduino. J'ai joint cette vidéo dans ce Instructable, elle fournira des informations utiles sur l'affichage, je vous encourage donc à la regarder attentivement.

Le coût de l'affichage est d'environ 4 $.

Vous pouvez l'obtenir ici:

Étape 4: Construire le luxmètre

Construire le luxmètre
Construire le luxmètre

Connectons maintenant toutes les pièces ensemble.

Dans un premier temps, nous connectons le module de capteur de lumière BH1750. Il n'a que 5 broches mais nous allons en connecter 4.

Connexion du capteur de tension

La broche Vcc va au 5V d'Arduino

La broche GND va au GND d'Arduino

La broche SCL va à la broche analogique 5 de l'Arduino Uno

La broche SDA va à la broche analogique 4 de l'Arduino Uno

La broche d'adresse reste déconnectée

L'étape suivante consiste à connecter l'écran LCD Nokia 5110.

Connexion de l'écran LCD Nokia 5110

RST va à la broche numérique 12 de l'Arduino

CE va à la broche numérique 11 de l'Arduino

DC va à la broche numérique 10 de l'Arduino

DIN va à la broche numérique 9 de l'Arduino

CLK va à la broche numérique 8 de l'Arduino

VCC va à Arduino 3.3V LIGHT va à Arduino GND (rétroéclairage activé)

GND va à Arduino GND

Maintenant que nous avons connecté toutes les pièces entre elles, il ne nous reste plus qu'à charger le code. Un écran de démarrage s'affiche pendant quelques secondes, puis nous pouvons commencer à mesurer l'intensité lumineuse en temps réel !

Étape 5: Le code du projet

Image
Image
Tester le projet
Tester le projet

Le code du projet se compose de 3 fichiers.

splash.cui.c

ui.c

BH1750LightMeter.ino

Code - Image de l'écran de démarrage

Dans le premier fichier splash.c, il y a les valeurs binaires de l'écran de démarrage qui s'affiche sur l'écran LCD du Nokia 5110 lorsque le projet démarre. Veuillez regarder la vidéo ci-jointe que j'ai préparée afin de voir comment charger vos graphiques personnalisés dans votre projet Arduino.

Code ui.c - L'interface utilisateur

Dans le fichier ui.c, il y a les valeurs binaires de l'interface utilisateur qui apparaissent après que le projet affiche l'écran de démarrage. Veuillez regarder la vidéo ci-jointe que j'ai préparée afin de voir comment charger vos graphiques personnalisés dans votre projet Arduino.

Code UVMeter.ino - Programme principal

Le code principal du projet est très simple. Nous devons inclure la bibliothèque Nokia 5110. Ensuite, nous déclarons quelques variables. On initialise l'affichage et on affiche l'écran de démarrage pendant 3 secondes. Après cela, nous imprimons une fois l'icône de l'interface utilisateur et nous lisons la valeur du capteur en 150 millisecondes. Toute la magie opère dans la fonction loop:

void loop() { int stringLength=0; uint16_t lux = lightSensor.readLightLevel(); // Lecture de la lumière du capteur = String(lux); //Conversion en chaîne stringLength = light.length(); //Nous devons connaître la longueur de la chaîne lcd.clrScr(); lcd.drawBitmap (0, 0, ui, 84, 48); printLight(stringLength); //Imprime la chaîne sur l'écran lcd.update(); retard (150); }

J'ai joint le code à ce Instructable. Afin de télécharger la dernière version du code, vous pouvez visiter la page Web du projet:

Étape 6: Tester le projet

Tester le projet
Tester le projet
Tester le projet
Tester le projet

Maintenant que le code est chargé, nous pouvons tester le posemètre à l'intérieur et à l'extérieur. Je le teste par une journée de printemps ensoleillée ici en Grèce. Le résultat est fantastique. Nous pouvons mesurer avec précision l'intensité lumineuse avec un projet facile à construire.

Comme vous pouvez le voir sur les photos ci-jointes, le posemètre fonctionne très bien. Ce projet est une excellente démonstration de ce dont le matériel et les logiciels open source sont capables. En quelques minutes, on peut construire un projet aussi impressionnant ! Ce projet est idéal pour les débutants et comme je l'ai dit au début, ce projet est une excellente expérience d'apprentissage. J'aimerais avoir votre avis sur ce projet. Le trouvez-vous utile ? Y a-t-il des améliorations à apporter à ce projet ? Veuillez poster vos commentaires ou idées dans la section commentaires ci-dessous!

Conseillé: