Blinds' Eye (5 / 5 steg)
Steg 5: Mjukvara och programmering
Denna design är baserad på en ljussensor och använder felaktiga timern på en Arduino för att förhindra mörkarna från öppning eller stängning på konstiga tider--till exempel när bilstrålkastare slog ditt fönster på natten eller när brevbäraren går förbi på morgonen och kastar en skugga. När mörkarna öppnas på grund av en ljus trigger, brukar de försöka öppna igen i 20 timmar. På samma sätt när de stänger, kommer de vänta nästan en hel dag innan letar efter skymningen igen. Med denna mekanism bo mörkarna automatiskt i-sync med dagsljus, oavsett sommartid, din latitud, tiden av året, vädret eller riktigheten av en klocka.
Mörkarna öppna och stänga utifrån tidsinställda rörelse, där den sista motion varar något längre än det inledande förslaget. Detta sätt, även utan någon lägesgivare är mörkarna alltid noga med att återvända till den fastnat-stängd positionen, utan långsamt drivande ytterligare öppna eller ytterligare stängt på grund av timing felaktigheter, friktion förändringar, etc. Du kan behöva justera tidpunkten, dock om friktionen i dina mörkar ändras.
Det finns en override-funktion som ingår i konstruktionen. Om du stänger mörkarna manuellt under dagen, ska de stanna stängda tills nästa morgon. Programmet kommer att fortfarande anmäla dig när skymningen händer som vanligt, men mörkarna kommer inte att flytta om de redan är där. Du kan också använda växeln omställning för att "utbilda" mörkarna, genom att stänga dem när du vill att de ska stänga, sedan vända växeln tillbaka åt andra hållet innan de är klara avslutande. När du gör detta, registrerar det som en utbildning händelse istället för en manuell omställning. Efter några gånger, det bör få dem ganska nära till hur du vill. (Du kan träna öppning avtryckaren på samma sätt.)
För att programmera Arduino Pro Mini, behöver du en FTDI kabel som den här: https://www.sparkfun.com/products/9718
Arduino webbplats har lite info om hur man programmerar det: http://arduino.cc/en/Guide/ArduinoProMini
Om du är obekant med Arduino i allmänhet, läsa runt på webbplatsen lite. Måste du hämta Arduino IDE till datorn och använda den för att öppna den här .ino-filen: https://github.com/drewtm/windowlackey/blob/master... Sedan väljer du typ av styrelsen och den seriella porten (förhoppningsvis det bara blir en seriell port att välja mellan) och tryck på knappen "ladda upp".
Du kan behöva anpassa några saker för din egen installation:
#define OPENTIME - öppning kör längd. Ange detta genom trial and error. Lyckligtvis är det ganska linjär, så du bör kunna få den slås in med bara ett par försök. Numret anges i millisekunder.
#define CLOSETIME - avslutande kör längd. Göra detta något längre än öppningen kör längd
ordet dawnbright - öppning ljusnivå. Du kan använda exempel skisser i ljussensor biblioteket för att få vissa originalplan ljusavläsningar vid tidpunkter på dagen du vill mörkarna att fungera och sedan koden dessa siffror i skissen. De på detta nummer bör vara halv-lumen, men det är ganska meningslöst för mig.
ordet duskbright - stängning ljusnivå. Ställa in på samma sätt som öppning ljusnivån.
Beroende på vilken typ av strömbrytare du använde, du kan behöva ändra makro #define swON definieras som (digitalRead(swpin)==HIGH). Jag har min sätta så att '1' märket på switchen betyder mörkar öppna och varumärket "0" betyder mörkar stängd.