Under vattnet Glider (9 / 11 steg)
Steg 9: Elektronik och makt
Vi programmerade våra undervattens segelflygplan med en Arduino UNO och många Arduino-biblioteken. Dessutom behövde vi två micro förare att styra stegmotorer som skulle push- och pull våra reaktorer, en servo att kontrollera vikt och 10 DOF Adafruit accelerometern. För att driva vår enhet vi använt ett 9 volts batteri, och för de ytterligare spänning som behövs för stegmotorer vi använde en 14.8V LiPo batteri.
För programmering av enheten använde vi 6 bibliotek totalt:
AccelStepper.h
Metro.h
Wire.h
Servo.h
Adafruit_Sensor.h
Adafruit_LSM303_U.h
Efter inställning-upp olika enheter och motorer har vi en enda huvudloop som styr algoritmen för segelflygplan. Nedan har vi inkluderat pseudo koden för denna slinga.
Ogiltig loop () {
Swing();
fortfarande reser {
Drop();
stopANDtake();
Rise();
finish();
}
}
Vår kod swing funktion tar data från accelerometern och ändrar position av servo enligt sin behandling. Denna del av koden kallas varje gång genom öglan så servo och vikten är i ständig rörelse som segelflygplan färdas genom vattnet. Vi har tagit våra hela koden nedan. Vi har portar för ytterligheter tidigare -10 och 10 för att möjliggöra för beräkningen för servo skriva.
void swing() {< br > / * få en ny sensor händelse * /
sensors_event_t händelse;
accel.getEvent(&event);
Double ycomp = event.acceleration.y;
om (ycomp < = -10)
ycomp = -10;
om (ycomp > = 10)
ycomp = 10;
myservo.write(180-(ycomp+10)*9);
}
Sub träder fortfarande resande slingan, och det är där förkopplingsdonen få flyttat under de olika skedena av rörelse. Den första etappen går är släpp scenen. Under detta skede dras förkopplingsdonen in med våra stegmotor. Det andra steget är stopANDtake scenen under detta skede den i förslaget förkopplingsdonen sluta dra och segelflygplan tillåts sjunka lite. Detta kommer också att scenen i nästa generation av sub när provröret tar i prover. Slutligen har vi en uppgång funktion. Detta vänder riktningen av stepper motor runt så att det skjuter förkopplingsdonen och vattnet tillbaka ut. Detta gör sub att vara mer flytande och flyter tillbaka till ytan. Kommandot slutför bara stängs motorerna, och möjliggör säker hämtning av craft.