Station météo sur Arduino de A à Z. Partie 4

À suivre. La partie précédente .
Table des matières:



Capteur extérieur. Le fer


Il faut tout de suite admettre que la première version du capteur de fenêtre (à distance) s'est avérée ne pas être entièrement réussie en termes d'alimentation et de consommation d'énergie. Comme je l'ai déjà écrit, je n'avais sous la main que le module Arduino Pro Mini à 5 V. Et j'ai utilisé des batteries Ni-MH.


Malgré le fait que j'ai également connecté la batterie solaire, toute la structure a fonctionné de manière autonome pendant environ 25 jours. De manière très négative, la capacité de la batterie a été affectée par des températures basses, souvent négatives dans la rue à la fin de l'hiver.


Pour que tout fonctionne bien plus longtemps, effectuez les remplacements suivants:


  • Acheter Arduino Pro Mini à 3,3 V
  • Utilisez une batterie Li-ion Panasonic NCR18650A 3,7 V, 2 pièces. pour environ 14 $ à 3100mAh. Vous pouvez essayer les piles CR123, CR123A. Et rappelez-vous qu'une batterie 9V (comme une Krona) est une mauvaise source d'alimentation.

La principale chose à retenir est que vos batteries fonctionneront dans la rue, c'est-à-dire à des températures négatives, ce qui ralentit les processus chimiques qui se produisent à l'intérieur et, de ce fait, réduit considérablement leur capacité.


Le capteur DHT22 peut également fonctionner à partir de 3,3 V, c'est donc le chemin à parcourir.


Les permutations ci-dessus n'entraîneront pas de modifications ou de remplacements d'autres composants.


La nutrition


J'ai utilisé à l'origine 4 pièces. La batterie Ni-MH est connectée en série avec un robinet du 3ème, nous obtenons donc deux tensions d'alimentation: 4,8 V pour le capteur DHT22 et 3,6 V pour tout le reste. Je n'ai pas utilisé de circuits électroniques abaisseurs (plus précisément destructeurs d'énergie) ou élévateurs, uniquement des tensions et des courants respectueux de l'environnement.


La nutrition


Le panneau solaire est connecté comme indiqué. Le panneau solaire 1.6W 5.5V 266mA a été acheté pour 6,64 $.


Une diode Schottky de type 1N914 et un condensateur électrolytique de 50-100 μF sont utilisés dans le circuit.



Brochage et connexion


Passons à l'assemblée.


Capteur de température et d'humidité DHT22


DHT22


Brochage pour connecter un capteur de température et d'humidité DHT22:


DHT22 face avant de gauche à droiteArduino Pro MiniRemarque
Vcc3,3 - 5 V5 V recommandé, meilleure alimentation externe
SDAD2Dans l'esquisse, c'est DHTPIN
NCNon connecté
GNDGND

En option, vous pouvez connecter (resserrer) le SDA via une résistance 10K à VCC.


Initialisation:


 #define DHTPIN 2 //   D2 DHT dht(DHTPIN, DHTTYPE); 

Pour protéger le capteur de la lumière directe du soleil, j'ai fait un boîtier pour lui à partir d'une boîte, collé dessus avec du ruban adhésif métallisé réfléchissant.


nRF24L01 +


nRF24L01 +


Le brochage du module radio nRF24L01 + (regardez en haut de la carte où se trouve la puce, tandis que les broches des broches seront en bas):


(2) 3,3 V(4) CSN(6) MOSI(8) IRQ
(1) GND(3) CE(5) SCK(7) MISO

Connexion NRF24L01 +


Arduino Pro MininRF24L01 +Remarque
3,3 VVCC (2)Meilleure alimentation externe
broche D8CE (3)activer la puce
Broche SS D10CSN (4)puce sélectionner dans
Broche SCK D13SCK (5)Horloge SPI
Broche MOSI D11SDI (6)Données SPI dans
Broche MISO D12SDO (7)Sortie des données SPI
IRQ 8Sortie d'interruption non connectée
GNDGND (1)

Initialisation:


 NRF24 nrf24(8, 10); 

Comme conseillé sur les forums, un condensateur électrolytique de petite capacité (10 μF) a été immédiatement soudé aux bornes de puissance nRF24L01 +.


J'ai un module radio avec une antenne externe supplémentaire, il «brise» deux murs de manière fiable.


Voltmètre


Le capteur externe dispose d'un voltmètre pour mesurer la tension d'alimentation de la batterie. La technologie de mesure est décrite par Scott Daniels "Secret Arduino Voltmeter - Measure Battery Voltage", 2012.


Les données sont lues à partir de la broche analogique A1.



J'ai des résistances de diviseur de tension de 100 kOhm et 10 kOhm (vous pouvez avoir des valeurs légèrement différentes, vous devez les mesurer avec précision avec un ohmmètre).


 const float r1 = 100400; // 100KOm const float r2 = 9960; // 10KOm 

La constante suivante doit être calibrée individuellement comme décrit par Scott Daniels. Utiliser une shemka et un croquis séparés.


Nous mesurons deux valeurs de Vcc: Vcc réel à l'aide d'un voltmètre (sur la broche AREF ou 5V) et Vcc à l'aide de notre fonction. Ensuite, nous remplaçons la constante ( 1.1 * 1023.0 * 1000 ) par une nouvelle:


 scale_constant = internal1.1Ref * 1023 * 1000 

internal1.1Ref = 1.1 * Vcc1 ( ) / Vcc2 ( )



  • Vcc1 - Valeur Vcc mesurée manuellement avec un voltmètre
  • Vcc2 - Valeur Vcc déterminée à l'aide de notre fonction

Cette valeur de référence sera individuelle pour une puce AVR spécifique et dépendra des fluctuations de température.


En conséquence, j'ai obtenu la valeur suivante:


 const float typVbg = 1.082; //    1.0 — 1.2  

Comme notre batterie rechargeable sera déchargée dans l'obscurité et chargée à partir de la batterie solaire, le graphique de la tension d'alimentation aura l'air en dents de scie, "s'apaisant" les jours nuageux:


Graphique


Le graphique est réel, tiré de la face Web du projet.


Assemblage


Pour assembler le bloc dans son ensemble, j'ai à nouveau utilisé la planche à pain pour le soudage.
J'ai soudé, connecté par intuition sans câblage préalable, donc je n'ai pas de circuit.


Voici ce qui s'est passé.


Assemblage

Source: https://habr.com/ru/post/fr425963/


All Articles