instructables Modular Display Clock Owner’s Manual
- June 3, 2024
- instructables
Table of Contents
Instructables Modular Display Clock
Modular Display Clock
- by Gammawave
- This project makes use of a previous project Modular Display Element to make a digital clock, using four of the modules connected together and controlled by a Microbit and an RTC.
- Supplies:
- Microbit V2 (preferred due to built-in speaker, V1 will work but will require an external sounder.)
- DS3231 RTC
- Switch SPST
- Kitronik Edge Connector Breakout
- Jumper Jerky Junior F/M – Qty 20
- Jumper Jerky Junior F/F – Qty 4
- Jumper Jerky F/F – Qty 3
- Jumper Jerky F/M – Qty 3
- 470R resistor
- 1000uF capacitor
- Right Angle Header 2 x (3 ways x 1 row) required.
- WS2812Neopixel Button LED’s * 56 qty.
- Enamelled Copper Wire 21 AWG (0.75mm dia.), or other insulated wire.
- Stripboard
- Screws M2
- M2 screws 8mm – Qty 12
- M2 screws 6mm – Qty 16
- M2 Bolts 10mm – Qty 2
- M2 nuts – Qty 2
- M2 washers – Qty 2
- M2 Hex spaces 5mm – Qty 2
- Bolts M3
- M3 washers – Qty 14
- M3 bolts 10mm – Qty 2
- M3 bolts 25mm – Qty 4
- M3 nuts – Qty 12
- Hex standoffs M3
- M3 Hex spacers 5mm – Qty 2
- M3 Hex spacers 10mm – Qty 4
- Right angle Brackets (15(W) x 40(L) x 40(H) mm) – Qty 2
- May prove more cost effective to buy a range of values rather than individual values unless you already have them available. Some components may also have a MOL greater than the quantity specified in the component list.
- 3D Printer
- White Filament – For the greatest display exibility.
- Black Filament – For the supporting boards.
- 2mm drill bit
- 3mm drill bit
- 5mm drill kit
- Drill
- Saw
- Pliers
- Wire cutters
- Soldering Iron
- Solder
- Sanding paper
- Screwdrivers
- Know your tools and follow the recommended operational procedures and be sure to wear the appropriate PPE.
- No aliation to any of the suppliers used in this project, feel free to use your preferred suppliers and substitute the elements that were appropriate to your own preference or subject to supply.
- Links are valid at the time of publication.
- Step 1: Baseplate Strips
- See: Modular Display Element (MDE)
- Four “Modular Display Elements” are required to create the clock display and these are held together with baseplate strips which were cut from a larger baseplate.
- The baseplate strips measure 32(W) x 144(L) mm or 4 x 18 stubs and each one over laps two MDE’s attaching to the stubs on the MDE. However, for added strength four M2 x 8mm screws are tted close to the corners which pass through the baseplate and into the MDE.
- Step 2: Schematic
- The schematic shows the components that are used to control the MDE’s which contain 56 Neopixels.
- The control components consist of a Microbit, RTC, Breakout Board, Switch and protection circuit.
- The majority of the soldering is focused on the Neopixels whereas the control components are mainly connected with jumpers.
- Step 3: Coding
- Code is created in MakeCode.
- ”oonn ssttaarrtt” pprroocceedduurree..
- Initializes the Neoplxel strip of 56 LEDs
- Display title message.
- Initializes the segment_list which contains segment designations per number to be displayed. Number 0 stored in element [0] = 0111111
- Number 1 stored in element [1] = 0000110
- Number 9 stored in element [9] = 1101111
- Additionally.
- Number 10 stored in element [10] = 0000000 used for digit blanking.
forever procedure
-
Calls ‘set mode’ which checks P1 and if high enables time setting otherwise displays the current time.
-
Calls ‘Time_split’ which joins the two numerical values of hours and minutes into a 4-character string, pre-xing any numbers less than 10 with a leading zero.
Calls ‘pixel_time’ -
Which extracts each of the 4 characters in turn starting with the last character into segment_value
-
Digit then contains the value in segment_list referenced by segment_value.
-
(If segment_value = 0 then digit = element [0] = 0111111)
-
Inc = index x (LED_SEG) x 7). Where index = which of the 4 characters is referenced, LED_SEG = number of LED’s per segment, 7 = number of segments in a digit.
-
This species is the start of the LEDs to be controlled for the appropriate character.
-
The for element assigns in turn each number in digit to value.
-
If value =1 then the pixel assigned by inc is set to red and turned on otherwise it is turned o.
-
As two LEDs per segment are required this process is repeated LED_SEG times.
-
(E.g. If the Hours unit is 9, index = 0, digit = 1011111 [value = 1, inc = 0 & inc = 1], [value=0, inc = 2 & inc = 3] …. [value=1, inc=12 & inc = 13])
-
Hours tens [Index =1, inc range 14 to 27], Minutes unit [index =2, inc range 28 to 41], Minute’s tens [index =3, inc range 42 to 55].
-
Once each of the 7 values have been processed and sent to the strip the changes are shown.
-
A delay is introduced to prevent icker.
-
on button AA”
-
This sets the hours if set_enable = 1
-
on button BB”
-
This sets the minutes if set_enable = 1 ”long bbuuttttoonn AA++BB”
-
This calls ‘ set time’ which sets the time based on the values assigned with buttons A and B.
-
https://www.instructables.com/F4U/P0K0/L9LD12R3/F4UP0K0L9LD12R3.txt
Step 4: Back Panel
The components are attached to a baseplate (95(W) x 128(L) mm), which is tted
to the back of the MDE’s with M3 X 25mm bolts and 10mm standos. Four bolts are
tted through the holes in the Neopixel support board and the standos tted to
attach the baseplate at the corners, 3mm holes are made in the baseplate to
align with the bolts. Position and drill holes for the Edge connector Breakout
(2 x 3mm), the RTC (2 x 2mm), and the switch ensuring to leave space (20 x
40mm), to mount the right angle brackets which act as feet. Connections to the
RTC are made with 4 Junior jumpers F/F and the RTC is secured with 2 x M2
bolts. Connections to the switch are made with 2 Junior jumpers F/M and the
switch is tted through a 5mm hole. Connections to the CR protection circuit
for the Neopixels is made with 3 Jumpers F/F and from this to the Neopixels
with 3 jumpers F/M, this is attached to the board with a cable tie fed through
one of the holes in the board.
Fit the angle bracket feet to the baseplate with 4 bolts. (The lower corner M3
bolts for attaching the baseplate can be used to hold the feet in place with a
2nd bolt in the lower hole of the bracket. To prevent scratching the surface
on which the clock will sit, attach stick on pads or a couple turns of tape.
The baseplate can now be tted on to the corner support bolts and secured with
nuts.
-
Step 5: Operation
-
Power is provided by connecting the USB cable directly to the Microbit.
-
SSeettttiinngg tthhee cclloocckk..
-
Before setting the clock ensure that the RTC has a battery tted to retain the time when/if power is removed. The default time format is 24 hour mode.
-
Move the switch to the set time position a plus symbol will be shown on the display.
-
Press Button A for Hours. (0 to 23)
-
Press Button B for Minutes. (0 to 59)
Press Buttons A & B together to set the time, the entered time values will be displayed. -
- Move the switch from the set position.
-
AAtt sswwiittcchh oonn oorr aafftteerr sseettttiinngg.
-
After a short delay the display will be updated with the current time
-
Step 6: Finally
The bringing together of a couple of smaller projects resulting in a larger project. Hope you and this and the preceeding related projects of interest. -
amazing project
-
Thanks, much appreciated.
-
Nice project!
-
Thank you.
-
Cool clock. I like that this runs off a Micro:bit!
-
Thanks, The Micro:bit is very versatile I have used it in most of my clock projects.
References
- Yours for the making - Instructables
- Gammawave's Profile - Instructables
- Modular Display Clock : 6 Steps (with Pictures) - Instructables
- content.instructables.com/F4U/P0K0/L9LD12R3/F4UP0K0L9LD12R3.txt
- Kitronik Edge Connector Breakout Board for BBC micro:bit - Pre-built – Kitronik Ltd
- Adafruit DS3231 Precision RTC Breakout - Pimoroni
- Jumper Jerky Junior - Pin to Socket
- Jumper Jerky Junior - Socket to Socket
- Jumper Jerky - Rainbow Coloured Jumper Strips - Pimoroni
- Jumper Jerky - Socket to Socket
- NeoPixel Mini Button PCB - Pack of 50 - Pimoroni
- micro:bit v2 - Pimoroni
- Panasonic 1000μF Aluminium Electrolytic Capacitor 6.3V dc, Radial, Through Hole - EEUFM0J102 | RS
- CUL100/0.75 | Block Single Core 0.75mm diameter Copper Wire, 20m Long | RS
- RS PRO, 36 Way, 1 Row, Right Angle Pin Header | RS
- RS PRO Toggle Switch, Panel Mount, On-Off, SPST, Solder Terminal, 28V dc | RS
- 120 Pieces Machine Screws M3, M3 Countersunk Screws, Carbon Steel Screws, M3 Hexagon Socket Screw, Perfect for Upgrading The Screws on RC Cars (Size: 6mm, 8mm, 10mm, 12mm, 16mm, 20mm) : Amazon.co.uk: DIY & Tools
- RC4WD Button Head Self Tapping Screws M2 X 8mm Z-S1580 fit Blazer Mojave Body : Amazon.co.uk: DIY & Tools
- Modular Display Element : 7 Steps (with Pictures) - Instructables
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>