Arduino aangedreven raket geleidingssysteem (6 / 6 stap)

Stap 6: Code

Deze code kan niet werken, voel je vrij om te veranderen en laat me weten hoe je het veranderd. Dit is van het publiek domein.

/*
Deze scketch is gebaseerd op de Memsic 2125 versnellingsmeter code van http://www.arduino.cc/en/Tutorial/Memsic2125 leest
en de RCServoMotorsControlledWithAccelMeter2
op basis van de code van de steekproef van de ITP
http://ITP.NYU.edu/physcomp/Labs/servo
Deze schetsen werden aangepast en herzien door Chris Barta.
therocketgeek.WordPress.com

Deze voorbeeldcode is in het publieke domein.
*/
#include < Servo.h >

Servo myservo;

Const int xPin = 11; X output van de versnellingsmeter
Const int yPin = 12; Y-uitgang van de versnellingsmeter

lange lastPulse = 0; Tijd in milliseconden van de laatste puls
int refreshTime = 10; Tijd die nodig is tussen pulsen

int minSensorValue [xPin] = {-180,-180}; de laagste waarde de versnellingsmeter kunt lezen
int maxSensorValue [yPin] = {180, 180}; de grootste waarde die de versnellingsmeter kunt lezen
int pulseWidth [xPin] [yPin] = {0, 0}; Pulsbreedte voor de servomotoren

int sensorRange [xPin] [yPin] = {maxSensorValue [0] - [0], minSensorValue
maxSensorValue [1] - minSensorValue [1]};
int i = 0;

int fase = 0; variabele te selecteren van de servomotor te rijden

VOID Setup
{
myservo.attach (1, 45, 135); definiëren wat de servo's zijn op pin
myservo.attach (2, 45, 135); de minimale hoek
myservo.attach (3, 45, 135); dat kan worden gedraaid
myservo.attach (4, 45, 135); en de maximale hoek
myservo.attach (5, 45, 135); dat kan worden gedraaid
myservo.attach (6, 45, 135);
myservo.attach (7, 45, 135);
myservo.attach (8, 45, 135);
myservo.write(90); servo ingesteld op halverwege (90 graden)

pinMode (xPin, INPUT); set x-waarde van de versnellingsmeter als input
pinMode (yPin, INPUT); instellen van y-waarde van de versnellingsmeter als input
}

void loop
{
variabelen om te lezen van de puls breedte:
int pulseX, pulseY;
variabelen bevatten de resulterende versnellingen
int accelerationX, accelerationY;

Lees puls van x - en y - assen:
pulseX = pulseIn(xPin,HIGH);
pulseY = pulseIn(yPin,HIGH);

de pulsbreedte omzetten in versnelling
accelerationX en accelerationY zijn in milli-g's:
aardse zwaartekracht is 1000 milli-g's, of 1 g.
accelerationX = ((pulseX / 10) - 500) * 8;
accelerationY = ((pulseY / 10) - 500) * 8;

Pulse de servo opnieuw als het vernieuwen (20ms) tijd verstreken:
Als (millis() - lastPulse > = refreshTime) {}

Als (accelerationX < 0) / / als de raket wordt dan uit de x-as verplaatst
{
myservo.attach(1); de twee servo's 1,3 zal bewegen zich te verzetten tegen het verkeer
myservo.write(135); de richting van servo 1
myservo.attach(3); de twee servo's zijn tegenover elkaar
myservo.write(45); dus ze moeten verplaatsen 'tegengestelde' richtingen

} else if (accelerationX > 0); Als de raket gaat in
(accelerationY > 0); de x, y-richting
{
myservo.attach(5); vervolgens de servo's in de uppersection
myservo.write(135); (5,7) vensterbank neutraliseren de beweging in die richting
myservo.attach(7);
myservo.write(45);
}

} else if (accelerationX = 0); Als er vervolgens geen verkeer bestaat
(accelerationY = 0); houden van de servo's uitgelijnd met de raket
{
myservo.attach(5);
myservo.write(90);
myservo.attach(7);
myservo.write(90);
}

{
Als (accelerationX > 0) / / hetzelfde ding alleen in de andere richting
{
myservo.attach(1);
myservo.write(45);
myservo.attach(3);
myservo.write(135);

} else if (accelerationX < 0);
(accelerationY < 0);
{
myservo.attach(5);
myservo.write(45);
myservo.attach(7);
myservo.write(135);

Als (accelerationX = 0);
(accelerationY = 0);
{
myservo.attach(5);
myservo.write(90);
myservo.attach(7);
myservo.write(90);
}
}

Als (accelerationX = 0); Als er geen verkeer bestaat
{
myservo.attach(1); dan houden de servo's uitgelijnd met de raket
myservo.write(90);
myservo.attach(3);
myservo.write(90);
}
}
Als (accelerationY < 0)
{
myservo.attach(2);
myservo.write(45);
myservo.attach(4);
myservo.write(135);

} else if (accelerationX > 0);
(accelerationY < 0);
{
myservo.attach(6);
myservo.write(135);
myservo.attach(8);
myservo.write(45);
}
{
Als (accelerationX = 0);
(accelerationY = 0);
{
myservo.attach(6);
myservo.write(90);
myservo.attach(8);
myservo.write(90);
}
}

{
Als (accelerationY > 0)
{
myservo.attach(2);
myservo.write(135);
myservo.attach(4);
myservo.write(45);

} else if (accelerationX < 0);
(accelerationY > 0);
{
myservo.attach(6);
myservo.write(45);
myservo.attach(135);
myservo.write(135);
}
{
Als (accelerationX = 0);
(accelerationY = 0);
{
myservo.attach(6);
myservo.write(90);
myservo.attach(8);
myservo.write(90);
}
}
}
Als (accelerationY = 0);
{
myservo.attach(2);
myservo.write(90);
myservo.attach(4);
myservo.write(90);
}
{
delay(100); Dit wil herhalen tijd vertragen zodat de servo's kunnen inhalen
}
}

Ook kun je naar https://sites.google.com/site/arduinorocket/products-experiment . Het is vrij veel het zelfde ding, behalve er inspringingen zijn. 

Gerelateerde Artikelen

Arduino-aangedreven A-10 stok grip externe w/Emergency Party Button!

Arduino-aangedreven A-10 stok grip externe w/Emergency Party Button!

ik Plama2002 de "Emergency Party Button" bouwen een tijdje terug kwam en wilde iets gelijkaardig voor mijn bar. Ik had ook een oude USAF B-8 stok greep uit een A-10A die ik in mijn vorige leven opgepikt. Ik dacht dat in plaats van gewoon een ges
Acryl Fish Tank met Arduino aangedreven Feeder

Acryl Fish Tank met Arduino aangedreven Feeder

Heb je ooit wilde een meer handen op gevoel bij het ophalen van een vis? Of wilde iets anders dan de gemiddelde aquaria gevonden in de winkels? Dit aquarium is volledig aangepast en afgestemd op uw grootte kan worden gewijzigd en heeft een Arduino aa
Water aangedreven raket

Water aangedreven raket

Na zoveel tijd te besteden aan de " ben hier met mijn eerste instructable. en in dit instructable I 'm gonna laten zien hoe een "water aangedreven raket", samen met de launcher, dat 100 ft omhoog in de lucht gaat.Genoeg gepraat... laten we
Deodorant aangedreven raket!

Deodorant aangedreven raket!

Deze Deodorant aangedreven raket vliegt hoog genoeg.Stap 1: De benodigde materialen. Voor het maken van deze raket, moet u de volgende materialen:PVC pijp 1ft. lange en 3,5-inch Diameter.Een flexibele dun karton. (Om lichaam van raket)twee dikke kart
Maken van een Arduino aangedreven gordijn automatisering

Maken van een Arduino aangedreven gordijn automatisering

In deze video ik aan de slag op het toont u hoe te maken van een Arduino aangedreven apparaat dat zal openen en sluiten van gordijnen!Met behulp van een touw en een continue rotatie servo ben ik kundig voor wekken een katrol systeem dat als de backbo
Arduino aangedreven Verwarmde Glove Liners

Arduino aangedreven Verwarmde Glove Liners

Arduino aangedreven Verwarmde handschoenenDit project is over hoe te maken van de's werelds slimste verwarmde handschoen liners voor extreem koude omstandigheden zoals die in Minnesota of mensen die beschikken over Raynaud van syndrome(like me). Deze
Het BlokClok-Concept - Arduino aangedreven RGB abstracte klok

Het BlokClok-Concept - Arduino aangedreven RGB abstracte klok

Arduino aangedreven klok concept. Uniek concept met behulp van een 8 x 8 RGB-Dot Matrix-scherm. De tijd wordt aangegeven met behulp van blokken van kleur. Het centrale 6 x 6 raster is verdeeld in 4 x (3 x 3) rasters en elk blok van 3 x 3 is een ander
Arduino aangedreven RC tank

Arduino aangedreven RC tank

dit is mijn eerste instructable dus neem aub met mij. Mijn naam is Stanley Deakins en ik heb gespeeld met elektronica al geruime tijd, al was het jaren geleden. Ik heb die passie weer op te rakelen vanwege mijn recente werk. Ik heb mijn handen op enk
Het engste, arduino aangedreven, knipperen en schreeuwen halloween pompoen!

Het engste, arduino aangedreven, knipperen en schreeuwen halloween pompoen!

Hier is een instructable een middag project dat net gedaan moest worden: een knipperend, schreeuwen, arduino aangedreven halloween pompoen. Het is een erg leuk, een klein beetje van het solderen omvat en is geweldig voor het leren over sensoren en li
Hoe ontwerp je een hoog aangedreven raket

Hoe ontwerp je een hoog aangedreven raket

dit geeft je een overzicht van hoe u ontwerpt een hoog aangedreven raket. Dit instructable zal u helpen bepalen wat u wilt ontwerpen en verschillende tips over hoe om het te bouwen.Stap 1: Software Eerst, u zult moeten om een goede software. Ik zou a
CO2 Laser Water Flow Monitor - Arduino aangedreven / Windows Controlled

CO2 Laser Water Flow Monitor - Arduino aangedreven / Windows Controlled

CO2 Laser Water Flow Monitor- en AlarmAangedreven door een Arduino en gereguleerde door aangepaste software op een Windows PCOm het verlengen van de levensduur van een CO2 -laser-buis is het noodzakelijk aan pomp koelwater doorheen actief is. Als de
Een Arduino-aangedreven 4-as parallel-mechanisme robotarm

Een Arduino-aangedreven 4-as parallel-mechanisme robotarm

uArm is een miniatuur 4-as parallel-mechanisme robotarm, gemodelleerd naar de industriële robotarm van ABB PalletPack IRB460.Het is samengesteld uit laser gesneden van acryl- of houten delen, aangedreven door standaard RC hobby servo's, en gecontrole
2 Arduino aangedreven RC vliegtuig

2 Arduino aangedreven RC vliegtuig

Hallo, Welkom op mijn instructable op het opbouwen van een RC vliegtuig, volledig vanaf nul, met Arduino.Ik heb wilde een RC-vliegtuig te bouwen voor een tijdje, en de onderdelen voor gebouw voor ontvangen. De zender en ontvangers, echter, kunnen ext
Helios 3: Zelfgemaakte raket Candy aangedreven raket

Helios 3: Zelfgemaakte raket Candy aangedreven raket

dit is Helios 3. Het is een 1/2 inch diameter van 18 inch lange stalen buis met een eindkap, vinnen en een eindkap met een gat geboord uit.  Hij wordt aangedreven door 30 gram van Rocket Candy (suiker, kaliumnitraat en glucosestroop.) Dit is de derde