geen resultaat bij delen door 1000 [solved]


hallo beste mensen,

mijn naam john en ik ben nieuw op dit forum. ik heb mij net pas aangemeld dus mijn profiel nog niet date, maar dat komt nog wel.
ik heb het volgende probleem. ik ben bezig met een kwh logger dmv een aparte kwh meter die ik in mijn meterkast wil inbouwen.
ben nu bezig met de code hiervoor te schrijven maar moet erbij vermelden dat ik nog niet zoveel ervaring hiermee heb. vooral lang bezig geweest met inlezen. heb hier en daar wat stukjes code geleend om de pulsen die mijn kwh meter geeft te tellen en om te zetten in verbruikt vermogen en totaal kwh verbruik. ik laat alles naar de seriele monitor gaan om alles te controleren.
het aantal pulsen dat mijn kwh meter geeft( 1000 pulsen = 1kwh) wil ik delen door duizend zodat de uitkomst in kwh gegeven wordt.
alleen krijg ik geen resultaat als ik door duizend deel. als ik bijvoorbeeld 100 invul, krijg ik wel resultaat. volgens mij zit ik mij nu blind te staren op iets wat misschien betrekkelijk eenvoudig maar ik zie het niet(meer) 8).
kan iemand hier een (deskundige) blik op werpen en mij een stukje op gang helpen. een complete oplossing niet nodig, ik moet zelf ook nog iets te doen hebben. :smiley-mr-green:
hieronder de code tot zover:
code: [select]
#include <liquidcrystal.h>

 liquidcrystal lcd (12,11,10,6,5,4,3);
 
//instellen vaste variabelen voor tellen pulsjes

 const int kwhpulse = 2; // puls aangesloten op digitale ingang 2
 
// instellen variabelen voor bijhouden aantal pulsjes

 int pulsestate = 1; // huidige staat van kwh puls, deze äctief laag" dus hier inverteren
 long kwhpulsecounter = 0; // teller voor aantal pulsen
 int lastpulsestate = 1; // vorige staat van kwh puls

// instellen variabelen berekenen pulstijd
 
 float pulseaan = 0;
 float pulseuit = 1;
 float verstrekentijd =0;
 
 //instellen variabelen berekenen kwh en huidig vermogen
 int currentwatts = 0;
 float totalkwh = 0.00;
 int tijd=0;
 
//setup
 void setup() {
   
   pinmode(kwhpulse, input); // maak van (digitale)pin 2 een input
   
   serial.begin(9600); // seriele communicatie op 9600 baud
   
   lcd.begin(16,2); // lcd met 2 regels en 16 karakters per regel
   
   //lcd.print("kwh"); // boodschap op lcd schrijven
 }
 
 
 void loop() {
  pulsestate = digitalread(kwhpulse);  // lees waarde digitale ingang en bewaar de waarde in "pulsestate"
 
  if (pulsestate != lastpulsestate){  //vergelijk de staat van de kwhpulse met zij vorige staat
    if (pulsestate == low){           //als de huidige staat laag ging de puls van uit naar aan
    kwhpulsecounter++;                // als de staat veranderd, verhoog de teller
    serial.print ("aantal pulsen: ");  //controle
    serial.println (kwhpulsecounter);  //controle
   
    pulseaan = millis();                          //tijd in milliseconden vanaf start arduino
    verstrekentijd = (pulseaan - pulseuit)/1000;  //gemeten tijd tussen twee pulsen
    pulseuit = pulseaan;       //bewaren voor volgende ronde
   
    serial.print("tijd tussen pulsen: ");  //controle
    serial.print (verstrekentijd);  //controle
    serial.println(" sec");  //controle
   
    currentwatts = 3600000 / (1000 * verstrekentijd);
   
    serial.print ("huidig verbruik: ");  //controle
    serial.print (currentwatts);  //controle
    serial.println(" watt");  //controle
   
   
    totalkwh = kwhpulsecounter / 1000;
    serial.print ("totaal kwh verbruik: ");
    serial.println(totalkwh);
   
    }
  }
 //bewaar de huidige staat als de laatste staat voor de volgende keer in de loop
 lastpulsestate = pulsestate;  


 
 
 }

   

dag comteccie
welkom op het nederlandstalige gedeelte van het arduino forum.
ik ben blij te zien dat je je code toevoegde. dat maakt de zaak direct wat handiger.
ik heb voor jou code tags toegevoegd ant dat leest makkelijker. best doe je dat natuurlijk zelf.

ik ben niet helemaal zeker van wat ik ga voorstellen maar vervang eens volgende lijn
code: [select]
totalkwh = kwhpulsecounter / 1000;
door
code: [select]
totalkwh = ((float)kwhpulsecounter) / 1000.0;

met vriendelijke groet
jantje


Arduino Forum > International > Nederlands (Moderators: Jantje, JO3RI) > geen resultaat bij delen door 1000 [solved]


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support