J'ai travaillé sur un projet. Ce projet avait pour but d'exciter différents rélais en fonction de la tension du parc de batterie. Dessous tu veras mon code.
#include <LiquidCrystal.h>
const int N3 = 7 ;
const int N1 = 9 ;
const int N2 = 8 ;
int valeur_lue = 0 ;
//int pwm;
const int potentio = 0;
float valeurlue=0.0;
float tension = 0.0;
float mesure = 0.0;
float Tension_Bat = 0.0;
//float tension_max = 60.0;
LiquidCrystal lcd(11,10,5,4,3,2);
void setup() {
// put your setup code here, to run once:
pinMode (N1, OUTPUT) ;
pinMode (N2, OUTPUT) ;
pinMode (N3, OUTPUT) ;
lcd.begin(20,4);
delay(10);
/*lcd.setCursor(4,1);
lcd.print("Charli");
delay(100);
lcd.clear();
delay(10);*/
}
void loop() {
// put your main code here, to run repeatedly:
valeurlue=analogRead(potentio);
/*lcd.setCursor(0,0);
lcd.print("valeurlue = ");
lcd.println(valeurlue);
lcd.print("");*/
mesure=float (valeurlue)*5000.0/1024.0;
tension = mesure/1000.0;
/*lcd.setCursor(0,1);
lcd.print("U A0 = ");
lcd.print(tension,2);
lcd.println(" V ");
lcd.print("");*/
Tension_Bat = (((75000+10000)*tension)/10000);
/*lcd.setCursor(0,2);
lcd.print("U_BAT = ");
lcd.print(Tension_Bat,2);
lcd.println(" V ");
lcd.print("");
delay(10);*/
if (Tension_Bat>=21 && Tension_Bat<=29){
// do{
lcd.setCursor(2,1);
digitalWrite(N1, HIGH) ;
digitalWrite(N2, HIGH) ;
digitalWrite(N3, HIGH) ;
lcd.print("N1,N2 ET N3 ON");
delay(5000);
lcd.clear();
delay(10);
//}
//else
//if(Tension_Bat>=47 && Tension_Bat<=50){
lcd.setCursor(0,1);
digitalWrite(N1, LOW) ;
digitalWrite(N2, HIGH) ;
digitalWrite(N3, HIGH) ;
lcd.print("N1:OFF ,N2 ET N3 ON");
delay(5000);
//delay(5000);
lcd.clear();
delay(10);
//}
//else
//if(Tension_Bat>=43 && Tension_Bat<47){
lcd.setCursor(0,1);
digitalWrite(N1, LOW) ;
digitalWrite(N2, LOW) ;
digitalWrite(N3, HIGH) ;
lcd.print("N1 ET N2:OFF ,N3:ON");
delay(5000);
//delay(5000);
lcd.clear();
delay(10);
lcd.setCursor(2,1);
digitalWrite(N1, LOW) ;
digitalWrite(N2, LOW) ;
digitalWrite(N3, LOW) ;
lcd.print("N1,N2 ET N3 OFF");
delay(9000);
//delay(5000);
lcd.clear();
delay(10);
}
else{
digitalWrite(N1, LOW) ;
digitalWrite(N2, LOW) ;
digitalWrite(N3, LOW) ;
lcd.setCursor(0,1);
lcd.print("TENSION +/- GRANDE");
delay(10000);
lcd.clear();
delay(10);
}
}
Tu trouveras en image, le schéma montrant la réalisation.
Aligote, peux tu me laisser avoir plus d'information sur le stockage des données? comment tu t'y prends?..
Merci
