BLIMPDUINO!!!
Ian Thibodeau and Rich Bechard's Blimpduino
~ After searching the web for a project we stumbled upon the infamous Blimpduino and decided to conquer it. We used the blimpduino kit for inspiration but did all of the wiring, programming, troubleshooting, and failing ourselves.
Detailed description of how the program works
Pictures of the device:
video of our fantastic blimp!!!
~~ the commentary says it all
Circuit diagram
~~Program~~
int servoPin = 15; // all of these commands set the words to the pins
int myAngle = 30;
int pulseWidth;
int button = 5; //sets the button to pin2
int button1 = 4;
int button2 = 3;
int button3 = 2;
int M7 = 7; //sets motor 1 to pin 7
int M4 = 4; //sets motor 2 to pin 4
int val = 0;
int der = 1;
int val1 = 0;
int pin1 = 1;
int pin0 = 0;
void setup ()
{
pinMode(pin1, OUTPUT);
pinMode(pin0, OUTPUT);
pinMode(servoPin, OUTPUT);
pinMode(button, INPUT); //sets the push button as an input
pinMode(button1, INPUT); // "
pinMode(button3, INPUT); //"
pinMode(button2, INPUT); //"
Serial.begin (9600);
pinMode(M7, OUTPUT); //sets serial to 9600 bits per second
pinMode(M4, OUTPUT); //sets serial to 9600 bits per second
digitalWrite(pin1, LOW);
digitalWrite(pin0, HIGH);
}
void servoPulse(int servoPin, int myAngle)
{
pulseWidth = (myAngle * 10) + 600; //tells the servo how far to turn and where to stop with the push of the buttons
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseWidth);
digitalWrite(servoPin, LOW); //servoPin by itself=no movement
}
void loop()
{
val = digitalRead (button); //sets the value to the state of the button
if (val==HIGH){ //if the push button is pressed proceed with the for loop
//if the button is released, the angle goes back to 30
myAngle = myAngle + 1;
}
val = digitalRead (button1); //sets the value to the state of the button
if (val==HIGH){ //if the push button is pressed proceed with the for loop
myAngle = myAngle -1; // if the button is released, the angle goes back to 30
}
val = digitalRead (button2); //sets the value to the state of the button
if (val==HIGH){ //if the button is pressed turn the motor on
digitalWrite (M7,HIGH); // turns the motor to the max when button is pressed
Serial.println(val);
}
else {
digitalWrite (M7,LOW); //if the button is released turn motor off
}
val1 = digitalRead (button3); //sets the value to the state of the button
if (val1==HIGH){ //if the button is pressed turn the motor on
digitalWrite (M4, HIGH); // turns the 2nd motor to the max when the button is pressed
Serial.println(val1);
}
else {
digitalWrite (M4,LOW); //if the button is released turn motor off
{ servoPulse (servoPin, myAngle);
delay (20);
}
}
}
PROBLEMS
We definitely dove into the blimp without fully thinking it all through. The wiring and programming of the motors and servo wasn't hard at all, that took less than a week. The crushing part was that when we got everything working we were about 150 grams over what the blimp would carry and stay nuetrally bouyant. The site told us that the blimp would carry 130-140 grams. We shaved weight like crazy. We made an entirely new, light weight arduino. We used hair thin copper wire. We improvised and found some really small motors too. When the time came to blow up the blimp we found that the blimp couldn't even carry 100 grams...this was a bummer. The remote control and baby servo hadn't even come in, and we were overweight by about 50 grams. We finally saw a light at the end of the tunnel when everything came in. We finished wiring the arduino, plugged everything in, and to no surprise at all nothing worked like it was supposed to. So technically I had all the wiring and programming done and perfect and the stupid blimp screwed it all up because it wasn't strong enough to carry everything! We are leaving the blimp so that hopefully someone will be able to do it in the future. Also, the H-bridge was a pain in the a$$ to solder so give yourself time.
COULDA, SHOULDA, WOULDA
Had we more time I really think we could have gotten this blimp up in the air, and actually functioning. The problems we encountered we not detrimental to the project, I really believe that if we had started on it 2-3 weeks sooner we might have actually been able to get the weight right and the remote controller working correctly. Money wasn't really an issue with this project the blimp cost less than $20 and Mr. Dickie provided everything else. It was a fun project despite all of the set backs. I'd encourage someone to try this every year until it flies.