This is a again a clock, I know, and agian a binary one, I know!
I just like to create different kinds of clocks, mainly using RGB leds.
Binary time is not always easy to be read, so I thought to make even some more complicated. I think that makes it more interesting on the other side, if you also like such things.
The time is displayed like an ordinary digital clock, just each number is in a binary code.
21:36:43 = 10 0001:011 0110:100 0011
I had the chosen layout in mind after having created my last binary led clock, but I also noticed that already other people did have this same idea. So I took the chance to design one which can be 3d printed at home and build with easy components.
It is just using a single strip of WS2812B RGB leds (IP30 version, since I only used them for inddor), 3-pins with +, - and data pin.
The clock can be driven by an arduino or an esp8266, or equivalent, module.
I am currently using either the full size esp8266 or an Wemos D1 (or clone) for my builds.
For my latest builds I use to implement the Wifi-Manager, which give my the option to set any Wifi networks I need, by just pressing a push-button on startup.
One that is done, the module will store the given SSID and password and use at every boot, without any manual interaction.
I am adding here also the arduino source code, as also the OpenSCAD source, for you to change whatever you like to have different the base version.
I hope you can find interest and fun with this creation.
Please share any makes through thingiverse.com.
The size is quite large!! Actually larger than my printer, a Creality CR-10S4.
But I did just print it diagnonally to fit on my prind bed.
The front part I printed with two settings, using Simplified3d.
0 to 9,90mm in 0.3mm layer heigth
9.00mm to top, in 0.1mm layer heigth (for nicer bulbs)
Infill: I guess 15% to 20% should be OK, too few gives the light more spreading, which might not be wanted.
Support I suggest to only put under the square spacings, and non for the holes with the bulbs, since it should be required any support there.
The rear part I printed with 0.3mm layer height, no support is required.
Infill I did choose 12%.
For post printing I just suggest to test the led string if it fits well in between the holes of the front part and also in the lowered part of the read part.
Please keep in mind that the leds with stay deep enough in the back part to not touch the spaces between the holes of the front part. It should feet quite well.
The hole in the rear part is large enough to pass through the led strip after you soldered the cables to it. You might want to verify that, before you start to solder. :-)
You will need 8x M3 8mm or 10mm screws to fix the two printed parts together.
The led strip does not really need to be glued to the rear part, since it is very good hold in place by the case once it is mounted with screws.
I am using a Wemos D1 for the electronic part.
If you prefer to use an Arduino I suppose you are also up to adapt the code for your needs in case you chosse to use wlan or not, or just a different pin for the led strip and the push button.
For the led strip connect "+" to 5V, "-" to GND and "data-in" to D2
The push button can be connected to D6.
When you start your clock the first time, it will ask for the wifi netwotk to be set (SSID and password). When that has been done just connect D6 to GND, until you place the button in place. (see the fritzing layout for detailed wiring of the push button)
The idea is that if you press the push button during start-up, the clock will enter into the configuration mode, and wait for you to set the wifi to use.
You will be able to connect to its newly activated AccessPoint, it is named "LedBinaryClock_192.168.4.1", in case you did not modify it in the code.
Once connected to this access point, enter the ip address http://192.168.4.1 in your browser, or you might be asked by your smartphone/table to go there, and choose your wlan for the led clock.
That needs to be done just once, and stays as long you don't need to change it again, in case you give your led clock away or move to another wifi.
I added a fritzing layout of how I connected the Wemos D1 to this clock.
The additional usb-power source is not really required, I just use to power the led with a direct source rather than let the Wemos D1 carry all the job to bright up the leds.
Re-uploaded the arduino code with some bug fixes and small adaptions.
Removed unecessary time display command and wait command.
Added two constants to get rid of random jitter effect on the led string. Time display is now much more stable. Can't tell if everyone have this, but it could have to do with the type or batch of led_strip beingused.
I designed this using openSCAD and creating individual blocks which are aligned to each other forming the outcome.
I like to design in this way, since it gives an easy way to create a new type of block and insert it where it is needed.