Innehållsförteckning:

UCL-lloT-Outdoor-light Utlöst av soluppgång/solnedgång .: 6 steg
UCL-lloT-Outdoor-light Utlöst av soluppgång/solnedgång .: 6 steg

Video: UCL-lloT-Outdoor-light Utlöst av soluppgång/solnedgång .: 6 steg

Video: UCL-lloT-Outdoor-light Utlöst av soluppgång/solnedgång .: 6 steg
Video: EXTENDED HIGHLIGHTS | Man City 3-3 Tottenham | Points shared in Premier League thriller! 2024, Juli
Anonim
UCL-lloT-Outdoor-light Utlöst av soluppgång/solnedgång
UCL-lloT-Outdoor-light Utlöst av soluppgång/solnedgång

Hej alla! Med lite arbete, några delar och kod har jag sammanställt denna instruerbara som visar dig från början till slut exakt hur du producerar detta utomhusljus. Idén härstammade från min pappa, som under sommaren var tvungen att manuellt gå ut och byta när ljuset var tänt från. Med den snabbt föränderliga solnedgången och soluppgångstiderna året runt frågade han om jag kunde hitta ett automatiserat sätt att göra det. Och så är vi här. Ett relativt litet projekt.

Steg 1: IO -lista och vad du behöver

IO -lista och vad du behöver
IO -lista och vad du behöver
IO -lista och vad du behöver
IO -lista och vad du behöver
IO -lista och vad du behöver
IO -lista och vad du behöver

Arduino MEGA 2560. Det är vad jag har använt åtminstone, jag vet att du enkelt kan använda en annan.

DS3231 och dess bibliotek. (https://rinkydinkelectronics.com/library.php?id=73… Det är viktigt att veta att stiften som ställts in för SDA och SCL är olika beroende på vilken Arduino du använder.

I052116 IR -modul för infraröd rörelsedetektor. Den här modulen kan bytas ut mot din valda sensor, det är ärligt talat valfritt för det hela.

Steg 2: Flödesschema

Flödesschema
Flödesschema

Som framgår av det enkla flödesschemat finns mycket av de tunga lyften i Node-Red. Med relativt enkla noder är tanken att från Node-Red når du ut till en webbplats som vet vilken tid solen går ner och går upp. När den väl har den skickar den informationen till Arduino och berättar för den. Från Arduino får vi en signal som anger exakt när lamporna faktiskt är tända, så att du kan kolla hemifrån precis när lamporna brinner bort. Det är också från Arduino vi får information om att närhetssensorn har aktiverats, som har ljuset tänt under x tid.

Steg 3: Fritzing

Fritzing
Fritzing

Jämfört med andra projekt är kablarna ganska enkla här. Vad du behöver vara medveten om är att du behöver en WIFI-modul för att hålla kontakten med Node-Red-servern eller få en kastad dator för att vara värd för Node-Red-servern som är ansluten till Arduino. Anslutningen mellan Arduino och bärbar dator visas inte på bilden, och jag ber om ursäkt på förhand för den dåliga Fritzing -bilden!

Steg 4: Kodning

Kodning
Kodning
Kodning
Kodning

Om det är en sak jag hittade är att med Firmata (för Arduino-kommunikation med Node-Red), DS3231-biblioteket och mer, fanns det många laddade bibliotek. Från och med publiceringen är kodningen inte riktigt klar, så pseudokod ingår.

Inkluderat i biblioteket från DS3231 är förinställda stift för var och en av Arduino -korten, och för Mega är det stift 20 och 21 eftersom de är SDA- och SCL -stiften på megan. När den är ansluten kan klockan få veta exakt vilken dag det är och vad den ska hålla reda på. Det jag tyckte var lättare att arbeta med när det gäller att hålla reda på siffror, är att använda int istället för sträng. Så vad jag har gjort är att jag konverterar numren på en sträng till int, men som int inte kan använda: för att separera en klocka bestämde jag mig för att göra något annat istället för att arbeta med timmar, kommer vi att arbeta med minuter. Massor av minuter. Om klockan till exempel är 13:21 har jag de två första siffrorna separerade och tidsinställda med sextio. Vi är nu på 801 minuter, då 13 gånger 60 är 780 och du lägger till de senaste 21 minuterna. Om vår Node-Red säger att solen går ner klockan 16:58 (om det är vinter) får vi utomhuslamporna att tändas mellan 1018 minuter och en fördefinierad avstängningstid, som kommer att vara 1380 (23:00). Om vår timer är mellan dem tänds lamporna. Ovanstående matematik är i princip hela programmet, utan stegen att få Node-Red att ansluta till Arduino och kommunicera. Även att ha en sensor som ser till att lamporna tänds (tidigare solnedgång i alla fall) kommer att användas, men annars är det hela programmet ovan.

Steg 5: Node-Red

Nod-röd
Nod-röd
Nod-röd
Nod-röd
Nod-röd
Nod-röd
Nod-röd
Nod-röd

Inte ett särskilt stort flöde, inte att det behöver vara i det här fallet. De första två raderna av noder är den stora delen av programmet. Med hjälp av en GET -funktion hämtar vi dagens prognos om hur solen kommer att gå upp och gå ner. Därifrån använder vi en CSS -väljare för att hämta vår specifika information, vanligtvis tillgänglig på en webbplats "Inspektera element" i en Firefox som anges på bilderna. Observera att inte alla webbplatser fungerar på det här sättet och att den jag använder råkar fungera perfekt på detta sätt. Därifrån kommer den att skriva information till stift 13 eftersom det är vad jag har utsett det att vara, även om testning ännu inte dikterar om en nål kommer till olika tider är genomförbar. Som beskrivs i kodningsdelen kommer information från Arduino till Node-Red, där den sedan kommer att indikera på en tillgänglig webbplats där man enkelt kan kontrollera den. Du behöver Firmata för detta om du vill använda Arduino-funktionerna förvärvat genom nod-röd-nod-arduino-biblioteket på Node-Red. Även om det inte är helt konfigurerat än, och det kommer att uppdateras när jag avslutar projektet, har jag bifogat koden för Node-Red Flow i ett textdokument för enkel åtkomst.

Steg 6: Distribution och användning

Distribution och användning
Distribution och användning

Och för att avsluta vår instruerbara, är den praktiska delen av det. Eftersom få hus har denna nivå av automatiskt ljus är en helårslösning välkommen för många husägare. För att faktiskt ansluta detta till lampor med el som inte är en Arduino, rekommenderar jag inte att göra det själv om du inte vet exakt vad du gör. När projektet är klart kommer jag att ta mig an den här uppgiften med hjälp av en elektriker bara för att vara säker. Tändning av din uppfart med sensor eller strikt tidsmässigt, jag rekommenderar att du bygger vidare på vad jag har gjort redan om du menar att faktiskt använda den utöver denna testfas som den befinner sig i. De flesta av mina problem med projektet var strikt i Node-Red till Arduino-delen, och jag hoppas att jag har lyckats förklara så tydligt som möjligt hur det är klart.

Rekommenderad: