4-Stroke Digital Clock

938

8

2

Posted

Introduction: 4-Stroke Digital Clock

Epilog Challenge 9

This is an entry in the
Epilog Challenge 9

The "4-Stroke Digital Clock" driven by Arduino is a fun emulator of an internal combustion engine in a digital clock.

Hours and minutes digits represent the pistons moving and with a precise RPM control (100 to 800).

The RPM are shown by two columns in the center of display.

Another interesting visual information is the firing sequence "1-3-4-2" of cylinders.

Spark starts when the piston is at the top of cylinder in the compression cycle.

The code is a good exercise for managing dot matrix pixels and for introducing a simple animation feature.

Video

Step 1: The 4-Stroke Internal Combustion Engine

The engine model used in this project is an I4 (four cylinders in line) in 4-Strokecycle.

The 4-stroke internal combustion engine works in 4 steps (Intake-Compression-Combustion-Exhaust) as illustrated in the diagram:

  1. Intake
  2. Compression
  3. Combustion
  4. Exhaust

C=Crankshaft / R=Conrod / P=Piston / V=Valves / S=Spark Plug

Note: More basic information of Internal Combustion Engines can be find at Wikipedia.

Step 2: The Clock

In this project the digits of Hours and Minutes simulate the pistons moving and the spark is highlighted in correct time for all cylinders.

The rotation is accurately calculated to represent the actual speed and the value is adjusted by a rotary potentiometer from 100 to 800 RPM (Revolutions Per Minute).

Step 3: Material List & Assembly

  • Arduino UNO R3
  • LED Dot Matrix with MAX7219
  • DS1307 RTC (Real Time Clock)
  • Rotary Potentiometer - 10K Ohms
  • Breadboard
  • Print Template
  • Jumpers

The assembly is very simple but you must follow the attached breadboard diagram with attention.

Step 4: The Code

The Code for Arduino uses 3 libraries:

  1. LedControl.h (Library for LED matrix using MAX72XX)
  2. Wire.h (Library to support DS1307RTC)
  3. DS1307RTC.h (Library for DS1307 - Real Time Clock)

Share

Recommendations

  • Epilog Challenge 9

    Epilog Challenge 9
  • Sew Warm Contest 2018

    Sew Warm Contest 2018
  • Paper Contest 2018

    Paper Contest 2018
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

2 Comments

Your innovation towards using various ideas to show time impresses me! well done. Only 1 suggestion: At higher RPMs is there any better way to show time so that it is clearly visible?

Hello, ravijag !!

Thank you for the comments!

I think your wish is out of the scope of this project.
My idea is to reproduce a real combustion engine working in unusual way: as a digital clock!
The RPM is calculated to show the real speed starting in 100 RPM.
I defined the maximum 800 RPM because it is the idle speed of a regular street car.
I could have done a filled retangle to represent the pistons moving, but the funny is to use the hour and minutes for that !!

220px-4StrokeEngine_Ortho_3D_Small.gifIMG_0469.JPG