MAKER: indoorgeek / Translated by: 趣无尽
Using a digital tube to display time is quite common. We have also introduced projects that use mechanical devices to construct and display numbers, such as this “pure mechanical device simulating a digital clock”.
This one is slightly more complex, and enthusiasts have expressed that it is quite challenging. So, is there a “more efficient” mechanical device to display numbers?
Here we introduce an electromagnetic-driven “digital tube” constructed from a 3D printed module. It can display a set of numbers through multi-stage cascading. How does it work? Please see the video below.
Component List
-
Arduino Development Board × 1
-
DRV8837 H-Bridge Driver IC × 7
-
74HC04 IC × 2
-
74HC595 IC × 1
-
6mm x 1.5mm Neodymium Magnet × 7
-
7-pin Male Connector × 1
-
7-pin Female Connector × 1
-
5-pin Right Angle Male Connector × 1
-
5-pin Right Angle Female Connector × 1
-
M3 Screws × 4
PCB Design
The PCB is designed into two parts, one part only has coils, and the other part is used to carry electronic components outside of the coils.
The PCB without coils is fixed to the main control PCB from the back using connectors. It looks quite good.
The production files for the PCB Gerber have been uploaded to the project file library and can be downloaded for prototyping at PCB service providers like JLCPCB. https://make.quwj.com/project/384
3D Printed Parts
Download the STL files for the 3D printed parts from the project file library: https://make.quwj.com/project/384
Use two different colors of materials to print them. During this process, you need to pause the printing and change to the second color of the printing material. Therefore, attention should be paid to the printing settings.
Assembled Product
After receiving the PCB, solder the SMD components onto the PCB. Polish the 3D printed number segments, and during the assembly of the panel, ensure that each segment can move flexibly back and forth without getting stuck.
Each segment has a slot for installing the neodymium magnets. When installing the magnets, check the magnetic poles. Ensure that the magnetic pole produced by the front coil is the same as the magnetic pole of the magnet facing the coil. In short, let the coil repel the segment out. Use strong glue to fix the magnets in place.
Finally, assemble the two parts together.
Programming
The digital tube of this project uses the 74HC595 shift register for state control.
On Arduino, there is a library called ShiftDisplay (developed by Miguel Pynto) that can handle this hardware implementation well. You can check the specific code implementation in the library’s GitHub. https://github.com/MiguelPynto/ShiftDisplay
#include <ShiftDisplay.h>
int latchPin = D2; int dataPin = D1; int clockPin = D3; const int SectionSizes[] = {4, 0};const int Indexes[] = {0,1,2,3,4,5,6,7};
ShiftDisplay display(latchPin, clockPin, dataPin, COMMON_CATHODE, SectionSizes, true, Indexes);
void setup() {}
void loop() { //int i = random(0, 9999); display.show(1234, 200); // store number and show it for 400ms display.update();}
Completion
Before powering on, please ensure that there are no short circuits in the circuit. Use an independent 5V power supply, and once powered on, you can see the numbers clearly displayed on the panel under the interaction between the magnets and coils, just like a conventional seven-segment digital tube.
The current required to drive each digit is about 650mA, so you can choose a suitable power supply according to the number of digits you need to display. Hope you enjoy this project.
The code used in the project can be downloaded from the project file library: https://make.quwj.com/project/384
via instructables.com/Complete-Mechanical-7-Segment-Display/
Links in the text can be clicked to read the original text at the end
More exciting content
Making a motorcycle dashboard with Raspberry Pi
Making a smart pet feeder with Raspberry Pi
Building a smart planetary observer based on Raspberry Pi
Handmade metal wire frame craft X-wing clock
Arduino + 280 LEDs DIY music spectrum light
DIY Stanford Pupper 12 Degree of Freedom Quadruped Robot Dog
Barrier: PC and Raspberry Pi keyboard and mouse sharing solution