Inhoudsopgave:

UCL-lloT-Buitenlicht getriggerd door zonsopgang/zonsondergang. Ajarnpa
UCL-lloT-Buitenlicht getriggerd door zonsopgang/zonsondergang. Ajarnpa

Video: UCL-lloT-Buitenlicht getriggerd door zonsopgang/zonsondergang. Ajarnpa

Video: UCL-lloT-Buitenlicht getriggerd door zonsopgang/zonsondergang. Ajarnpa
Video: Карл Фристон: Дереализация, опасности для сознания 2024, November
Anonim
UCL-lloT-Buitenlicht Getriggerd door zonsopgang/zonsondergang
UCL-lloT-Buitenlicht Getriggerd door zonsopgang/zonsondergang

Hallo allemaal! Met een beetje werk, wat onderdelen en code heb ik deze instructable samengesteld die je van begin tot eind precies laat zien hoe je deze buitenlamp kunt produceren. Het idee kwam van mijn vader, die in de zomer handmatig naar buiten moest om te wisselen als het licht aan was. Met de snel veranderende tijden van zonsondergang en zonsopgang het hele jaar door, vroeg hij of ik een geautomatiseerde manier kon vinden om dit te doen. En dus zijn we hier. Een relatief klein project.

Stap 1: IO-lijst en wat je nodig hebt

IO-lijst en wat je nodig hebt
IO-lijst en wat je nodig hebt
IO-lijst en wat je nodig hebt
IO-lijst en wat je nodig hebt
IO-lijst en wat je nodig hebt
IO-lijst en wat je nodig hebt

Arduino MEGA 2560. Het is wat ik in ieder geval heb gebruikt, ik weet dat je gemakkelijk een andere kunt gebruiken.

DS3231 en zijn bibliotheek. (https://rinkydinkelectronics.com/library.php?id=73… Het is belangrijk om te weten dat de pinnen die zijn ingesteld voor SDA en SCL verschillen, afhankelijk van welke Arduino je gebruikt.

I052116 IR Infrarood Bewegingsdetector Sensormodule. Deze specifieke module kan worden ingewisseld voor uw sensor naar keuze, het is eerlijk gezegd optioneel voor het hele ding.

Stap 2: Stroomdiagram

Stroomdiagram
Stroomdiagram

Zoals te zien is in het eenvoudige stroomdiagram, bevindt een groot deel van het zware werk zich in Node-Red. Met relatief eenvoudige nodes is het de bedoeling dat je vanuit Node-Red een website bereikt die weet hoe laat de zon ondergaat en opkomt. Zodra het het heeft, stuurt het de informatie naar de Arduino om het te vertellen. Van de Arduino krijgen we een signaal dat precies aangeeft wanneer de lichten daadwerkelijk aan zijn, zodat je vanuit je huis kunt controleren wanneer de lichten wegbranden. Het is ook van de Arduino dat we informatie krijgen dat de nabijheidssensor is geactiveerd, waarbij het licht gedurende x tijd aan gaat.

Stap 3: Fritsen

Fritsen
Fritsen

In vergelijking met andere projecten is de bekabeling hier vrij eenvoudig. Waar je op moet letten, is dat je een WIFI-module nodig hebt om contact te houden met de Node-Red-server, of een wegwerpcomputer te krijgen om de Node-Red-server op te hosten die is verbonden met de Arduino. Niet getoond op de foto is de verbinding tussen Arduino en Laptop, en bij voorbaat mijn excuses voor de slechte Fritzing-foto!

Stap 4: Coderen

Codering
Codering
Codering
Codering

Als er iets is dat ik heb gevonden, is dat met Firmata (voor Arduino-communicatie met Node-Red), de DS3231-bibliotheek en meer, er veel geladen bibliotheken waren. Op het moment van publicatie is de codering nog niet helemaal klaar, dus pseudo-code is inbegrepen.

Inbegrepen in de bibliotheek van de DS3231 zijn vooraf ingestelde pinnen voor elk van de Arduino-boards, en in het geval van de Mega is het pin 20 en 21 omdat dit de SDA- en SCL-pinnen op de mega zijn. Eenmaal aangesloten, kan de klok precies worden verteld welke dag het is en wat hij moet bijhouden. Wat ik gemakkelijker vond om mee te werken als het gaat om het bijhouden van getallen, is het gebruik van int in plaats van string. Dus wat ik heb gedaan, is dat ik de getallen van een string converteer naar int, maar omdat int niet kan gebruiken: om een klok te scheiden, besloot ik in plaats daarvan iets anders te doen. In plaats van met uren te werken, gaan we werken met minuten. Veel minuten. Als de klok bijvoorbeeld 13:21 is, zal ik de eerste twee cijfers gescheiden houden en op zestig zetten. We zitten nu op 801 minuten, aangezien 13 keer 60 gelijk is aan 780 en je telt de laatste 21 minuten op. Als onze Node-Red zegt dat de zon ondergaat om 16:58 (in het geval van de winter), laten we de buitenverlichting aangaan tussen 1018 minuten en een vooraf gedefinieerde uitschakeltijd, die 1380 (23:00 uur) is.). Als onze timer daartussen zit, gaan de lichten aan. De bovenstaande wiskunde is in feite het hele programma, zonder de stappen om Node-Red verbinding te laten maken met de Arduino en te communiceren. Er wordt ook een sensor gebruikt die ervoor zorgt dat de lichten aan gaan (in ieder geval na zonsondergang), maar verder is dat het hele programma hierboven.

Stap 5: Knooppunt-Rood

Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood
Knooppunt-Rood

Geen bijzonder grote stroom, niet dat dat in dit geval nodig is. De eerste 2 rijen knooppunten vormen het grote deel van het programma. Met behulp van een GET-functie halen we de voorspelling van vandaag op over hoe de zon zal opkomen en ondergaan. Van daaruit gebruiken we een CSS-selector om onze specifieke informatie op te halen, meestal toegankelijk op een website "Inspect Elements" op een Firefox zoals aangegeven op de afbeeldingen. Houd er rekening mee dat niet alle websites op deze manier werken en dat degene die ik gebruik perfect op deze manier werkt. Van daaruit zal het informatie naar pin 13 schrijven, want dat is wat ik heb aangewezen om het te zijn, hoewel testen nog moet bepalen of een pin naar verschillende tijden werkbaar is. Zoals beschreven in het coderingsgedeelte, komt informatie van de Arduino naar Node-Red, waar het vervolgens op een toegankelijke website wordt aangegeven waar men het gemakkelijk kan controleren. Hiervoor heb je Firmata nodig als je de Arduino-functies wilt gebruiken verkregen via de node-red-node-arduino-bibliotheek op Node-Red. Hoewel het nog niet helemaal is ingesteld en het zal worden bijgewerkt als ik het project afrond, heb ik de code voor de Node-Red Flow in een tekstdocument bijgevoegd voor gemakkelijke toegang.

Stap 6: implementatie en gebruik

Implementatie en gebruik
Implementatie en gebruik

En om onze instructable af te maken, is het praktische deel ervan. Omdat er maar weinig huizen zijn met dit niveau van automatisch licht, is een oplossing het hele jaar door welkom bij veel huiseigenaren. Om dit daadwerkelijk te verbinden met lampen die elektriciteit gebruiken die geen Arduino is, raad ik aan om het niet zelf te doen, tenzij je precies weet wat je doet. Nu het project voorbij is, zal ik deze taak voor de zekerheid op me nemen met de hulp van een elektricien. Je oprit verlichten met een sensor of strikt qua tijd, raad ik aan om voort te bouwen op wat ik al heb gedaan als je bedoel om het daadwerkelijk te gebruiken na deze testfase waarin het zich momenteel bevindt. De meeste van mijn problemen met het project waren strikt in het gedeelte Node-Red naar Arduino, en ik hoop dat ik erin geslaagd ben zo duidelijk mogelijk uit te leggen hoe dat is klaar.

Aanbevolen: