Inhoudsopgave:

Lineaire klok met Arduino + DS1307 + Neopixel: sommige hardware opnieuw gebruiken: 5 stappen
Lineaire klok met Arduino + DS1307 + Neopixel: sommige hardware opnieuw gebruiken: 5 stappen

Video: Lineaire klok met Arduino + DS1307 + Neopixel: sommige hardware opnieuw gebruiken: 5 stappen

Video: Lineaire klok met Arduino + DS1307 + Neopixel: sommige hardware opnieuw gebruiken: 5 stappen
Video: Clock Shield для Arduino, собери себе часы, пятничный DIY 2024, November
Anonim
Image
Image

Van eerdere projecten had ik een Arduino UNO en een Neopixel LED-strip over, en wilde iets anders maken. Omdat de Neopixel-strip 60 LED-lampjes heeft, dacht hij om het als een grote klok te gebruiken.

Om de uren aan te geven, wordt een rood 5-LED segment gebruikt (60 LED / 12 segmenten = 5 LED). De minuten worden weergegeven met een enkele groene LED en de seconden met een blauwe LED.

Ik heb een DS1307 Real Time Clock-bord toegevoegd om de tijd bij te houden wanneer de Arduino niet wordt gevoed.

Dit is de gebruikte Neopixel 60 LED strip: https://www.adafruit.com/product/1138 en dit het DS1307 bord:

Aanvankelijk was het de bedoeling dat de ledstrip aan de muur van de eetkamer zou hangen, maar mijn dochters zeiden dat ik hem op een stuk hout van een pallet moest bevestigen, dus tekenden ze de cijfers en plakten ze op het hout.

Stap 1: Prototypebord

Prototype bord
Prototype bord
Prototype bord
Prototype bord

Hier heb je het circuit dat moet worden geïmplementeerd en de stuklijst.

Als u het DS1307 RTC-bord niet gebruikt, werkt het niet. Het uur en de minuut worden gereset als de Arduino niet wordt gevoed, omdat dit bord geen interne RTC heeft.

Het prototypebord helpt de RTC DS1307, een aantal weerstanden en knoppen op zijn plaats te houden.

Er is wat soldeerwerk en bekabeling nodig.

De "H"-knop verhoogt het uur wanneer deze wordt ingedrukt. De "M"-knop verhoogt de minuut. De seconden worden gereset wanneer een willekeurige knop wordt ingedrukt.

Na 6 maanden continu gebruik was er een vertraging van 2 minuten (naar mijn mening redelijk goed).

Stap 2: Arduino UNO

Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO

Ik gebruikte een oude Arduino-kloon en enkele pinnen om het prototypebord aan te sluiten.

Je kunt de Arduino-code vinden op:

github.com/Giroair/Linear-Clock-Arduino/bl…

Bevestig de Arduino aan het stuk hout met behulp van een plastic stropdas.

3 kabels aan de Neopixel strip gesoldeerd (let op: gebruik wat isolatietape of connector).

In dit project wordt de Arduino aangedreven door een standaard 5V 1A USB-oplader.

Info voor ontwikkelaars: de Neopixel wordt gevoed door de 5V-pin van de Arduino UNO omdat er maar 7 LED's tegelijk aan zijn. Als u van plan bent meer LED's in te schakelen (wat perfect is voor aantrekkelijkere schermen), overweeg dan om de Neopixel van stroom te voorzien via een externe 5V-bron. Verbind in dat geval de bron GND met de GND-pin van het Arduino-bord.

Het voeden van de Arduino die een externe en betrouwbare stroombron aansluit op de 5V-pin is ook een optie.

Stap 3: LED-strip aan hout bevestigen

LED-strip aan hout bevestigen
LED-strip aan hout bevestigen
LED-strip aan hout bevestigen
LED-strip aan hout bevestigen
LED-strip aan hout bevestigen
LED-strip aan hout bevestigen
LED-strip aan hout bevestigen
LED-strip aan hout bevestigen

Gebruikte 3 plastic banden om de strip op zijn plaats te houden. Zorg ervoor dat u geen LED afdekt.

Sommige vellen werden op het hout gelijmd en de cijfers geverfd.

Rode cijfers geven het uur aan. Om de 5 LED's worden lijnen getrokken.

Groene cijfers geven de minuut aan. Merk op dat de eerste LED de eerste minuut aangeeft en de laatste de 60e minuut.

Stap 4: Toekomstige ontwikkeling

Toekomstige ontwikkeling
Toekomstige ontwikkeling

Enkele ideeën uit dit project:

1.- Snijd de cijfers in het hout met een beitel en verf en vernis het.

2.- Teken de urennummers aan de ene kant en de minutennummers aan de andere kant.

3.- Gebruik 2 LED-strips rug aan rug: een naar links gericht voor de uren en een naar rechts voor de minuten.

4.- Experimenteer met verschillende segmenten en kleuren: verbeelding is de limiet (u wordt geadviseerd om een externe 5V-voeding voor de Neopixel-strip te gebruiken).

5.- Laat afwisselend uur en minuten zien.

6.- Verdeel de LED-strip in segmenten en maak een 7x8 LED-matrix om digitale cijfers en tekens weer te geven.

7.- Dim het licht: gebruik een LDR of fotodiode om het licht automatisch te dimmen.

8.- Maak verbinding met de cloud om de tijd van een server te krijgen.

9.- Een alarm inschakelen: de strip knippert wanneer telefoontjes of tweets worden ontvangen of een tijdalarm is ingesteld.

10.-…. laat het me weten!

Stap 5: Postscript: 2 stroken

Ik heb het bestand "neopixel_invers_2_strips.ino" achtergelaten in

Het is bedoeld om één strip aan te sturen om de uren aan te geven die zijn aangesloten op pin #6, en een tweede strip om minuten/seconden aan te geven die zijn aangesloten op pin #7.

Zowel 5V DC als Ground van de strips zijn aangesloten op dezelfde bron.

DISCLAIMER: kon het niet testen zolang ik geen 2 strips heb. Als je het test, wees dan vriendelijk om bugs te melden of te bevestigen dat het goed werkt.

Bedankt.