Autonome drone die u al in je zak hebt! (3 / 6 stap)

Stap 3: De Software - analyseren


In deze stap, we willen als we kunnen analyseren:
1) positie van de stok van ontvanger gelezen
3) control servo
2) controle ESC

Voor dit voorstel zullen we gebruiken test setup vermeld op pagina 2. De onderdelen zijn:
1) android IOIO met schild vanaf pagina 2.
2) ontvanger aangesloten op de digitale pennen 3-7
3) ESC verbonden met pin terminal 10
4) servo aangesloten op pin terminal 11
Mijn ESC omvat BEC, dat u kunt opgeven IOIO bestuur formulier verbonden ESC. In dit geval zwart Lemper op onze schild zal worden gelegd op de linkerzijde, VIN pin aan boord van de IOIO zal worden aangesloten op de servo terminals (ESC levert IOIO board).

Voor de ontwikkeling van de software moet u standaard Android ontwikkelomgeving installeren en IOIO bibliotheken in uw project opnemen. U vindt tutorial hier: https://www.sparkfun.com/tutorials/280 en doc umentation voor Android IOIO project hier: https://github.com/ytai/ioio/wiki

Onze test applicatie hebben eenvoudige gui, zullen we:
2 x schuifregelaar control servo en ESC (controle van de PWM pinnen 10, 11)
5 x weergegeven: labelwaarden van ontvanger (reed pulsbreedte op pennen 3-7)

Android IOIO biedt Pulse Input. Dit type van input kunt u lezen breedte van inkomende puls, zodat haar ideaal voor lezing formulier ontvanger pulsen. IOIO hebben 6 beschikbaar zijn (3 enkele precisie, dubbele precisie 3) u kunt één 6 of 6 dubbele precisie, moet u ze splitsen. PWM zullen we gebruiken voor het besturen van de sociaal-economische raden en servo's. U kunt functies vinden voor elk individu pin hier https://github.com/ytai/ioio/wiki/Getting-To-Know-The-Board

Deze test app hebben relay eenvoudige code:

openbare klasse MainActivity breidt IOIOActivity {}
privé TextView ch1, ch2, ch3, ch4, H5;
privé SeekBar seekBar1, seekBar2;
private int seekBar1_val, seekBar2_val;

beschermd nietig onCreate(Bundle savedInstanceState) {}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

CH1=(TextView)findViewById(R.id.ch1_text);
CH2=(TextView)findViewById(R.id.ch2_text);
CH3=(TextView)findViewById(R.id.ch3_text);
CH4=(TextView)findViewById(R.id.ch4_text);
CH5=(TextView)findViewById(R.id.ch5_text);

seekBar1 = (SeekBar) findViewById(R.id.seekBar1);
seekBar2 = (SeekBar) findViewById(R.id.seekBar2);

seekBar1_val = 1000;
seekBar2_val = 1500;

seekBar1.setMax(1000);
seekBar2.setMax(1000);

seekBar2.setProgress(500);

seekBar1.setOnSeekBarChangeListener (nieuwe OnSeekBarChangeListener() {}

openbare nietige onStopTrackingTouch (SeekBar seekBar) {}
}

openbare nietige onStartTrackingTouch (SeekBar seekBar) {}
}

public void onProgressChanged (int vooruitgang, SeekBar seekBar, Booleaanse fromUser) {}
seekBar1_val = vooruitgang + 1000;
}
});

seekBar2.setOnSeekBarChangeListener (nieuwe OnSeekBarChangeListener() {}

openbare nietige onStopTrackingTouch (SeekBar seekBar) {}
}

openbare nietige onStartTrackingTouch (SeekBar seekBar) {}
}

public void onProgressChanged (int vooruitgang, SeekBar seekBar, Booleaanse fromUser) {}
seekBar2_val = vooruitgang + 1000;
}
});
}

openbare Booleaanse onCreateOptionsMenu (Menu menu) {}
Opblazen van het menu; Dit items toegevoegd aan de action bar als dit aanwezig is.
getMenuInflater () .inflate (R.menu.main, menu);
return true;
}

klasse Looper breidt BaseIOIOLooper {}
privé PulseInput pulse_ch1;
privé PulseInput pulse_ch2;
privé PulseInput pulse_ch3;
privé PulseInput pulse_ch4;
privé PulseInput pulse_ch5;

privé PwmOutput M1;
privé PwmOutput Servo;

openbare Float ch1_val;
openbare Float ch2_val;
openbare Float ch3_val;
openbare Float ch4_val;
openbare Float ch5_val;

privé DigitalOutput led_;

beschermde void setup gooit ConnectionLostException {}
pulse_ch1 = ioio_.openPulseInput (3, PulseMode.POSITIVE);
pulse_ch2 = ioio_.openPulseInput (4, PulseMode.POSITIVE);
pulse_ch3 = ioio_.openPulseInput (5, PulseMode.POSITIVE);
pulse_ch4 = ioio_.openPulseInput (nieuwe DigitalInput.Spec(6),
PulseInput.ClockRate.RATE_250KHz,
PulseInput.PulseMode.POSITIVE,
False);
pulse_ch5 = ioio_.openPulseInput (nieuwe DigitalInput.Spec(7),
PulseInput.ClockRate.RATE_250KHz,
PulseInput.PulseMode.POSITIVE,
False);

M1 = ioio_.openPwmOutput (10, 50);
Servo = ioio_.openPwmOutput (11, 50);


led_ = ioio_.openDigitalOutput (0, true);
}

public void loop gooit ConnectionLostException {}
led_.write(false);
Probeer {}
ch1_val = pulse_ch1.getDuration() * 1000;
ch2_val = pulse_ch2.getDuration() * 1000;
ch3_val = pulse_ch3.getDuration() * 1000;
ch4_val = pulse_ch4.getDuration() * 1000;
ch5_val = pulse_ch5.getDuration() * 1000;

M1.setPulseWidth(seekBar1_val);
Servo.setPulseWidth(seekBar2_val);

Thread.Sleep(100);
} vangst (InterruptedException e) {}
}
runOnUiThread (nieuwe Runnable() {}

openbare nietige run() {}
CH1.SetText (String.format ("%.2f", ch1_val));
CH2.SetText (String.format ("%.2f", ch2_val));
CH3.SetText (String.format ("%.2f", ch3_val));
CH4.SetText (String.format ("%.2f", ch4_val));
CH5.SetText (String.format ("%.2f", ch5_val));
}
});
}
}

beschermde IOIOLooper createIOIOLooper() {}
retourneren van nieuwe Looper();
}

}

Onze analyse ging goed, dat we kunnen:
1) Lees stick positie van receiver via digitale ingangen
3) control servo
2) controle ESC

Test video:

Gerelateerde Artikelen

Eenvoudige Lego mindstorms autonome drone

Eenvoudige Lego mindstorms autonome drone

een eenvoudige gids voor het obstakel te vermijden voor uw NXTStap 1: basis specificaties een base zal werken, zolang er een motorconfiguratie voor links-rechts en kan accepteren ten minste de ultrasone sensor, dus voel je vrij om te spelen rond met
Parrot autonome AR Drone 2.0 Flying

Parrot autonome AR Drone 2.0 Flying

Dit instructable krijgt u een zeer eenvoudige en snelle manier (< 15 minuten) om een AR Parrot Drone 2.0 vliegen autonoom met programmacode die is geschreven door u! Het beste deel van dit project is het vereist alleen de drone en een laptop (mac of
Swarmbots: Autonome Arduino auto's die stoelendans spelen

Swarmbots: Autonome Arduino auto's die stoelendans spelen

Onze bedoeling met dit project was om twee cutting-edge samenvoegvelden van technologie: autonome voertuigen en swarmbots. In een partnerschap met de Fremont Academie voor technologie en ontwerp van Femineer studenten geassembleerd tien leden van de
250 klasse FPV Drone onder 350 dollar

250 klasse FPV Drone onder 350 dollar

Dus u wilt bouwen van een first person view quad copter maar weet niet waar te beginnen? Nou, omdat u hebt geklikt op dit instructable zeg ik sit terug krijgen een potlood en papier uit voor notities en maak je klaar om te leren. Dit is gonna be een
Clockwork ballon Drone [A Simple Drone]

Clockwork ballon Drone [A Simple Drone]

I 'm gonna mijn idee over deze ballon Drone, die zou moeten in het echte leven werken. Helaas, als gevolg van het ontbreken van materiaal, ik kon het niet maken in het echte leven dus ik dacht mensen kun je dit dat als ik geef je mijn idee. Ik zullen
LEGO Drone met GoPro camera

LEGO Drone met GoPro camera

De drone die we gaan heb je bouwen zal enkel niet een ander hersenloze quadcopter. Deze zullen kunnen volledig autonoom terugkeer naar huis, autonome landing, de GPS bijgestaan vlucht, vliegen op ongelooflijke hoogtes, hoge snelheden, sterk genoeg om
Miniatuur autonome Blimp

Miniatuur autonome Blimp

Autonome drones en dergelijke geworden de laatste tijd een hot topic en hebben vele actieve gemeenschappen werken om hun mogelijkheden uitbreiden. Iedereen lijkt te hebben van multi rotor drone deze dagen, die andere vliegtuigen achterlaat. Ik denk d
Een vaste arm quadcopter omzetten in een 'rugzak' drone met afneembare

Een vaste arm quadcopter omzetten in een 'rugzak' drone met afneembare

Project uit te bouwen van een drone met alle functionaliteit van de APM vlucht controller buiten de gebaande paden...Stap 1: De video heeft betrekking op de delen, bouwen en testen...Dit was een project om te maken een prototype wilt wijzigen in een
Gebouw Quadcopters Drones en Uav's-A uitleg en gemakkelijk bouwen van een fundamentele Quad.

Gebouw Quadcopters Drones en Uav's-A uitleg en gemakkelijk bouwen van een fundamentele Quad.

Zodat u geïnteresseerd bent in Quadcopters, Quadrotors, UAV, Drones en wat zij noemen.Maar wat zijn ze samengesteld uit, en waarom? Kan ik bouwen of zijn ze voor meer geavanceerde elektronische type personen.Nou nooit angst. Presenteer ik u een basis
Autonome zonne-Robot fase 1

Autonome zonne-Robot fase 1

achtergrond:Hallo, mijn naam is Ben Rawstron en dit is de robot die ik op, onlangs in mijn tweedejaars gewerkt heb (tiende graad) jaar van de middelbare school. Ik heb dit project als een "onafhankelijke studie" op mijn lokale school hier in Wal
Jack: De alleen Arcade die op je pols past

Jack: De alleen Arcade die op je pols past

Welkom op mijn eerste Instructable. Het lange, langdradig, en bevat onderdelen die niet zelfs noodzakelijk, maar als u ongeveer $100.00 en 3 uren van uw tijd opofferen kunt, dan kunnen we een draagbare, verveling moord, weer gadget te vertellen. Als
Hoe te bouwen van het frame van de drone Aliencopter Bee 470

Hoe te bouwen van het frame van de drone Aliencopter Bee 470

Als u overweegt het krijgen in de drone bouwen dan het frame Aliencopter Bee 470 is een goede keuze. De 470 is een zeer snelle en behendige drone die perfect geschikt is voor fundamentele luchtfotografie, (met behulp van een actiecamera) zo goed als
Cherry Limonade, een hart gezonde drank die u met gewichtsverlies helpen kan

Cherry Limonade, een hart gezonde drank die u met gewichtsverlies helpen kan

degenen onder u die mij volgen weten dat ik heb niet het gezondste dieet, dat is niet helemaal veranderd maar ik probeer gezonder te eten. Ik stoppen met roken van ongeveer 15 maanden geleden na wordt opgenomen in het ziekenhuis gedurende meer dan tw
Persoonlijke Drone systeem (Me en mijn Predator)

Persoonlijke Drone systeem (Me en mijn Predator)

Bouw uw eigen persoonlijke Drone systeem. Anders weet als, "Mij en mijn Predator".Ik ben een artiest in residentie in dit is mijn eerste voltooide project gemaakt tijdens mijn verblijf. Ik heb een volledig autonoom, analoge drone die aan je hoof