MrFischertechnik
Projekte und Co.

DIGITALER STROMZÄHLER

Hier das Video:



Und der Code:

Um den Code nutzen zu können wird die Library StopWatch benötigt, die hier zum Download bereit steht: www.file-upload.net/download-7926971/StopWatch.zip.html


double Preis =  0.2639;  //Preis einer Kilowattstunde in Euro
double kwh = 0.000;  //Kilowattstunden
double imp = 0;  //Impulse des Zählers
char tmp1[16];
char tmp2[16];
double euro;
double zeit;
double watt;

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#include <StopWatch.h>

StopWatch MySW;
StopWatch SWarray[5];


void setup()  {

  pinMode(6, INPUT);
  lcd.begin(16, 2);
  lcd.print("LADEN...");
  delay(500);
  lcd.clear();
  lcd.print("WARTE AUF IMPULS");
  lcd.setCursor(0, 1);
  lcd.print("<<<<<<<<>>>>>>>>");


  SWarray[0].start();

}

void loop()  {

  if(digitalRead(6) ==0){

    MySW.stop();
    zeit = MySW.elapsed();
    MySW.reset();
    MySW.start();
    imp = imp + 1;

    delay(100);
    while(digitalRead(6) == 0) {
      delay(100);
    }

    kwh = imp / 1000;
    lcd.clear();
    lcd.print("KW");
    dtostrf(kwh, 1, 3, tmp1);
    lcd.setCursor(3, 0);
    lcd.print(tmp1);

    lcd.setCursor(0, 1);
    lcd.print("EU");
    lcd.setCursor(3, 1);
    euro = kwh * Preis;
    dtostrf(euro, 1, 4, tmp2);
    lcd.print(tmp2);

    lcd.setCursor(12, 0);
    watt = 3600 / (zeit / 1000);



    if (int(watt) > 9999){
      lcd.print("OVER");
    }

    else {
      lcd.print(int(watt));
    }
    lcd.setCursor(12, 1);
    lcd.print("WATT");


  }

}

Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden