Bonjour, je souhaiterai mesurer une puissance en Wh avec arduino afin d'obtenir une consommation en direct d'un appareil et l'afficher sur un écran lcd.
Pour cela j'ai fait un montage sur proteus avec un capteur de courant ainsi qu'un diviseur de tension afin d'obtenir la tension et le courant de l'appareil, ( je simule une batterie avec le 14v)
Et donc avec la formule P = U * I j'ai fait un programme afin de multiplier ces deux valeurs et donc obtenir P, mais cependant je n'y arrive pas, pour l'instant j'ai réussi à afficher la date sur l'écran lcd et le message : Consommation sur l'écran lcd ce qui est peu ...
code : #include <LiquidCrystal.h>
#include <Wire.h>
#include <RTClib.h>
RTC_DS1307 RTC;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int Consommation = 1;
int Voltage =3;
int pot = 2;
int Current = 4;
void setup()
{
Wire.begin();
RTC.begin();
lcd.begin(16, 2);
pinMode(pot, INPUT);
}
void loop()
{
DateTime now = RTC.now();
// la date sur la deuxième ligne du LCD
lcd.setCursor(1, 0);
lcd.print(now.day());
lcd.print(" ");
switch (now.month())
{
case 1:
lcd.print("janvier");
break;
case 2:
lcd.print("fevrier");
break;
case 3:
lcd.print("mars");
break;
case 4:
lcd.print("avril");
break;
case 5:
lcd.print("mai");
break;
case 6:
lcd.print("juin");
break;
case 7:
lcd.print("juillet");
break;
case 8:
lcd.print("aout");
break;
case 9:
lcd.print("septembre");
break;
case 10:
lcd.print("octobre");
break;
case 11:
lcd.print("novembre");
break;
case 12:
lcd.print("decembre");
break;
}
lcd.print(" ");
lcd.print(now.year());
Consommation = Voltage * Current
lcd.print(analogRead(pot));
lcd.setCursor(3,0);
lcd.print("Consommation :");
delay(1000);
lcd.clear();
}