stats

37 bit code

Van de meeste weerstations overlijdt de buiten unit het eerst... Hoewel die units bij AliBB los maar een euro of zo zijn heb ik zo'n ding toch nagebouwd met materiaal uit de junckbox, met een AT85 (cpu), een DHT11(temp/humm) en MX-FS-03V (zender).

Een van de zaken waar ik tegenaan liep was het format van de te verzenden code. Dat bleken 37 bits te zijn.

Er is echter geen variabele voor handen voor 37 bit, maar wel voor 32 bit: een long. Daarom besloot ik eerst de checksum over de data te berekend door de 8 nibles van de data bij elkaar op te tellen. Vervolgens worden de 32 bits van de data één voor één naar 'buiten' geschoven. Na 5 shifts komt er ruimte vrij om de checksum in de vrijgekomen ruimte te plaatsen. Op deze wijze geven we de data met checksum toch via één long in 37 shifts door naar de functie die de zender timing doet.

Die timing is 400/2000uS voor een 1, 400/4000uS voor een 0, met 400/7000uS als afsluiting. De data wordt met intervallen van 5 minuten (cpu deepsleep) 5 maal herhaald verzonden.

Of mijn DIY unit het langer zal uithouden dan een originele unit is nog de vraag, maar als project was het mij de fun van de uitdaging waard.

Heb je vragen of opmerkingen? Stuur me een berichtje en je krijgt alle gewenste informatie!

HOME