DIY Mechanical 7-Segment Display

DIY Mechanical 7-Segment Display

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”.

DIY Mechanical 7-Segment Display

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

DIY Mechanical 7-Segment Display

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.

DIY Mechanical 7-Segment Display

The PCB without coils is fixed to the main control PCB from the back using connectors. It looks quite good.

DIY Mechanical 7-Segment Display

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.

DIY Mechanical 7-Segment Display

Assembled Product

DIY Mechanical 7-Segment Display

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.

DIY Mechanical 7-Segment Display

DIY Mechanical 7-Segment Display

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.

DIY Mechanical 7-Segment Display

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.

DIY Mechanical 7-Segment Display

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

DIY Mechanical 7-Segment Display

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

DIY Mechanical 7-Segment Display

Leave a Comment

×