Lättare upptäcka 433 MHz RF Arduino Smart mörkar (2 / 2 steg)
Steg 2: Steg 2: Arduino kod och bästa praxis
Bifogat är Arduino koden.
Koden är ganska rakt fram. Det finns en slinga som övervakar fotomotstånd. Om värdet går under ett visst tröskelvärde (500 i mitt fall), utlöser det en tillståndet ändras. Statliga ändringen utlöser den loop som anger parametrarna som servo och roterar den. Det finns en fördröjning i slutet av huvudloop att förhindra mörkarna från öppnas och stängs hela tiden när ljuset är på ett tröskelvärde.
Om en tryckknapp eller RF-signal upptäcks, initieras en annan slinga som fortsätter tills knappen motsatt RF kommandot detekteras. Som med de flesta kod, är det svårt att förklara men lätt att titta på.
Du kan övervaka vad som händer i följetong monitor. Det hjälper mycket när inställningsvärden fotomotstånd för "day" och "natt." Om du hittar du behöver mer eller mindre känslighet med din fotomotstånd, ändra 10K resistor till en mer passande för din ljusstyrka. Det finns många bra tutorials förklarar hur man väljer bästa motståndet att använda tillsammans med ett fotomotstånd.
Jag lånade tungt från ssshake. Tack för bra koden! Hans inställning är mycket mer sofistikerade än min och skulle rekommendera om du letar efter något mer ambitiösa. Här är en länk till hans setup.
Obs, under den första cykeln av slingan det kan upptäcka en ändring (beroende på ljuset) och rotera servo. Detta gjorde det svårt för mig att få inledande sladd inslagning räknat ut. Eftersom jag var för lat för att ändra koden om jag började systemet i mörkret eller dagsljus, fann jag det enklaste att koppla ur servo under den första cykeln av slingan. Detta gör att koden "stabilisera" till oavsett vilken nuvarande ljus status är. Jag koppla in dra sladdar, plug servo tillbaka i, och utanför det går. Under testningen, kan du ändra fördröjningstiden i slutet av slingan så du behöver inte vänta på mörkarna att bli mottaglig igen.