Innholdsfortegnelse:

UCL-lloT-Utendørslys Utløst av soloppgang/solnedgang .: 6 trinn
UCL-lloT-Utendørslys Utløst av soloppgang/solnedgang .: 6 trinn

Video: UCL-lloT-Utendørslys Utløst av soloppgang/solnedgang .: 6 trinn

Video: UCL-lloT-Utendørslys Utløst av soloppgang/solnedgang .: 6 trinn
Video: Joscha Bach Λ Karl Friston: Ai, Death, Self, God, Consciousness 2024, Juli
Anonim
UCL-lloT-Utendørslys Utløst av soloppgang/solnedgang
UCL-lloT-Utendørslys Utløst av soloppgang/solnedgang

Hei alle sammen! Med litt arbeid, noen deler og kode har jeg satt sammen denne instruksen som vil vise deg fra start til slutt nøyaktig hvordan du produserer dette utendørs lyset. Ideen stammer fra min far, som i løpet av sommeren måtte gå ut og skifte manuelt når lyset var på. Med de raskt skiftende solnedgangs- og soloppgangstidene hele året, spurte han om jeg kunne finne en automatisert måte å gjøre det på. Og så er vi her. Et relativt lite prosjekt.

Trinn 1: IO -liste og hva du trenger

IO -liste og hva du trenger
IO -liste og hva du trenger
IO -liste og hva du trenger
IO -liste og hva du trenger
IO -liste og hva du trenger
IO -liste og hva du trenger

Arduino MEGA 2560. Det er det jeg har brukt i det minste, jeg vet at du enkelt kan bruke et annet.

DS3231 og biblioteket. (https://rinkydinkelectronics.com/library.php?id=73… Det er viktig å vite at pinnene som er angitt for SDA og SCL er forskjellige avhengig av hvilken Arduino du bruker.

I052116 IR -modul for infrarød bevegelsesdetektor. Denne modulen kan byttes ut mot din valgfrie sensor, den er ærlig valgfri for det hele.

Trinn 2: flytskjema

Flytskjema
Flytskjema

Som vist i det enkle flytdiagrammet, ligger mye av de tunge løftene i Node-Red. Med relativt enkle noder er tanken at du fra Node-Red når ut til et nettsted som vet hvilken tid solen går ned og går opp. Når den har den, sender den informasjonen til Arduino og forteller den. Fra Arduino får vi et signal som angir nøyaktig når lysene faktisk er på, slik at du kan sjekke hjemmefra akkurat når lysene brenner bort. Det er også fra Arduino vi får informasjon om at nærhetssensoren er aktivert, som har lyset slått på i x tid.

Trinn 3: Fritzing

Fritzing
Fritzing

Sammenlignet med andre prosjekter er kablingen ganske enkel her. Det du må være oppmerksom på er at du trenger en WIFI-modul for å holde kontakten med Node-Red-serveren, eller få en datamaskin som skal kastes for å være vert for Node-Red-serveren som er koblet til Arduino. Ikke vist på bildet er forbindelsen mellom Arduino og Laptop, og jeg beklager på forhånd for det dårlige Fritzing -bildet!

Trinn 4: Koding

Koding
Koding
Koding
Koding

Hvis det er en ting jeg fant er at med Firmata (for Arduino-kommunikasjon med Node-Red), DS3231-biblioteket og mer, var det mange lastede biblioteker. Fra og med publisering er kodingen ikke helt ferdig, så pseudokode er inkludert.

Inkludert i biblioteket fra DS3231 er forhåndsinnstilte pinner for hvert av Arduino -kortene, og for Mega er det pin 20 og 21, ettersom de er SDA- og SCL -pinnene på mega. Når den er koblet til, kan klokken bli fortalt nøyaktig hvilken dag det er, og hva den skal følge med på. Det jeg syntes var lettere å jobbe med når det gjelder å holde oversikt over tall, er å bruke int i stedet for streng. Så det jeg har gjort er at jeg konverterer tallene til en streng til int, men som int ikke kan bruke: for å skille en klokke bestemte jeg meg for å gjøre noe annet i stedet for å jobbe med timer, vil vi jobbe med minutter. Mange minutter. Hvis klokken for eksempel er 13:21, vil jeg ha de to første sifrene adskilt og timet med seksti. Vi er nå på 801 minutter, da 13 ganger 60 er lik 780 og du legger til de siste 21 minuttene. Hvis vår Node-Red sier at solen går ned klokken 16:58 (i tilfelle vinter), får vi utelysene til å tenne mellom 1018 minutter og en forhåndsdefinert avstengningstid, som vil være 1380 (23:00). Hvis timeren er mellom dem, tennes lysene. Ovennevnte matematikk er i utgangspunktet hele programmet, uten trinnene for å få Node-Red til å koble til Arduino og kommunisere. Også å ha en sensor som sørger for at lysene slås på (Tidligere solnedgang, uansett) vil bli brukt, men ellers er det hele programmet ovenfor.

Trinn 5: Node-rød

Node-rød
Node-rød
Node-rød
Node-rød
Node-rød
Node-rød
Node-rød
Node-rød

Ikke en spesielt stor flyt, ikke at det trenger å være i dette tilfellet. De to første radene med noder er den store delen av programmet. Ved å bruke en GET -funksjon, henter vi dagens prognose om hvordan solen vil gå opp og gå ned. Derfra bruker vi en CSS -velger for å hente vår spesifikke informasjon, vanligvis tilgjengelig på et nettsted "Inspiser elementer" i en Firefox som angitt på bildene. Vær oppmerksom på at ikke alle nettsteder fungerer på denne måten, og det jeg bruker fungerer tilfeldigvis perfekt på denne måten. Derfra vil den skrive informasjon til pin 13 fordi det er det jeg har utpekt det til å være, selv om testing ennå ikke skal diktere om en pin kan komme til forskjellige tider. Som beskrevet i kodingsdelen, vil informasjon komme fra Arduino til Node-Red, hvor den deretter vil indikere på et tilgjengelig nettsted hvor man enkelt kan sjekke det. Du trenger Firmata for dette hvis du ønsker å bruke Arduino-funksjonene anskaffet gjennom node-red-node-arduino-biblioteket på Node-Red. Selv om det ikke er helt konfigurert ennå, og det vil bli oppdatert når jeg er ferdig med prosjektet, har jeg lagt ved koden for Node-Red Flow i et tekstdokument for enkel tilgang.

Trinn 6: Distribusjon og bruk

Distribusjon og bruk
Distribusjon og bruk

Og for å avslutte vår instruerbare, er den praktiske delen av den. Med få hus som har dette nivået av automatisk lys, er en helårs løsning velkommen for mange huseiere. For å faktisk koble dette til lamper som bruker strøm som ikke er en Arduino, anbefaler jeg ikke å gjøre det selv med mindre du vet nøyaktig hva du gjør. Når prosjektet er over, vil jeg påta meg denne oppgaven ved hjelp av en elektriker bare for å være sikker. Ved å tenne oppkjørselen din med sensor eller strengt tidsmessig, anbefaler jeg at du bygger på det jeg allerede har gjort hvis du mener å faktisk ta den i bruk utover denne testfasen den er i. De fleste problemene mine med prosjektet var strengt tatt i Node-Red til Arduino-delen, og jeg håper jeg har klart å forklare så tydelig som mulig hvordan det er ferdig.

Anbefalt: