This is a smaller edition (hence "SE") of my Retro 7 Segment Clock: https://www.thingiverse.com/thing:3014572
Made a complete Build Walkthrough of this thing:
Wire colors in the video do not match the ones in the pictures here. But there's a schematic at the bottom which represents what can be seen in the video.
29.09.2019 - Update to v5
v5 is now the same code base for all my 7 segment clocks here. Configuration like 4/6 digits (SE doesn't support more than 4 digits), brightness and so on can all be modified by using the variables on top, there shouldn't be the need to dive down into the code anymore. (Tested and verified on SE, TE, RE, RE/XT and XL/XT). Of course you will still need to download the appropiate sketch because of the predefined led arrays.
Removed(!) periodic palette cycling
I don't know if anyone used it at all. But I think this should be tied to a certain time to swap colors each hour or so. I couldn't care less so I removed it. And removing is a great feature, isn't it?
Many, many cleanups
Setup routine and so on have been changed quite a lot. Added some comments here and there.
Brightness is now stored within an array (min/med/max) and eeprom reading/setting has been improved.
Memory usage has been reduced, especially when setting dbg=false.
improved LDR support
There's some new variables on top of the sketch which allow you to adjust your LDR readout more easily. Additionally you can define upper/lower limits to turn it dark/bright exactly when you like.
Greatly improved color handling
Some palettes got some minor changes. All in all they're close to the old ones but I tried to get rid of some color flickering because of non ideal color combinations at start/end of palettes.
Also color flickering/steps on low brightness settings have been greatly improved.
Added some default color corrections/color temperature settings (great improvement on blue tones using ws2812b).
Added some palettes using "HTMLColorCodes", which should make it easy to create own gradients without caring about R/G/B values.
- Some kind of debug interface
Using the serial console and having dbg=true; you can use your number pad to send buttons and/or change different variables. This makes creating own palettes and especially testing much more comfortable :D
Power limit is set to 750mA on all of them and one of the first parameters inside the sketch. Adjust this according to the model you're using and how much your wiring/power supply can handle.
This one is using only 2 led strips (33 leds each) so there's not a lot to solder.
The biggest part is 118mm x 141mm so this can be printed on way more printers than the big version. There's now two leds per segment instead of three.
There won't be much documentation as it's basically the same thing - just a bit smaller. So if something is unclear have a look at the main things documentation :)
How to use/button usage and so on: Read the original things documentation.
Finished clock dimensions:
Width: 141mm (5.6")
Height: 236mm (9.3")
Depth: 30mm (1.2") (not including feet)
Walls are multiples of 0.6mm so use an extrusion width/wall width of 0.6/1.2 for best results.
I printed the frames used for the pictures with an open rectilinear infill in case you're wondering.
I strongly suggest using dark colors/black for the frame, covers and case to prevent light shining through where it shouldn't. The diffusers should be printed from clear material as white pla/petg tends to block way too much light in this case.
To build this as it can be seen in the pictures you will need:
- 2x 33 pcs WS2812B LEDs (60 per meter)
- Arduino Pro Mini or Arduino Nano
- RTC module (DS3231)
- resistor (300-500 ohms)
- some wires
- 21x M3 screws (I've used M3x6mm but M3x6 - M3x10 should be fine)
- 2x 6mm x 6mm push buttons
- usb wire
Print the following parts:
- 2x base frame
- 2x base cover
- 1x connectors (including stands)
- 1x elec case
- 28x base diffuser
Not very much needed at all
The printed parts you'll need (only 16 diffusers on the picture, some were still printing...)
Prepare two led strips with 33 leds each. Check they do fit before cutting them off, you don't want to bend on the solder joints these led strips have every now an then.
Important: Watch the direction of the frame (center screw holes facing towards you). Begin with data in on the left center as can be seen in the picture.
Remember: You can always open the pictures in a new tab for a higher resolution.
IMPORTANT: Watch orientation of the frame (center holes towards you) and signal direction!
Add power wires to +5v/gnd at the shown position:
Solder a wire to the 300-500 ohms resistor and put some shrink tube/isolation on it:
I've chosen green for this. This will connect Data In from the led strip to D6 on the Arduino later on.
Connect the wire you just made to data in of the strip. Add another wire to the other end of the strip connected to data out.
Green (the one with the resistor) connected to data in, yellow to data out. All 4 wires routed to the top of the module.
Put in the diffusers. Make sure you don't pinch any wires. After you're done put on the cover and you're done with module #1.
All 14 diffusers put in....
...cover put on...
...and done with module #1.
This one is easy... do the same as before. But this time you'll only connect one wire (no resistor) to data in, no wire to data out. And this time route the wires to the bottom of the module.
+5v/gnd and data in (purple) of module #2.
Route wires as shown and put the electronics case on the module. Module #1 is the lower one, module #2 the upper one.
Wires from module #2 go through the hole in the bottom of the electronics case.
Wires from module #1 and module #2.
Now connect some wires to the two push buttons. They will be used as:
buttonA - connected to D3 and GND
buttonB - connected to D4 and GND
Watch the buttons and do not solder the wires to the wrong side. This would make them shorted and the clock won't start (it'll be stuck because of pressed buttons).
Push buttons held in place by the small bars from the electronics case
Now it's time to do all the solder work. I've added a usb wire as I'm using a pro mini which has no usb port. The sketch is limited to 1A so using the usb port on a Arduino nano should work without problems.
ButtonA : Arduino D3 / GND
ButtonB : Arduino D4 / GND
Green (The one with the resistor, Data In from module #1): Arduino D6
Yellow (Data Out from module #1) : Connect to purple (Data In from module #2).
SDA/Data : Arduino A4
SCL/Clock : Arduino A5
All red lines in the pictures are +5V/VCC, all black ones are GND.
What it looks like in the end. Or at least it did here on my table... ^^
Now we need to put on the connectors to give the clock some stability. The stands can be mounted like this:
Put in all the screws and you're done:
Edit: I just noticed I have red/black for the leds wrong on vss/vdd. But obviously it should be Black = GND, Red = +5V (like it's usually printed on led strips).