Projects/Power Meter: verschil tussen versies
Uit Hackerspace Bitlair
< Projects
Nieuwe pagina aangemaakt met '{{Project |name=Power Meter |contact=Gebruiker:Zarya |info=Bitlair Power meter |status=Productie }} <gallery>
Image:Zarya_15155.jpg| Meter
</gallery>' Â |
kGeen bewerkingssamenvatting  |
||
| (8 tussenliggende versies door 3 gebruikers niet weergegeven) | |||
| Regel 1: | Regel 1: | ||
{{Project | {{Project | ||
|name=Power Meter | |name=Power Meter | ||
|contact= | |start=2012-07-07 | ||
|contact=Zarya | |||
|info=Bitlair Power meter | |info=Bitlair Power meter | ||
|status= | |status=Finished | ||
|Picture=Zarya_15155.jpg | |||
|end=2012-07-15 | |||
}} | }} | ||
* Meter url https://stats.bitlair.nl/ | |||
== Code == | |||
<syntaxhighlight lang="c" line> | |||
#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)); | |||
} | |||
</syntaxhighlight> | |||
== Pictures == | |||
<gallery> | <gallery> | ||
Image:Zarya_15155.jpg| Meter | Image:Zarya_15155.jpg| Meter | ||
Image:Zarya_15157.jpg| Electronic | |||
</gallery> | </gallery> | ||
== Schema == | |||
[[Bestand:Pocircuit.png|200px]] | |||
Huidige versie van 12 jan 2026 17:24
| Project: Power Meter | |
|---|---|
| Beschrijving | Bitlair Power meter |
| Start | 2012-07-07 |
| Contact | Zarya |
| Status | Finished |
- Meter url https://stats.bitlair.nl/
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