Final Project

Mechanical 7 Segment Display Clock

Final Project

Final Project IDEAS

Well The Idea Was To Make a Segment Display or something that explores physical change in state to display.

 

1st Ideas was to make each pixel as liquid box as shown below.

 

The Issue with this project was that it was too complex to achieve and cost was too high to make evan a single segment.

Idea 2:  Mechanical Segment Display

Well The idea was to Make a segment display and put mirror over it and project the reflection on a surface

 

 

Well The idea was to Make a segment display and put mirror over it and project the reflection on a surface. The above image is of by just pasting the mirrors on a plane surface to understand what are we trying to achieve.

 

 

 CAD- COMPUTER AIDED DESIGN

The Most Time Critical Task for this project Was to Design The Segment out of Completely digital fabricated Material.

 

Have Documented The CAD designing Process As in the Week 2

LASER CUTTING & CNC

So, I prepared the below drawing for laser cutting. I used 3mm MDF board for these components.

Problem :

When I imported the above file in Laser machine software, the lines appeared to be curved as shown below

Solution:

I realized that I needed to export the dxf files in "Lines and arcs" format.

This solved my problem immediately and then I used the dxf file with following settings to prepare my first lazer cut component.

 

I used 2 different colours within Rhino. 1 layer was for letter, which needed to be etched and another layer had all the lines that needed to be cut.

Here are some videos showing the laser cutting process.

So, intially I considered designing central element "G" with axis along shorter width, unlike the rest of them. This was to avoid collision with neighbouring elements. But later I realized that it did not help much and the rotation was very limited, hence I made them all same.

This is how my one element looked like.

I tried putting these elements together and checked the minimum distance required to avoid collision. Once the distance was determined, I was sure only to use all the elements with the same axis of rotation as stated above.

I tried putting these elements together and checked the minimum distance required to avoid collision. Once the distance was determined, I was sure only to use all the elements with the same axis of rotation as stated above.

In total 1 segment contains 7 elements. And the whole clock contains 4 such segments.

Here are some photos showing the assembly process

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GET FILE

Attached is the File for Base of to be Cut at CNC

Electronics Design and Prodution

So I downloaded Satshakit board for reference. I added output for 7 servo motors, 4 I2C output with a voltage regulator and removed extra pins that I was not using.

Following is the video showing milling process.

This is the first board I made for my final project.

My plan was to make 4 such boards and connect them via I2C protocol.

However, I was not able to burn the bootloader. I tried hard but could not find the error.

  • I re-planned my electronics and redesigned the whole thing again. I did a bit of research and figured out that 4 boards were not necessary.
  • Also I cannot connect servo directly to this board due to excessive power drain.
  • This time I decided to go for only 1 such board and use I2C servo driver.
  • Following is the new board that I designed.

I Have made following Changes.

1) now only one I2c Pair is provided as we will anyhow daisy chain the components.

2) added GND and VCC for Servo considering I can still try to use it as planned before if the I2C network Fails

3) Removed the Voltage Regulator as we need 5V both for servo and IC.

 

As we can see the pins are not isolated.

After solving this error, the board started working.

 

I have used the same board for my  Networking  assignment.

Following Files are Attached

GET FILES

 

  1. Schematic 328p Master (made for Final Project}
  2. Board file 328p Master

PROGRAMMING

  • Have attached the Code For Final Project Below. but before that.
  • Bellow is the explanation of how it works.
  • We have 4 I2C Servo Driver board PCA9685  connected to Each segment
  • So Each I2C Driver will control 7 Servos.
  • I had not option but to use this driver considering it solvers the power issue for 28 servos.
  • The Controller 328p board which i milled as shown above will control the whole circuit.

 

We connect out Segments as seen In above Diagram.

Each segment has a Address in I2C network.

We have to solder pads on I2C Driver to select right Address.

Right now we are testing the board with a arduino nano and PCA9685 board.

 

Following is the code which shows the addressing to the board.

 

Code Attached

GET FILE

Attached is the Code That Is Show above.

This is the Master code that runs the clock

Not it used the RTCLib.h for the Clock module

and Atafruit_prmServoDriver library for the PCA9685 Driver.

 

Below are the Picture of Programming the 328P Board with same code.