Table des matières:
- Étape 1: Pièces et composants
- Étape 2: Le capteur
- Étape 3: Opérations
- Étape 4: Tension de la batterie et lecture
- Étape 5: Schéma et connexions
- Étape 6: Logiciel
- Étape 7: boîtier de l'enceinte
- Étape 8: Améliorations futures possibles
- Étape 9: Galerie d'images
- Étape 10: Crédits
Vidéo: UltraV : un indicateur UV portable : 10 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Ne pouvant pas m'exposer au soleil à cause d'un problème dermatologique, j'ai utilisé le temps que j'aurais passé sur la plage pour construire un compteur de rayons ultraviolets. UltraV.
Il est construit sur un Arduino Nano rev3, avec un capteur UV, un convertisseur DC/DC pour augmenter la tension de la batterie 3v et un petit écran OLED. Mon objectif principal était de le garder portable, afin que je puisse facilement connaître l'indice UV à tout moment et en tout lieu.
Étape 1: Pièces et composants
- Microcontrôleur Arduino Nano rev.3
- Capteur UV ML8511
- Écran OLED 128 × 64 (SSD1306)
- MT3608 élévateur DC-DC
- pile CR2
- Support de pile CR2
- changer
- boîtier de l'enceinte
Étape 2: Le capteur
Le ML8511 (Lapis Semiconductors) est un capteur UV, qui convient pour acquérir l'intensité UV à l'intérieur ou à l'extérieur. Le ML8511 est équipé d'un amplificateur interne, qui convertit le photo-courant en tension en fonction de l'intensité UV. Cette caractéristique unique offre une interface facile aux circuits externes tels que l'ADC. En mode de mise hors tension, le courant de veille typique est de 0,1 µA, permettant ainsi une plus longue durée de vie de la batterie.
Caractéristiques:
- Photodiode sensible aux UV-A et UV-B
- Amplificateur opérationnel embarqué
- Sortie de tension analogique
- Faible courant d'alimentation (300µA typ.) et faible courant de veille (0,1µA typ.)
- Boîtier de montage en surface petit et mince (4,0 mm x 3,7 mm x 0,73 mm, QFN en céramique à 12 broches)
Malheureusement, je n'ai pas eu la chance de trouver un matériau transparent aux UV pour protéger le capteur. Tout type de couvercle transparent que j'ai testé (plastique, verre, etc.) atténuait la mesure UV. Le meilleur choix semble être le verre de silice fondu au quartz, mais je n'en ai pas trouvé à un prix raisonnable, j'ai donc décidé de laisser le capteur hors de la boîte, à l'air libre.
Étape 3: Opérations
Pour prendre une mesure, il suffit d'allumer l'appareil et de le diriger vers le soleil pendant quelques secondes, en le gardant aligné avec la direction des rayons du soleil. Observez ensuite l'affichage: l'index de gauche indique toujours la mesure instantanée (une toutes les 200 ms), tandis que la lecture de droite est la lecture maximale prise pendant cette séance: c'est celle qu'il vous faut.
Dans la partie inférieure gauche de l'écran, il est également indiqué la nomenclature équivalente de l'OMS (BAS, MODÉRÉ, ÉLEVÉ, TRÈS ÉLEVÉ, EXTRÊME) pour l'indice UV mesuré.
Étape 4: Tension de la batterie et lecture
Je choisis une batterie CR2, pour sa taille et sa capacité (800 mAh). J'ai utilisé UltraV tout l'été et la batterie lit encore 2,8 v, donc je suis assez satisfait du choix. Lorsqu'il fonctionne, le circuit consomme environ 100 mA, mais une mesure de lecture ne prend pas plus de quelques secondes. Comme la tension nominale de la batterie est de 3 V, j'ai ajouté un convertisseur élévateur DC-DC pour amener la tension à 9 volts et je l'ai connecté à la broche Vin.
Afin d'avoir l'indication de la tension de la batterie sur l'écran, j'ai utilisé une entrée analogique (A2). Les entrées analogiques Arduino peuvent être utilisées pour mesurer une tension continue entre 0 et 5V, mais cette technique nécessite un étalonnage. Pour effectuer l'étalonnage, vous aurez besoin d'un multimètre. Alimentez d'abord le circuit avec votre dernière batterie (la CR2) et n'utilisez pas l'alimentation USB de l'ordinateur; mesurer le 5V sur l'Arduino à partir du régulateur (qui se trouve sur la broche Arduino 5V): cette tension est utilisée par défaut pour la tension de référence Arduino ADC. Maintenant, mettez la valeur mesurée dans le croquis comme suit (supposons que je lis 5.023):
tension = ((long) somme / (long) NUM_SAMPLES * 5023) / 1024,0;
Dans le croquis, je prends la mesure de tension en moyenne sur 10 échantillons.
Étape 5: Schéma et connexions
Étape 6: Logiciel
Pour l'affichage, j'ai utilisé la U8g2lib qui est très souple et puissante pour ce genre d'écrans OLED, permettant un large choix de polices et de bonnes fonctions de positionnement.
En ce qui concerne la lecture de tension du ML8511, j'ai utilisé la broche de référence Arduino 3.3v (précision à moins de 1%) comme base pour le convertisseur ADC. Ainsi, en effectuant une conversion analogique-numérique sur la broche 3,3 V (en la connectant à A1), puis en comparant cette lecture à la lecture du capteur, nous pouvons extrapoler une lecture réaliste, quel que soit le VIN (tant qu'il est au-dessus de 3,4 V).
int uvLevel = averageAnalogRead(UVOUT);int refLevel = averageAnalogRead(REF_3V3);float outputVoltage = 3.3 / refLevel * uvLevel;
Téléchargez le code complet à partir du lien suivant.
Étape 7: boîtier de l'enceinte
Après plusieurs (mauvais) tests de découpe manuelle de la fenêtre rectangulaire d'affichage sur une boîte en plastique du commerce, j'ai décidé de concevoir le mien pour cela. Donc, avec une application de CAO j'ai conçu une box et pour la garder la plus petite possible, j'ai monté la pile CR2 à l'extérieur sur la face arrière (avec un support de pile collé sur la box elle-même).
Téléchargez le fichier STL du boîtier du boîtier, à partir du lien suivant.
Étape 8: Améliorations futures possibles
- Utiliser un spectromètre UV pour mesurer les valeurs réelles de l'indice UV en temps réel dans diverses conditions (les spectromètres UV sont très chers);
- Enregistrez simultanément la sortie du ML8511 avec le microcontrôleur Arduino;
- Écrire un algorithme pour relier la sortie du ML8511 à la valeur UVI réelle en temps réel dans un large éventail de conditions atmosphériques.
Étape 9: Galerie d'images
Étape 10: Crédits
- Carlos Orts:
- Forum Arduino:
- Démarrage de l'électronique:
- U8g2lib:
- Organisation mondiale de la santé, indice UV:
Conseillé:
Raspberry Pi Box of Cooling FAN avec indicateur de température du processeur : 10 étapes (avec photos)
Raspberry Pi Box of Cooling FAN With CPU Temperature Indicator: J'avais introduit le circuit indicateur de température du processeur Raspberry Pi (ci-après RPI) dans le projet précédent. Le circuit affiche simplement le niveau de température du processeur RPI 4 comme suit. La température du processeur est comprise entre 30 et
Indicateur de température du processeur Raspberry Pi : 11 étapes (avec photos)
Indicateur de température du processeur Raspberry Pi : Auparavant, j'avais introduit un simple circuit indicateur d'état opérationnel Raspberry Pi (ci-après RPI). Cette fois, je vais expliquer un circuit indicateur plus utile pour le fonctionnement de RPI sans tête (sans moniteur). Élément CPU
The OreServer - un serveur Minecraft dédié à Raspberry Pi avec indicateur de lecteur LED : 9 étapes (avec photos)
The OreServer - un serveur Minecraft dédié à Raspberry Pi avec indicateur de lecteur LED : MISE À JOUR de juillet 2020 - Avant de commencer ce projet, sachez que BEAUCOUP de modifications et de mises à jour ont été apportées aux différents outils logiciels que j'ai utilisés pour créer cela sur deux il y a des années. Par conséquent, la plupart des étapes ne fonctionnent plus telles qu'elles sont écrites
Moteur à eau automatisé avec indicateur de niveau : 6 étapes (avec photos)
Moteur à eau automatisé avec indicateur de niveau : Salut à tous, bienvenue dans un autre Instructable. Dans ce projet, nous allons apprendre à créer un contrôleur de niveau de réservoir d'eau entièrement automatique avec une fonction d'indicateur de niveau d'eau à l'aide d'Arduino Nano.Arduino est le cerveau de ce projet. Il faudra la contribution de
Indicateur de température RVB (avec XinaBox) : 5 étapes (avec photos)
Indicateur de température RVB (avec XinaBox) : C'est officiellement mon premier article sur Instructables, donc je vais admettre que j'utilise cette opportunité en ce moment pour l'essayer. Ayez une idée du fonctionnement de la plate-forme, de l'ensemble de l'expérience utilisateur. Mais pendant que je fais ça, je me suis dit que je pouvais