Sharon Lin
Created April 29, 2019 © GPL3+

Voltage-Gated Aluminum Air Battery Car

An aluminum-air battery-powered car that uses an iodine clock reaction to determine the length of its runtime

IntermediateShowcase (no instructions)10 hours27
Voltage-Gated Aluminum Air Battery Car

Things used in this project

Hardware components

Darlington High Power Transistor
Darlington High Power Transistor
×1
DC Motor, 12 V
DC Motor, 12 V
×2
Resistor 1k ohm
Resistor 1k ohm
×1
Through Hole Resistor, 270 ohm
Through Hole Resistor, 270 ohm
×1
Photo resistor
Photo resistor
×1
Aluminum Foil
×1
Activated Charcoal
×1
Paper Towel
×1
DC/DC Switched Capacitor Adjustable Boost Converter, 2.7V to 4.5V in
DC/DC Switched Capacitor Adjustable Boost Converter, 2.7V to 4.5V in
×1
Teensy 3.1
Teensy 3.1
×1
Breadboard (generic)
Breadboard (generic)
×1
SparkFun Power Cell - LiPo Charger/Booster
SparkFun Power Cell - LiPo Charger/Booster
×1
Rechargeable Battery, Lithium Ion
Rechargeable Battery, Lithium Ion
×1
Iodine
×1
Starch
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Laser cutter (generic)
Laser cutter (generic)
Soldering iron (generic)
Soldering iron (generic)
Solder Flux, Soldering
Solder Flux, Soldering

Story

Read more

Schematics

Schematic Diagram

Schematic for the Teensy 3.2 and interfacing sensors

Boards in progress

PCB

Input Voltage vs. Average Velocity

We took measurements of how the velocity of the car differed based on the input voltage, which we varied using a potentiometer

Photo resistors

We extended the lengths of the photo resistors in order to placed them by the iodine clock reaction

Code

10.000_design.ino

Arduino
This controls the motors to run as long as the iodine clock reaction has not reached completion, at which the bottle containing the reaction will turn dark blue and the car will slow to a halt.
int motorPin = 10;
int photoPin = A9;
int speedset;
 
void setup() 
{ 
  pinMode(motorPin, OUTPUT);
  Serial.begin(9600);
  pinMode(photoPin, INPUT );
} 
 
 
void loop() 
{ 
  int light = analogRead(photoPin);
  if (light < 200){
    digitalWrite(motorPin, LOW);
  }
  else {
    digitalWrite(motorPin, HIGH);
  }
  Serial.println(light);
} 

Credits

Sharon Lin

Sharon Lin

1 project • 2 followers
Thanks to Shantanu Jakhete and Kaitlyn Hennacy.

Comments