Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
Sunday RoboticsnuhDyg
Published © GPL3+

Infinity Gears

346 Quintillion (346 x 10^18) Years! Even the universe (most probably) won't see the full rotation of the last gear!

IntermediateFull instructions provided10 hours2,689
Infinity Gears

Things used in this project

Hardware components

DC Motor, 12 V
DC Motor, 12 V
×1
Reed Switch, SPST-NO
Reed Switch, SPST-NO
×1
Arduino UNO
Arduino UNO
×1
RGB LCD Shield Kit, 16x2 Character Display
RGB LCD Shield Kit, 16x2 Character Display
×1

Hand tools and fabrication machines

ProBUDDY Kit

Story

Read more

Custom parts and enclosures

Gears

We will have 41 Spur gears + Motor Gear all connected together. Each gear has 45 teeth on the outside and 9 teeth on the inside. The motor gear has 9 teeth too.

At each stage, the gear ratio is 1/5. From the motor gear to the end gear, we have 41 stages connected together. That makes 1/ (5^41) gear ratio.

The motor gear completes its full rotation in 1/250 of a minute. And for the last (square) gear, it takes (1/250) * (5^41) = 1,8x10^26 Minutes!

That is 3.03x10^24 Hours!

That is 1,26x10^23 Days!

That is 3.46x10^20 Years!

And that is 346 Quintillion Years!

Schematics

Infinite Gears Electronics Hardware Schematic

Guys, our power source is 8 x AA Alcaline batteries connected in series. We have a 6V DC motor and 5V Arduino Uno + LCD + rest of the circuit. Hence we utilize 2 x LM2596 regulators for this.

In each black gear we have a magnet. We have 4 magnets in total. Right next to them there is a reed switch connected to a led and resistor and to the Arduino Uno pin. When magnet passes right next to the reed switch, we will have a transition from high to low to high at the Arduino Pin.

We have a 2x16 character LCD to show the rotational counts.

Code

Arduino Uno Code

Arduino
#include <LiquidCrystal.h> /* This library must be included for LCD screen use. */

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); /* Arduino pins to which the LCD is connected. */

/* Reed switch sensor definitions. */
int reed1 = 6;
int reed2 = 7;
int reed3 = 8;
int reed4 = 9;

int reed_status1, reed_status2, reed_status3, reed_status4; 

/* Counter definitions. */
int counter1 = 0;
int counter2 = 0;
int counter3 = 0;
int counter4 = 0;


void setup() {

  lcd.begin(16, 2); /* The row and column numbers of the LCD are specified. */

/* The text to be written on the first line of the LCD. */
  lcd.setCursor(0, 0);
  lcd.print("SUNDAY  ROBOTICS");

/* The text to be written on the second line of the LCD. */
  lcd.setCursor(0, 1);
  lcd.print(" INFINITE GEARS");

/* Reed switches are set as input. */
  pinMode(reed1,INPUT);
  pinMode(reed2,INPUT);
  pinMode(reed3,INPUT);
  pinMode(reed4,INPUT); 


  delay(1500);  /* The splash screen will wait for 1500 milliseconds. */

}
void loop() {

/* The reed switch sensor state is read and then the state is passed to the variable. */
  reed_status1 = digitalRead(reed1);
  reed_status2 = digitalRead(reed2);
  reed_status3 = digitalRead(reed3);
  reed_status4 = digitalRead(reed4);

// If the reed switch state is 0, the system waits for 100 milliseconds and the counter increments by 1. */
  if(reed_status1 == 0){
    delay(100);
    counter1++;
    }
    
  else if(reed_status2 == 0){
    delay(100);
    counter2++;
    } 
    
  else if(reed_status3 == 0){
    delay(100);
    counter3++;
    }

  else if(reed_status4 == 0){
    delay(100);
    counter4++;
    }
    
    }

  lcd.clear(); /* Clean the LCD screen. */

  /* The text to be written after the splash screen. */
  lcd.setCursor(0, 0);
  lcd.print(" INFINITE GEARS");
  
  /* Counter values are written on the second line. */
  lcd.setCursor(0, 1);
  lcd.print("F:");
  lcd.print(counter1);
  lcd.print(" S:");
  lcd.print(counter2);
  lcd.print(" T:");
  lcd.print(counter3);
  lcd.print(" F:");
  lcd.print(counter4);
  lcd.print(" F:");
  lcd.print(counter5);
   
 }

Credits

Sunday Robotics

Sunday Robotics

2 projects • 7 followers
SUNDAY ROBOTICS is a dynamic, creative and versatile start-up founded in late 2021 to create things that are majestic and revolutionary.
nuh

nuh

0 projects • 1 follower
Dyg

Dyg

0 projects • 1 follower
Thanks to Arthur Ganson.

Comments