Dafara sa panneau solaire : Différence entre versions

Ligne 160 : Ligne 160 :
 
<u>https://icn.lycee-valin.fr/dokuwiki/doku.php?id=arduino:plaque_grove_du_lycee_valin:comment_utiliser_un_ecran_lcd_grove</u>
 
<u>https://icn.lycee-valin.fr/dokuwiki/doku.php?id=arduino:plaque_grove_du_lycee_valin:comment_utiliser_un_ecran_lcd_grove</u>
  
Ajouter la bibliothèque dans  :  '''Croquis''' –> '''Inclure une bibliothèque''' –> '''Gérer les bibliothèques''' → '''grove rgb_lcd.h'''</translate>
+
Ajouter la bibliothèque dans  :  '''Croquis''' –> '''Inclure une bibliothèque''' –> '''Gérer les bibliothèques''' → '''grove rgb_lcd.h'''
 +
 
 +
<br />
 +
 
 +
*  '''lcd.setCursor(0,0);  ''' // Il faut placer le curseur de l'écran LCD au début de la 1ère ligne
 +
 
 +
* '''lcd.setCursor(9,0);  '''   // Il faut placer le curseur de l'écran LCD a x=9 de la 1ère ligne'''   '''
 +
*  '''lcd.setCursor(0,1);  '''   // Il faut placer le curseur de l'écran LCD au début de la 2ème ligne  ''' '''
 +
* '''lcd.setCursor(7,1);  '''   // Il faut placer le curseur de l'écran LCD à  la 2ème ligne et à x=7</translate>
 
|Step_Picture_00=La_r_alisation_d_un_panneau_solaire_Low-Cost_code1.PNG
 
|Step_Picture_00=La_r_alisation_d_un_panneau_solaire_Low-Cost_code1.PNG
 
|Step_Picture_01=La_r_alisation_d_un_panneau_solaire_Low-Cost_code2.PNG
 
|Step_Picture_01=La_r_alisation_d_un_panneau_solaire_Low-Cost_code2.PNG
 
|Step_Picture_02=La_r_alisation_d_un_panneau_solaire_Low-Cost_ard4.PNG
 
|Step_Picture_02=La_r_alisation_d_un_panneau_solaire_Low-Cost_ard4.PNG
 +
|Step_Picture_03=La_r_alisation_d_un_panneau_solaire_Low-Cost_ARD5e.PNG
 +
|Step_Picture_04=La_r_alisation_d_un_panneau_solaire_Low-Cost_ardi6.PNG
 +
|Step_Picture_05=La_r_alisation_d_un_panneau_solaire_Low-Cost_ard8.PNG
 +
}}
 +
{{Tuto Step
 +
|Step_Title=<translate>le code en intregralité</translate>
 +
|Step_Content=<translate><nowiki>#</nowiki>include <dht11.h>
 +
 +
dht11 DHT;
 +
 +
<nowiki>#</nowiki>define DHT11_PIN A0
 +
 +
<nowiki>#</nowiki>include <Wire.h>  // inclure la bibliothèque permettant la communication par le protocole I2C
 +
 +
<nowiki>#</nowiki>include "rgb_lcd.h" // inclure la bibliothèque pour l'écran LCD
 +
 +
rgb_lcd lcd; // création d'un objet lcd
 +
 +
int val; // Cette variable stocke la valeur reçue du capteur d'humidité du sol.
 +
 +
'''void setup()''' {
 +
 +
 Serial.begin(9600);
 +
 +
 //pinMode(9,OUTPUT);  Réglez la broche 9 comme broche de sortie, pour envoyer le signal au relay.
 +
 +
 // pinMode(8,INPUT); Réglez la broche 8 comme broche d'entrée pour recevoir les données du capteur d'humidité.
 +
 +
 lcd.begin(16, 2);   // configurer le nombre de colonnes et de lignes de l'écran LCD :
 +
 +
 pinMode(A2, INPUT);
 +
 +
 analogWrite(A2, LOW); //Regler la sortie A2 pour envoyer les données du capteur de l'humidité du sol
 +
 +
 pinMode(A3, INPUT);
 +
 +
 analogWrite(A3, LOW); //Regler la sortie A3 pour envoyer les données du capteur de luminosité
 +
 +
}
 +
 +
'''void loop()''' {
 +
 +
 int sol = analogRead(A2);
 +
 +
 int light3 = analogRead(A4);
 +
 +
 int chk = DHT.read(DHT11_PIN);    // on lit les données du capteur DHT
 +
 +
 lcd.setCursor(0, 0);             // on place le curseur de l'écran LCD au début de la 1ère ligne
 +
 +
 lcd.print("T: ");             // on écrit le mot "Temp: " à l'emplacement du curseur
 +
 +
 lcd.print(DHT.temperature);       // on écrit la température lue par le capteur,
 +
 +
 lcd.print((char)223);            // on ajoute le symbole ° après la valeur de la température
 +
 +
 lcd.print("C");                  // on ajoute la lettre C pour degré Celsius
 +
 +
 lcd.setCursor(9, 0);             // on déplace le curseur de l'écran LCD au x=9 de la 1eligne
 +
 +
 lcd.print("H: ");             // on écrit le mot "Hum. rel: " à l'emplacement du curseur
 +
 +
 lcd.print(DHT.humidity);       // on écrit l'humidité relative lue par le capteur, avec 1 chiffre derrière la virgule
 +
 +
 lcd.print("%");                  // on ajoute le symbole "%" après la valeur de l'humidité
 +
 +
 lcd.setCursor(0, 1);             // on déplace le curseur de l'écran LCD au début de la 2eligne
 +
 +
 lcd.print("S: ");           // on écrit le mot "Sol. rel: " à l'emplacement du curseur
 +
 +
 lcd.print(sol);               // on écrit l'humidité relative lue par le capteur, avec 1 chiffre derrière la virgule
 +
 +
 lcd.setCursor(7, 1);             // on déplace le curseur de l'écran LCD au début de la 2eligne et a x=7
 +
 +
 lcd.print("L: ");             // on écrit la lettre "L. rel: " à l'emplacement du curseur
 +
 +
 lcd.print(light3);            // on écrit la quantité de lumiere relative lue par le capteur, avec 1 chiffre derrière la virgule
 +
 +
 delay(1000);                     // on attend une seconde avant de procéder à la lecture suivante
 +
 +
}</translate>
 
}}
 
}}
 
{{Notes
 
{{Notes

Version du 10 août 2022 à 00:49

Auteur avatarSenfablab | Dernière modification 7/01/2023 par Senfablab

Pas encore d'image

Introduction

L’énergie solaire par ses modularités permet d'adapter les besoins énergétiques divers, autonomie, fiabilité , permet aussi d'apporter de réelles solution telles que l'éclairage domestique etc..

Matériaux

Outils

Étape 1 - Panneau solaire

Les panneaux solaires permettent de transformer l'énergie lumineuse du soleil en électricité.

Montage :

La borne (+) est du côté du silicium et la borne (-)  du côté inverse de la cellule.

  • Tout d’abord il faut relier (souder) la borne (+) de la première cellule à la borne (-) de la deuxième cellule et ainsi de suite. C'est-à-dire, le (+) de la deuxième cellule au (-) de la troisième etc… jusqu’à avoir soudé toutes les cellules.(Cf images ci-dessous).
  • Ensuite, il faut relier la borne (+) de l’ensemble des cellules au câble. électrique rouge et la borne (-) de l’ensemble des cellules au câble électrique bleu.  (Utiliser le multimètre pour repérer le (+) et le (-) en cas de difficulté).
  • Mettre la diode anti retour sur les deux câbles rouge et bleu ou uniquement sur le rouge.
  • Enfin, pour protéger les cellules il faut les mettre sous un plexiglass.

NB : Manipuler les cellules avec précaution car elles sont très fragiles.


Étape 2 - Partie batterie

La batterie sert à accumuler  l'énergie produite pendant la journée par les panneaux  et alimente la station météo .

Montage :

  • Connecter la borne (+) de la batterie à la borne 1 du régulateur de tension,
  • Relier la borne (+) du 1er condensateur la relier à l’entrée 1 du régulateur.
  • Connecter la borne (-) du condensateur à la borne (-) de la batterie et, relier leur point commun à la borne 3 du régulateur.
  • Relier la borne (+) du 2ème condensateur à la borne 2 du régulateur et connecter le (-) de ce condensateur à la borne 3 du régulateur.


Étape 3 - Partie charge de la batterie

Il faut charger la batterie via l'énergie solaire. Pour cela, il faut mettre 2 panneaux en série pour avoir une tension de sortie égale à 12V et les relier directement à la batterie.

Attention :

Bien que cette méthode fonctionne, elle comporte beaucoup de risque car :

  • Les panneaux peuvent aussi bien charger que décharger la batterie.
  • La tension fournie par le panneau solaire pourrait être excessive, mettant ainsi en surcharge la batterie (ce qui pourrait à terme l’endommager).
    • Pour pallier ce problème, il est possible d’alimenter le régulateur de charge.
  • L’intensité de charge pourrait elle-aussi être excessive, qui aurait là encore pour effet de l’endommager.

Dans l’idéal, il faudrait utiliser un régulateur de charge pour charger et décharger la batterie.

Montage :

  • Relier La borne (-) du premier panneau au (+) du deuxième panneau.
  • Puis connecter la borne (+) de l’ensemble des panneaux ainsi obtenu au (+)  de la batterie, puis le (-) des panneaux au (-) de batterie.



Étape 4 - Partie assemblage station météo

Une station météo est un appareil qui permet de connaître les caractéristiques de  l’atmosphère de la pièce dans laquelle elle est placée (température, humidité, quantité de lumière etc…), ou éventuellement d’autres caractéristiques dépendamment de ce que l’on veut mesurer (l’humidité de l’aire, du sol dans notre cas).

Montage :

Monter le Shield sur la carte Arduino.

NB : L’utilisation du Shield facilite la connexion des différents éléments sur la carte.

CAPTEUR DE TEMPÉRATURE ET HUMIDITÉ:

Comme son nom l’indique, il sert à mesurer l’humidité et la température d’un milieu.

Sur l’image ci-dessous, le DHT11 (capteur de température et d’humidité) est relié à  l’entrée analogique de la carte Arduino donc sur les ports A0 du Shield.

Pour les câbles, le jaune correspond à A0, le blanc correspond à A1, le rouge à Vcc et le noir à Gnd.

Etant donné que pour la connexion de ce capteur, le A1 n’est pas utilisé, il faut le déconnecter (fil blanc) ou à défaut le couper comme c’est le cas ici.


ECRAN LCD :

L'écran est utilisé pour afficher les valeurs mesurées par les capteurs.

Pour l’écran LCD le branchement se fait sur les I2C du Shield.


CAPTEUR DE L'HUMIDITÉ DU SOL :

Le capteur de l’humidité du sol est relié au port A1 du Shield.


CAPTEUR DE LUMINOSITÉ :

Pour le capteur de luminosité relier sur le port A2 du Shield.



Étape 5 - Assemblage des panneaux solaires et de la station météo

Dans cette partie, il faut alimenter la station météo via le régulateur (+) batterie.

Pour cela,

Connecter la borne (+) de l’alimentation de la station météo à la borne 2 du régulateur

Et relier la borne (-) de l’alimentation de la station météo à la borne 3 du régulateur.

Etape 6 : Le Code

Dans cette partie nous allons vous montrer les étapes à suivre pour mettre en place le code de la station météo.

Tout d’abord il faut faire des recherches pour trouver un code qui répond à votre besoins nous avons trouvé celui ci :

source :

https://arduino.developpez.com/tutoriels/arduino-a-l-ecole/?page=projet-11-construire-une-station-meteo#LXIX-B


Par contre dans ce code nous avons un problème avec la bibliothèque  dht11.

Rechercher et Télécharger la bibliothèque, nous avons choisi celui-ci

https://github.com/adidax/dht11


Après avoir ajouter la bibliothèque  #include <dht11.h>

Il faut supprimer la première importation et changer les lignes de codes.


Pour LCD ECRAN :

Les écrans LCD compatibles Grove utilisent le protocole I2C pour communiquer avec la carte Arduino.

L'écran doit donc être relié à une des broches I2C de la base Grove Shield.

source

https://icn.lycee-valin.fr/dokuwiki/doku.php?id=arduino:plaque_grove_du_lycee_valin:comment_utiliser_un_ecran_lcd_grove

Ajouter la bibliothèque dans  :  Croquis –> Inclure une bibliothèque –> Gérer les bibliothèquesgrove rgb_lcd.h


  • lcd.setCursor(0,0);   // Il faut placer le curseur de l'écran LCD au début de la 1ère ligne
  • lcd.setCursor(9,0);     // Il faut placer le curseur de l'écran LCD a x=9 de la 1ère ligne   
  • lcd.setCursor(0,1);     // Il faut placer le curseur de l'écran LCD au début de la 2ème ligne   
  • lcd.setCursor(7,1);     // Il faut placer le curseur de l'écran LCD à  la 2ème ligne et à x=7

Étape 6 - le code en intregralité

#include <dht11.h>

dht11 DHT;

#define DHT11_PIN A0

#include <Wire.h>  // inclure la bibliothèque permettant la communication par le protocole I2C

#include "rgb_lcd.h" // inclure la bibliothèque pour l'écran LCD

rgb_lcd lcd; // création d'un objet lcd

int val; // Cette variable stocke la valeur reçue du capteur d'humidité du sol.

void setup() {

 Serial.begin(9600);

 //pinMode(9,OUTPUT);  Réglez la broche 9 comme broche de sortie, pour envoyer le signal au relay.

 // pinMode(8,INPUT); Réglez la broche 8 comme broche d'entrée pour recevoir les données du capteur d'humidité.

 lcd.begin(16, 2);   // configurer le nombre de colonnes et de lignes de l'écran LCD :

 pinMode(A2, INPUT);

 analogWrite(A2, LOW); //Regler la sortie A2 pour envoyer les données du capteur de l'humidité du sol

 pinMode(A3, INPUT);

 analogWrite(A3, LOW); //Regler la sortie A3 pour envoyer les données du capteur de luminosité

}

void loop() {

 int sol = analogRead(A2);

 int light3 = analogRead(A4);

 int chk = DHT.read(DHT11_PIN);    // on lit les données du capteur DHT

 lcd.setCursor(0, 0);             // on place le curseur de l'écran LCD au début de la 1ère ligne

 lcd.print("T: ");             // on écrit le mot "Temp: " à l'emplacement du curseur

 lcd.print(DHT.temperature);       // on écrit la température lue par le capteur,

 lcd.print((char)223);            // on ajoute le symbole ° après la valeur de la température

 lcd.print("C");                  // on ajoute la lettre C pour degré Celsius

 lcd.setCursor(9, 0);             // on déplace le curseur de l'écran LCD au x=9 de la 1eligne

 lcd.print("H: ");             // on écrit le mot "Hum. rel: " à l'emplacement du curseur

 lcd.print(DHT.humidity);       // on écrit l'humidité relative lue par le capteur, avec 1 chiffre derrière la virgule

 lcd.print("%");                  // on ajoute le symbole "%" après la valeur de l'humidité

 lcd.setCursor(0, 1);             // on déplace le curseur de l'écran LCD au début de la 2eligne

 lcd.print("S: ");           // on écrit le mot "Sol. rel: " à l'emplacement du curseur

 lcd.print(sol);               // on écrit l'humidité relative lue par le capteur, avec 1 chiffre derrière la virgule

 lcd.setCursor(7, 1);             // on déplace le curseur de l'écran LCD au début de la 2eligne et a x=7

 lcd.print("L: ");             // on écrit la lettre "L. rel: " à l'emplacement du curseur

 lcd.print(light3);            // on écrit la quantité de lumiere relative lue par le capteur, avec 1 chiffre derrière la virgule

 delay(1000);                     // on attend une seconde avant de procéder à la lecture suivante

}

Commentaires

Draft