Professional Documents
Culture Documents
by SimonRob
Few years ago, I invented and built a clock showing how the Earth is exposed to the sun in real time.
The Earth Clock: I was happy with the result, however I am now an engineering student and I wanted to put my
mechanical knowledge into practice, especially about 3D printing by designing a new version.
This is an unusual clock, it doesn't indicate time as a normal clock would, instead, it shows where your location is,
compared to the night. It's a little gadget to put on your desk.
In the following timelapse the the speed is incredibly high, but keep in mind that the Earth's rotation is so slow that the
model appears to be motionless!
https://www.youtube.com/embed/OcYerSifbg0?rel=0&showinfo=0
As the Earth is tilted by 23.4°, it turns on two di erent axes at di erent speed rates:
- a “vertical” axis doing one full rotation in 1 year, simulating the movement around the sun.
- a “tilted” axis doing 1 rotation every day.
Supplies:
3D les
1x Arduino Nano
1x 28BYJ48 5V stepper motor
1x ULN2003 driver board
2x 5mm push buttons Aliexpress
2x 10k Ohms resistors
1x old USB cable
wires
3x small screws
sandpaper, primer, paint
Soldering iron
3D printer
Try to avoid the elephant's foot problem, it happens when the rst layer is squished against the build plate, it is annoying
when printing pieces intended to be put together, particularly when printing gears… so, despite the fact that the bottom
surface remains ugly, I used rafts to print the 6 [16]planetary_gear.
Elephant's foot can be reduced by lowering the build plate or its temperature, if it happens anyway, it can be xed by
scratching the surface with a blade.
Here is a table showing how I printed the pieces, no supports needed, nozzle = 0.4mm.
The piece [4]Night_globe has a sacri cial layer improving bed adhesion, it needs to be removed after printing.
You can see here what you will need for the following Then, I soldered these wires to the other components
schematic (wires are ~5cm long). (buttons, ULN2003 board)
int button2 = 0;
int button3 = 0;
int DELAY = 0;
#include <CheapStepper.h>
void setup() {
pinMode(2, INPUT);
pinMode(3, INPUT);
}
void loop() {
button2 = digitalRead(2);
button3 = digitalRead(3);
delay(1);
DELAY = DELAY + 1;
if (button2 == HIGH){
button2 = digitalRead(2);
button3 = digitalRead(3);
stepper.step(false);
delayMicroseconds(50);
}
if (button3 == HIGH){
button2 = digitalRead(2);
button3 = digitalRead(3);
stepper.step(true);
delayMicroseconds(50);
}
if((button2 == LOW)&&(button3 == LOW)&&(DELAY>=21082)){
button2 = digitalRead(2);
button3 = digitalRead(3);
stepper.step(false);
DELAY=0;
}
}
After uploading it, you can already see if your circuit works, by pressing either buttons, the motor should spin one way or
the other. If you are not doing anything, LEDs of the driver board should change every 21s.
Step 5: ASSEMBLY
https://www.youtube.com/embed/nLECxh-nlmc?rel=0&showinfo=0
_
To set the time, you need to start at the beginning of the current month and place your country in the night, then press
the button that turns the Earth counterclockwise and count the days until you reach the current day, then go to this
website and ne tune the position to match reality.
Thank you :D
Thanks! :)