tabel

Ik vraag me af hoe je de tijd gaat meten? Arduino heeft geen klok.
Stel dat je een ethernet kaart zou gebruiken om de tijd te weten... is het dan niet handiger om de server om het kwartier te vragen of er iets moet gebeuren?

Als je toch alles op arduino doet kan je je best beperken tot schakelen bv om het uur (half uur ...) en schakelen per bv per 5 graden. Dan kan je een tabel maken met als rijen het uur en als kolommen de temperatuur en enkel ja neen als waarden (bits dus geen booleans). Als je dat met een integer doet heb je al 165 = 80° range aan met een long 325=160°) en kom je dus met 24 integers of longs toe.
De rest is dan gewoon boolean logica BV schakelen by 10 graden om 3 uur (veronderstellend dat je begint vanaf nul graden) word dan iets als

if( Tabel[3] & (2^2) ) schakelmotor

Hoe kon ik aan 2^2? de eerste 2 omdat je binair werkt de 2 de 2 omdat je de 3 de waarde wil (je begint met 0 8) ). De 2de 2 komt niet toevallig overeen met 10/5. Als je met int werkt (en omdat int automatisch afrond) kan je dan zeggen graden/5.
Je code wordt dan

if( Tabel[uur] & (2^(graden/5)) ) schakelmotor

Als je niet vanaf nul begint met de graden moet je dit in rekening brengen. BV als je van -5 graden begint is ofset =-5.

if( Tabel[uur] & (2^((graden-ofset)/5)) ) schakelmotor

Met vriendelijke groet
Jantje

ps merk op dat de editor & schrijft. Waar het om gaat is de bitwise and die hier omschreven is & - Arduino Reference