Inhoudsopgave:

Geen blauwe lamp: 4 stappen
Geen blauwe lamp: 4 stappen

Video: Geen blauwe lamp: 4 stappen

Video: Geen blauwe lamp: 4 stappen
Video: Lamp ophangen stappenplan. 2024, November
Anonim
Geen blauwe lamp
Geen blauwe lamp
Geen blauwe lamp
Geen blauwe lamp
Geen blauwe lamp
Geen blauwe lamp
Geen blauwe lamp
Geen blauwe lamp

Dus deze Lazy Old Geek (L. O. G.) heeft aan een Blue Light Project gewerkt:

www.instructables.com/id/Blue-Light-Projec…

www.instructables.com/id/Blue-Light-Projec…

Welnu, voor de volgende stap wilde ik een lamp die overdag helder zou zijn en 's avonds/nacht geen blauw licht had.

Ontwerphardware:

Ik besloot een RTC (Real Time Clock) te gebruiken om de tijden voor lichtveranderingen te regelen.

Ik koos voor de DS3231 omdat deze een betere nauwkeurigheid heeft dan de DS1307. De DS3231 kan 5v of 3.3v zijn.

Voor licht gebruik ik een WS2812B LED-string. Deze hebben een eenvoudige driedraads interface en regelbare rode, groene en blauwe LED's. WS2812B zijn 5v-apparaten.

Voor de microcontroller gebruik ik een Pro Micro, 5v 16MHz.

Hoewel de WS2812B waarschijnlijk zal werken met 3,3V, is het beter om een 5V Arduino te gebruiken.

De Pro Micro is een goedkope Arduino met een Atmega32U4-microcontroller.

De lamp heeft een aan/uit schakelaar om de lamp aan of uit te zetten.

Er zal een potentiometer zijn om de helderheid te regelen.

Ontwerpsoftware:

De DS3231 RTC regelt de timing, hij heeft een batterijback-up, dus moet de tijd behouden, zelfs als de stroom uitvalt.

Overdag zouden alle RGB-LED's aan zijn, bestuurbaar door de pot tot volledige intensiteit.

Vroeg in de avond zijn de blauwe leds uit, rood en groen max.

Naarmate de avond vordert, dimmen de rode en groene leds, met de voorkeur voor rood boven groen (mijn tests in deel 2 suggereren dat de groene leds wat blauw bevatten).

Na ongeveer 22.00 uur alle LED's zullen uit zijn.

PROBLEEM:

Terug naar de DS3231 RTC-module, ik kocht de mijne van Aliexpress zoals ik deed voor de andere componenten.

Deze zouden moeten werken met een LIR2032 oplaadbare batterij en deze opladen. Ik probeerde het uit. Na ongeveer een dag was de batterij leeg.

Na wat zoeken op internet kwam ik dit artikel tegen.

www.onetransistor.eu/2019/07/zs042-ds3231-…

Ik ben het eens met deze analyse, maar dacht dat de LIR2032 voldoende maar niet overdreven zou opladen. Ik had het blijkbaar mis. Mijn DS3231, hoewel ook gemarkeerd als ZS-042 zoals in het artikel, was iets anders dan de zijne, maar bijna hetzelfde. Dus heb ik de diode op de foto losgesoldeerd en een CR2032-batterij geïnstalleerd. Zonder de diode zal de module niet proberen de batterij op te laden. Nu houdt de DS3231 de juiste tijd, zelfs als de stroom is losgekoppeld, en de batterij zou vele jaren mee moeten gaan.

Energiebehoeften:

De WS2812B is een reeks RGB-LED's die soms NeoPixels wordt genoemd. Elke NeoPixel heeft maximaal 60mA nodig. Ik gebruik 12 Neo Pixels, dus ik heb 0,72A nodig. Ik gebruik een 2A USB-adapter, dus heb voldoende stroom.

Stap 1: BlueLamp-printplaat

BlueLamp-printplaat
BlueLamp-printplaat
BlueLamp-printplaat
BlueLamp-printplaat

Dus zoals ik gewoonlijk doe, gebruikte ik de gratis Eagle Cadsoft-software (nu Autodesk) om mijn PCB te lay-outen en te maken.

www.autodesk.com/products/eagle/free-downl…

Het Eagle-schema en de bordbestanden zijn samen met het schema in een afbeelding bijgevoegd.

Een opmerking over het schema, de weerstand van 330 ohm en de condensator van 10.000 uFd zijn aanbevelingen van de neopixelgids van Adafruit:

learn.adafruit.com/adafruit-neopixel-uberg…

De schakelknop die ik gebruikte "Toortsdrukknopschakelaar" kwam hier vandaan:

www.aliexpress.com/item/32904942704.html?s…

De 10K (B103) potentiometer van hier:

www.aliexpress.com/item/32672253655.html?s…

Stap 2: Montage van de lamp

De lamp monteren
De lamp monteren
De lamp monteren
De lamp monteren

Ik had toevallig een zware voet van een lamp die ik had gekocht. Er zat een grote ronde pin op. Ik nam een stuk PVC-buis dat eroverheen paste. Het zat een beetje los, dus ik nam een bout en een paar moeren zodat ik het kon vastdraaien. (zie foto)

De WS2812B kan worden gesneden in het aantal NeoPixels dat u wenst. De strip die ik heb gekocht heeft grote ruimtes tussen de NeoPixels. Ik wilde dat het een beetje helderder was, dus ik knipte twee 6 NeoPixel-strips en liet ze parallel lopen, enigszins verschoven. De WS2812B-strips kunnen tussen de NeoPixels worden gesneden. In dit geval had ik een verandering van 180 graden nodig, dus ik knipte de strip door en legde er jumperdraden tussen. Als je dit ooit doet, zorg er dan voor dat de signalen en de richtingspijlen correct zijn. (zie afbeelding)

Deze WS2812B heeft ook draden en een connector (deze connector is een JST-SM 3-pins connector als je hem ergens anders wilt gebruiken). Omdat deze connector er al was, heb ik de draden gewoon aan mijn printplaat gesoldeerd. Voor deze WS2812B is de rode draad 5v, groen is signaal en wit is aarde.

Nadat ik de printplaat had gemaakt, plakte ik wat tape op de bodem en plakte deze op de basis. Daarna heb ik de Pro Micro en de DS3231 aangesloten.

Stap 3: Arduino-schets

Arduino-schets
Arduino-schets

Hoewel ik mijn Pro Micro bij Aliexpress.com heb gekocht, heb ik de volgende informatie gebruikt om Arduino aan het werk te krijgen:

learn.sparkfun.com/tutorials/pro-micro--fi…

Om de bibliotheek voor de DS3231 te installeren, gebruik ik deze:

github.com/PaulStoffregen/DS1307RTC

Download het zip-bestand

Open Arduino, selecteer ‘Sketch’ ‘Include Library’ ‘Add.zip library’

Installeer het volgende gebruik dezelfde methode:

Tijdbibliotheek PaulStoffregen

github.com/PaulStoffregen/Time

Tijdzonebibliotheek

github.com/JChristensen/Timezone

Als u klaar bent, start u Arduino.

Selecteer onder Tools Boards "Sparkfun Pro Micro"

Klik nogmaals op Tools, er zal een selectie zijn voor processor

Mogelijk moet u deze "Atmega32U4 (5V 16Mhz)" wijzigen

WAARSCHUWING: Als je onvoorzichtig bent zoals ik, heb ik per ongeluk "Atmega32U4 (3.3V 8Mhz)" geselecteerd. Dit 'metselde' het zodat de Arduino het niet kon zien. Nou, ik probeer meestal nieuwe dingen te lezen voordat ik het kreeg en herinnerde me iets over dit gebeuren:

learn.sparkfun.com/tutorials/pro-micro--fi…

In deze handleiding is er een sectie met de naam "Hoe een 'Bricked' Pro Micro nieuw leven in te blazen". Zoals het vermeldt, is het een lastige procedure, maar het is me gelukt om de mijne te herstellen.

Ter info: als je je afvraagt waarom er twee versies zijn met verschillende spanningen en snelheden, zal de Atmega32U4 (hetzelfde als Atmega328) prima werken op 5V met een 16MHz-klok. Maar bij 3,3V zegt de ontwerpspecificatie dat de 16MHz-klok niet zal werken, daarom hebben ze de klok op 8MHz. Over het algemeen zorgt de Arduino-software voor timingproblemen.

RTC TIP: De meeste software die voor DS1307 is geschreven, werkt met de DS3231, omdat deze zeer vergelijkbare software heeft.

Zomertijd

Nou, ik wilde zomertijd implementeren, zodat ik mijn lamp niet twee keer per jaar opnieuw hoefde te programmeren. Hier heb ik een aantal dagen aan gewerkt. Ik kon geen goede eenvoudige uitleg vinden over hoe de Time, TimeLib en RTClib werkten.

Ik heb eigenlijk wat DST-code geschreven voor mijn IPClock:

www.instructables.com/id/NO-MORE-SPRING-FO…

dat werkte voor internettijd, maar ik kon het niet laten werken voor RTC-tijd.

Ik kwam uiteindelijk het volgende tegen van JChristensen:

forum.arduino.cc/index.php?topic=96891.0

github.com/JChristensen/Timezone

Om hiervan gebruik te maken moet je eerst de RTC op UTC (Coordinated Universal Time) zetten, dit is tijd in Greenwich, Engeland. Nou, wist niet hoe dat te doen, maar vond dit artikel:

www.justavapor.com/archives/2482

Herschreef het voor Mountain time (bijgevoegd) UTCtoRTC.ino

Vervolgens heb ik de tijdzone opgenomen in mijn Sketch. Om eerlijk te zijn, heb ik het niet uitgeprobeerd, dus ga er maar vanuit dat het werkt.

Mijn schets is bijgevoegd MTS_BlueLamp.ino.

Stap 4: Conclusie

Conclusie
Conclusie

Ik heb aan de bovenkant een haakje gemaakt voor mijn CPAP-gezichtsmasker. Ik hing het vroeger aan mijn oude bedlamp.

Eigenlijk heel blij met deze lamp. Overdag volledig helder en 's avonds en 's nachts geen blauw.

Een ding dat ik niet leuk vind, is dat ik het na 22.00 uur niet kan gebruiken. en vóór 5 uur

Ik ontdekte ook dat ik de schakelaar aan / uit niet gebruik, omdat ik meestal alleen de dimmerschakelaar gebruik.

In de toekomst kan ik de schets herschrijven en de knop veranderen in geplande of ongeplande (volledig aan) schakelaar. Maar met mijn slechte codeervaardigheden zou ik misschien een tijdje wachten.

Aanbevolen: