Stap 5: Software en programmeren
Dit ontwerp is gebaseerd op een lichtsensor, en gebruikt de onjuiste timer op een Arduino om te voorkomen dat de blinds van openingszin of afsluiting in vreemde tijden--bijvoorbeeld wanneer koplampen van de auto treffer uw venster 's nachts, of wanneer de postbode wandelingen door in de ochtend en werpt een schaduw. Zodra de blinds als gevolg van een licht trigger opent, zal niet zij opnieuw probeert te openen voor 20 uur. Ook, zodra ze dicht, wacht ze bijna een volledige dag voordat op zoek naar schemering opnieuw. Met dit mechanisme blijven de blinds automatisch in-sync met het daglicht, ongeacht de tijd van daglichtbesparingen, uw latitude, de tijd van het jaar, het weer of de nauwkeurigheid van elke klok.
De blinds openen en sluiten op basis van getimede beweging, waar de beweging van de sluiting iets langer dan de beweging van de opening duurt. Deze manier, zelfs zonder enige positie sensor zijn de blinds altijd zeker om terug te keren naar de vastgelopen-gesloten positie, zonder drijven langzaam verder open of verder uitgezet als gevolg van onjuistheden van de timing, wrijving veranderingen, enz. Wellicht moet aanpassen van de timing, maar als de wrijving in uw blinds verandert.
Is er een schakelaar van de override opgenomen in het ontwerp. Als de blinds die u gedurende de dag handmatig sluiten, zal zij gesloten blijven tot de volgende ochtend. Het programma zal nog steeds registreren wanneer schemering zoals gebruikelijk gebeurt, maar de blinds niet verplaatst als ze er al bent. U kunt ook de schakeloptie override te 'trainen' van de blinds, door hen te sluiten wanneer u laten sluiten wilt, vervolgens het wegknippen de schakelaar terug de andere kant voordat ze klaar sluiten. Wanneer u dit doet, wordt het geregistreerd als een trainingsevenement in plaats van een handbediende keuzehefboom. Na een paar keer, het moet krijgen ze vrij dicht bij hoe u wilt. (U kunt de trigger openen op dezelfde manier trainen.)
Om te programmeren van de Arduino Pro Mini, moet u een FTDI kabel zoals deze: https://www.sparkfun.com/products/9718
De Arduino website heeft één of andere info over hoe om hem te programmeren: http://arduino.cc/en/Guide/ArduinoProMini
Als u niet vertrouwd met Arduino in het algemeen bent, lees rond op die site een beetje. U moet de Arduino IDE downloaden naar uw computer te gebruiken voor het openen van dit bestand Ino: https://github.com/drewtm/windowlackey/blob/master... Dan zult u het type van bestuur en de seriële poort (hopelijk zal alleen er één seriële poort om uit te kiezen) en druk op de 'upload' knop.
U moet mogelijk een paar dingen voor uw eigen installatie aanpassen:
#define OPENTIME - Opening rijden duur. Zet dit door trial and error. Het is gelukkig vrij lineair, dus je moet kunnen om het gekozen met slechts een paar probeert te krijgen. Het nummer is in milliseconden.
#define CLOSETIME - afsluiting rijden duur. Dit iets langer dan de opening rijden duur
word dawnbright - Opening lichtniveau. U kunt het voorbeeld schetsen in de lichtsensor bibliotheek gebruiken om sommige basislijn lichte lezingen op het tijdstip van de dag waarop de blinds te bedienen en vervolgens code die nummers in de schets. Het aantal eenheden in dit nummer moet half-lumen, maar dat is vrij zinloos voor mij.
word duskbright - sluiting lichtniveau. Stel op dezelfde manier als de opening lichtniveau.
Afhankelijk van wat voor soort schakelaar gebruikt, u kunt u te wijzigen van de macro #define swON worden gedefinieerd als (digitalRead(swpin)==HIGH). Ik heb de mijne zo instellen dat de '1' mark op de switch betekent blinden openen en de '0' mark jaloezieën gesloten.