regenmeter maken met minivlotters

Geen idee wat je minivlotter voor signaal geeft. Ik vermoed dat het een simpele schakelaar is; in dat geval kun je digitalRead() gebruiken om te detecteren of het nivo in de emmer is bereikt.

Belangrijk om rekening mee te houden is zwevende ingangen (floating inputs). Die moet je zien te voorkomen door gebruik te maken van pull-up of pull-down weerstanden; zwevende ingangen resulteren in valse lezingen. Ook belangrijk is de afstand van de Arduino tot de vlotter. Hoe langer, hoe meer kans dat je ruis oppikt dat ook kan resulteren in valse lezingen; er zijn manieren om dit te onderdrukken maar dat is niet mijn vakgebied.

Om de pomp te activeren kun je digitalWrite() gebruiken. In de meeste gevallen kun je een pomp niet direct aansluiten op een Arduino omdat de pomp te veel stroom trekt en mogelijk een andere voedings spanning nodig heeft (b.v. 12V, misschien zelfs 230V).

De meeste Arduinos hebben geen benul van tijd; het beste dat je kunt bereiken is een stopwatch. Om om middernacht een teller terug te zetten op nul zul je een RTC moeten gebruiken of de tijd uit het internet moeten trekken (wifi/ethernet).

Het is simpel om waardes bij elkaar op te tellen. Als je wilt voorkomen dat de waarde verloren gaat als er electriciteits storing is kun je de huidige waarde waarschijnlijk het beste opslaan in eeprom. Je kunt echter slechts een beperkt aantal keren (100.000) keren een eeprom cel schrijven; je zult een berekeningetje moeten doen hoe lang het zal duren voordat je die 100.000 bereikt (dat hangt af van de hoeveelheid regen). Er zijn (andere) oplossingen als die 100.000 niet genoeg is.

Ik hoop dat je dit een beetje inzicht verschaft.