Indholdsfortegnelse:

UCL-lloT-Udendørs-lys Udløst af solopgang/solnedgang .: 6 trin
UCL-lloT-Udendørs-lys Udløst af solopgang/solnedgang .: 6 trin

Video: UCL-lloT-Udendørs-lys Udløst af solopgang/solnedgang .: 6 trin

Video: UCL-lloT-Udendørs-lys Udløst af solopgang/solnedgang .: 6 trin
Video: Hvordan reagerer børn, når man fortæller, at der ikke er råd til at holde jul? 2024, November
Anonim
UCL-lloT-Udendørs-lys Udløst af solopgang/solnedgang
UCL-lloT-Udendørs-lys Udløst af solopgang/solnedgang

Hej alle sammen! Med lidt arbejde, nogle dele og kode har jeg sammensat denne instruktive, der viser dig fra start til slut præcis, hvordan du producerer dette udendørs lys. Ideen stammer fra min far, som i løbet af sommeren skulle manuelt ud og skifte, når lyset var tændt fra. Med de hurtigt skiftende solnedgangs- og solopgangstider året rundt spurgte han, om jeg kunne finde en automatiseret måde at gøre det på. Og så er vi her. Et relativt lille projekt.

Trin 1: IO -liste og hvad du skal bruge

IO -liste og hvad du skal bruge
IO -liste og hvad du skal bruge
IO -liste og hvad du skal bruge
IO -liste og hvad du skal bruge
IO -liste og hvad du skal bruge
IO -liste og hvad du skal bruge

Arduino MEGA 2560. Det er i det mindste, jeg har brugt, jeg ved, at du sagtens kunne bruge en anden.

DS3231 og dets bibliotek. (https://rinkydinkelectronics.com/library.php?id=73… Det er vigtigt at vide, at benene, der er indstillet til SDA og SCL, er forskellige afhængigt af hvilken Arduino du bruger.

I052116 IR -modul til infrarød bevægelsesdetektor. Dette særlige modul kan byttes til din valgfri sensor, det er ærligt valgfrit for det hele.

Trin 2: Flowchart

Flowchart
Flowchart

Som det ses i det enkle rutediagram, ligger meget af de tunge løft i Node-Red. Med relativt enkle noder er tanken, at du fra Node-Red når ud til et websted, der ved, hvornår solen går ned og stiger. Når den har den, sender den informationen videre til Arduino og fortæller den. Fra Arduino får vi et signal, der angiver præcis, hvornår lysene faktisk er tændt, så du kan tjekke hjemmefra, lige når lysene brænder væk. Det er også fra Arduino, vi får information om, at nærhedssensoren er blevet aktiveret, som har lyset tændt i x tid.

Trin 3: Fritzing

Fritzing
Fritzing

Sammenlignet med andre projekter er kabelføring ganske enkel her. Det, du skal være opmærksom på, er, at du skal bruge et WIFI-modul for at holde kontakt med Node-Red-serveren eller få en smidbar computer til at være vært for Node-Red-serveren, der er forbundet til Arduino. Forbindelsen mellem Arduino og bærbar computer er ikke vist på billedet, og jeg beklager på forhånd det dårlige Fritzing -billede!

Trin 4: Kodning

Kodning
Kodning
Kodning
Kodning

Hvis der er en ting, jeg fandt, er, at med Firmata (til Arduino-kommunikation med Node-Red), DS3231-biblioteket og mere, var der mange indlæste biblioteker. Fra udgivelsen er kodningen ikke helt færdig, så pseudokode er inkluderet.

Inkluderet i biblioteket fra DS3231 er forudindstillede ben til hvert af Arduino -kortene, og i tilfældet med Mega er det pin 20 og 21, da de er SDA- og SCL -benene på mega. Når det er tilsluttet, kan uret blive fortalt præcis, hvilken dag det er, og hvad det skal holde styr på. Det, jeg fandt lettere at arbejde med, når det kommer til at holde styr på tal, er at bruge int i stedet for streng. Så hvad jeg har gjort er, at jeg konverterer numrene på en streng til int, men som int ikke kan bruge: for at adskille et ur, besluttede jeg mig for at gøre noget andet i stedet for at arbejde med timer, vil vi arbejde med minutter. Mange minutter. Hvis klokken f.eks. Er 13:21, får jeg de to første cifre adskilt og timet med tres. Vi er nu på 801 minutter, da 13 gange 60 er lig med 780, og du tilføjer de sidste 21 minutter. Hvis vores Node-Red siger, at solen går ned kl. 16:58 (i tilfælde af vinter), får vi udendørslysene til at tænde mellem 1018 minutter og en foruddefineret slukningstid, som vil være 1380 (23:00). Hvis vores timer er mellem dem, tænder lysene. Ovenstående matematik er grundlæggende hele programmet uden trin for at få Node-Red til at oprette forbindelse til Arduino og kommunikere. Også at have en sensor, der sikrer, at lysene tændes (Tidligere solnedgang, alligevel) vil blive brugt, men ellers er det hele programmet ovenfor.

Trin 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 et særligt stort flow, ikke at det skal være i dette tilfælde. De første 2 rækker noder er den store del af programmet. Ved hjælp af en GET -funktion henter vi dagens prognose om, hvordan solen vil stige og gå ned. Derfra bruger vi en CSS -vælger til at hente vores specifikke oplysninger, der normalt er tilgængelige på et websted "Inspekter elementer" i en Firefox som angivet på billederne. Bemærk, at ikke alle websteder fungerer på denne måde, og at den, jeg bruger, tilfældigvis fungerer perfekt på denne måde. Derfra vil det skrive information til pin 13, fordi det er det, jeg har udpeget det til at være, selvom test endnu ikke skal diktere, om en pin til at komme til forskellige tidspunkter er brugbar. Som beskrevet i kodningsdelen kommer der oplysninger fra Arduino til Node-Red, hvor det derefter vil angive på et tilgængeligt websted, hvor man let kan kontrollere det. Du skal bruge Firmata til dette, hvis du ønsker at bruge Arduino-funktionerne erhvervet gennem node-red-node-arduino biblioteket på Node-Red. Selvom det ikke er helt konfigureret endnu, og det vil blive opdateret, når jeg er færdig med projektet, har jeg vedhæftet koden til Node-Red Flow i et tekstdokument for nem adgang.

Trin 6: Implementering og brug

Implementering og brug
Implementering og brug

Og for at afslutte vores instruerbare, er den praktiske del af det. Da få huse har dette niveau af automatisk lys, er en helårs løsning velkommen hos mange husejere. For faktisk at forbinde dette med lamper ved hjælp af elektricitet, der ikke er en Arduino, anbefaler jeg ikke at gøre det selv, medmindre du ved præcis, hvad du laver. Når projektet er overstået, påtager jeg mig denne opgave ved hjælp af en elektriker bare for at være sikker. Når jeg tænder din indkørsel ved hjælp af sensor eller strengt tidsmæssigt, anbefaler jeg, at du bygger videre på det, jeg allerede har gjort, hvis du mener faktisk at tage det i brug ud over denne testfase, det er i øjeblikket. De fleste af mine problemer med projektet var strengt i Node-Red til Arduino-delen, og jeg håber, jeg har formået at forklare så klart som muligt, hvordan det Er gjort.

Anbefalede: