Projects/Power Meter: verschil tussen versies
< Projects
kGeen bewerkingssamenvatting |
kGeen bewerkingssamenvatting |
||
| Regel 56: | Regel 56: | ||
Image:Zarya_15157.jpg| Electronic | Image:Zarya_15157.jpg| Electronic | ||
</gallery> | </gallery> | ||
== Schema == | |||
[[Bestand:Pocircuit.png|200px]] | |||
Versie van 7 jul 2012 19:18
| Project Power Meter | |
|---|---|
| Naam | Power Meter |
| Beschrijving | Bitlair Power meter |
| Website | |
| Start | |
| Contact | Gebruiker:Zarya |
| Status | Productie“Productie” staat niet in de lijst met mogelijke waarden voor de eigenschap “Project status” (Alpha, Beta, Production, Finished, Abandoned, Concept). |
Code
#include <WProgram.h>
#include <inttypes.h>
#define MS_PER_HOUR 3.6e6
int cycles_per_kwh = 100;
int max_watt = 6000;
unsigned long previous = 0;
unsigned long cycle = 0;
boolean last = LOW;
void kwhChange() {
unsigned long now = millis();
unsigned long time = now - previous;
if (cycle == 0) {
cycle++;
return;
}
// digitalWrite(13,last);
previous = now;
double W = 1000 * ((double) MS_PER_HOUR / time) / cycles_per_kwh;
Serial.print("Cycle ");
Serial.print(cycle, DEC);
Serial.print(": ");
Serial.print(time, DEC);
Serial.print(" ms, ");
Serial.print(W, 2);
Serial.println(" W");
cycle++;
if (last) last = LOW;
else last = HIGH;
}
void setup () {
Serial.begin(57600);
pinMode(13, OUTPUT);
attachInterrupt(0, kwhChange, FALLING);
}
void loop () {
digitalWrite(13,digitalRead(2));
}
Pictures
-
Meter
-
Electronic