Stap 2: Stap 2: Arduino, Code en beste praktijken
Bijgevoegd is de code van de Arduino.
De code is vrij ongecompliceerd. Er is een lus die de fotoweerstand bewaakt. Als de waarde gaat onder een bepaalde drempel (500 in mijn geval), wordt er gegenereerd een status verandert. De verandering van staat activeert de lus waarin de servo-parameters en gedraaid. Er is een vertraging aan het einde van de hoofdlus om te voorkomen dat de blinds van openen en sluiten voortdurend wanneer het licht op een drempelwaarde is.
Als een drukknop of RF signaal wordt gedetecteerd, wordt een andere lus gestart die gaat zo door totdat de tegenovergestelde knop RF opdracht wordt gedetecteerd. Zoals met de meeste code, is het moeilijk uit te leggen maar eenvoudig om naar te kijken.
U kunt controleren wat er gebeurt in de seriële monitor. Het helpt veel bij het vaststellen van de fotoweerstand waarden voor "day" en "night". Als u dat u moet min of meer gevoeligheid met uw photoresistor vinden, verander de 10K weerstand een geschikter voor uw helderheid. Er zijn veel grote tutorials die uitleggen hoe om te kiezen van de beste weerstand te gebruiken in combinatie met een photoresistor.
Ik geleend zwaar van ssshake. Bedankt voor de grote code! Zijn setup is veel geavanceerder dan de mijne en zou aanbevelen als u op zoek bent naar iets ambitieuzer. Hier is een link naar zijn setup.
Opmerking, tijdens de eerste cyclus van de lus kan het detecteren van een verandering van de staat (afhankelijk van het licht) en draai de servo. Dit maakte het moeilijk voor mij om de eerste snoeropbergsysteem bedacht. Omdat ik te lui om te veranderen van de code was als ik was het starten van het systeem in het donker of daglicht, vond ik het gemakkelijkst om de stekker uit de servo tijdens de eerste cyclus van de lus. Hierdoor wordt de code "stabiliseren" aan wat de huidige status van de licht is. Ik haak de pull-koorden, plug de servo terug in en uit het gaat. Tijdens het testen, kunt u de vertragingstijd aan het eind van de lus zodat u niet hoeft te wachten op de blinds opnieuw te spelen.