Menu
Home
Werking
Kosten / Baten
Opbrengst
Blog
De installatie
De datalogger
Links

Laatste meting


De basic stamp / kWh pulsenteller

Het pulsen-tel programma

Hieronder de programmacode die ik gebruik om de pulsen te tellen. Het enige wat dit programmaatje doet:
  • voortdurend ingang-poortje 7 in de gaten houden
  • bij verandering een tellertje ophogen
  • en deze teller doorsturen naar de seriele poort.
Da's alles.

' {$STAMP BS2}
' {$PBASIC 2.5}

                ' Eerst een paar "variabelen" die gebruikt worden
cur VAR Bit     ' huidige (current) status van de ingangs-poort
prev VAR Bit    ' vorige (previous) status .....
ctr VAR Byte    ' hulp-teller
total VAR Word  ' totaal teller

DEBUG "0", CR   ' Bij het opstarten, meteen een "0" naar buiten sturen

ctr = 0         ' Alle "variabelen" vooraf goed instellen
cur = IN7
prev = cur
total = 0

DO              ' En "pollen" maar, steeds opnieuw kijken wat er gebeurt...
  cur = IN7
                ' Bij verandering, zal ctr op 1 komen te staan
  ctr = ctr + (cur ^ prev & prev) 

  prev = cur

  IF (ctr = 1) THEN
  
                ' Als dat gebeurt: teller ophogen
    total = total + ctr

                ' En het resultaat printen
    SEROUT 16, 16468, [DEC total] 
    SEROUT 16, 16468, [CR]
  ENDIF
  ctr = 0
LOOP