Stap 1: Basisidee (arduino)
Ik heb een real time klok (aka RTC, ds1307 chip, i2c protocol) Raad, die heel goedkoop is, om er zeker van dat het zal alle blijven werken na enige macht neer geval toegevoegd. De afzetmogelijkheden voor de lamp en de pomp zijn gekoppeld aan 220V stroomvoorziening via 10A Relais, beheerd door de arduino.
Er zijn vele voorbeelden van de RTC voor Arduino bedrading in internet, verschillende complexiteit niveau (ik zag die wordt verondersteld te nemen van de systeemtijd van de PC terwijl het opvlammen en in EEPROM een vlag instellen wanneer RTC is geconfigureerd). Echter mag u de eenvoudigste een - moet je flash deze slechts één keer voor de hele levensduur. Ik gebruikte bascom AVR + AVRdudeR voor het programmeren van hier, de hele code was gebaseerd op Bascom voorbeeld (ds1307_3231.bas). Ik had te knipperen 2 aparte codes - een voor RTC configuratie, tweede met geen RTC configuratie om te voorkomen dat RTC re-set op arduino herstart, maar u kunt een enkel programma, zoals ik al eerder zei.
Hier zijn enkele belangrijke dingen uit mijn code:
' presets voor Arduino uno r3:
$regfile = "m328pdef.dat"
$crystal = 16000000
' servo setup
Config Servos = 1, Servo1 = Portb.4, Reload = 30, Timer = Timer1
Inschakelen Interrupts: Inschakelen Urxc
' voederen sub-programma (het doet het door verschillende stappen om meer effectief + er is een vertraging van 30 seconden om te voorkomen dat opnieuw uitvoering meerdere keren per minuut)
Voeding:
Voor F = 35 tot en met 85 stap 10 Servo(1) = F: wacht 1 volgende F Servo(1) = 20: wachten 2: Servo(1) = 40: 1 wachten: Servo(1) = 20: 2 wachten: Servo(1) = 40: wacht 30
Terugkeer