Aquarium LED Light Controller baserat på Raspberry Pi (5 / 7 steg)
Steg 5: programvara
Som nämnts, körs mjukvaran på Raspberry Pi.
Grundtanken var att snabbt och enkelt utveckla kontrollerande mjukvaran.
Sedan den första installationen av akvariet ljus system äger rum endast ibland (1 - 3 gånger), utseendet på programvaran är minimalistisk: endast de viktigaste information visas och de ingående elementen är endast knappar vara smart telefon vänliga.
Programvaran var skrivet i python, använder tkinter som grafisk förbrukaren gräns flat.
Programmet startar efter Pi stövlar, läser sina inställningar från konfigurationsfilen. För att få exakt tid, Pi behöver internetuppkoppling (fungerar tid kommer från network time protocol).
Anslutning sker genom vnc (virtual network computing) protokollet, via x11vnc, ingen kryptering, inget lösenord, bara enkla remote display och kontroll.
Lätt kontroll har 9 tid steg, varje steg har dess belysning setpoint. De mellanliggande punkterna (mellan två setpunkter) beräknas med linjär interpolation.
Det finns 2 ytterligare tid växlar, som kan styra för t.ex. pump, CO2 Matningsblock...
Programvaran är vad du kan se, allt är uppenbara, med alla (nödvändigt) informationer visas. Den bas upplösningen är inställd på 1024 x 768 att passa för telefon skärmar.
Kontrollera schemat är en enkel integrerande controller med en Dödband. Power level-reglaget har 1000 steg, så 0,1% är den minsta förändringen i produktionen, som är helt bra nog.
Raspberry Pi har endast en hårdvara PWM utgången, som används i detta projekt. Den maxium PWM (med 1000 steg upplösning) är 9600 Hz, men verkliga experiment (gjort med oscilloskop) visade att något över 1000 Hz är värdelös (helt enkelt LED strip inte är tillräckligt snabbt), faktiskt 960Hz var inställd.
När den faktiska tid som motsvarar en tid setpoint, lagras den faktiska makt nivån i konfigurationsfilen.
Om ljussensorn misslyckas, då en blinkande röd lysdiod visar detta, men ljus kontroll fortsätter med den tidigare sparade power nivå data seten.