Arduino micro Quadcopter (5 / 5 stap)

Stap 5: Code

Ik schreef een bibliotheek en een voorbeeld-programma met behulp van mbed voor een quadcopter die u in hier vinden kunt. Mbed is een stuk sneller dan de Arduino en het heeft meer geheugen dat dus het kan worden gebruikt voor grotere quadcopter.

I2C & PWM Clash

Voordat het programma kon worden geschreven is er een noodzaak om te gaan met bepaalde problemen die zich als gevolg van een beperkt aantal pinnen beschikbaar op het bord van de kever voordoen. Uit verbindingentabel is het duidelijk dat zelfs al zijn er 4 PWM-uitgangen, een van de PWM ook voor SCL gebruikt wordt (I2C naar MPU6050). Daarom twee opties beschikbaar - gebruik een externe bibliotheek voor aanpassing van de I2C in andere pinnen of een externe bibliotheek voor de aanpassing van de PWM-uitgangen op alle pinnen. Beide opties zijn beschikbaar, maar ik wilde specifiek SoftI2C bibliotheek gebruiken, zoals blijkbaar het zelfs beter dan Wire.h werkt lib die heeft specifieke snelheid en draad lengte problemen. PWM is ook erg belangrijk in ons geval dus dat ik wil kunnen beheren het geenszins mogelijk aan te passen voor de beste werking. Broncode is beschikbaar op github. U zult opmerken dat er

Pin onderbreken

Van documentatie Leonardo heeft bestuur interrupts op 0, 1, 2, 3 & 7 pennen. Pinnen 0 & 1 zijn beschikbaar, maar ik was van plan om ze te gebruiken voor seriële communicatie (misschien later tijdens het uploaden van de schets via bluetooth die is niet moeilijk om te doen, maar vereist een andere module HC-05). Daarom kan een andere externe bibliotheek worden gebruikt toe te voegen een interrupt aan elke pin "PinChangeInterrupt.h" (door 2014-2015 NicoHood). Importeren die door Android: Sketch -> omvatten bibliotheek -> bibliotheken beheren -> zoeken van PinChangeInterrupt. Een voorbeeldcode wordt gegeven die verschilt van de reguliere Interrupt-bibliotheek door de volgende regels:

pinMode (interruptPin, INPUT_PULLUP);

attachPinChangeInterrupt(digitalPinToPinChangeInterrupt(interruptPin), postInterruptFunction, stijgt);

of

attachPCINT(digitalPinToPCINT(interruptPin), postInterruptFunction, stijgt);

MPU6050 bibliotheek

MPU6050 bibliotheek is beschikbaar door Jeff Rowberg 2012. De voorbeeldcode MPU6050_DMP6 wordt gebruikt als de belangrijkste code voor het project.

Als je besloten om mijn frame & motoren gebruiken, meest waarschijnlijk hoeft u te wijzigen van de code niet meer als de PID-regelaar was al voor meer of minder goede prestaties. Maar als u een ander frame gebruikt, moet u nieuwe waarden instellen voor de PID-regelaar. Duurt het geruime tijd als je het doet voor de eerste keer.

Gerelateerde Artikelen

Aangepaste Arduino Micro Quadcopter Concept

Aangepaste Arduino Micro Quadcopter Concept

14 APRIL bewerken: Sorry jongens voor de late inschrijving. leven sinds laatste tijd voor mij echt hectisch moesten we ter vervanging van een pijp van de riolering in de betonplaat die ons huis zit op begraven. Maar we hebben enige vooruitgang geboek
Hoe maak je een eenvoudige DIY micro quadcopter.

Hoe maak je een eenvoudige DIY micro quadcopter.

Hallo ik ben Sankeerth en dit is mijn eerste instructable. Hier ben ik tonen u een eenvoudige manier om een micro quadcopter. Ik wilde altijd een quadcoper. Ik heb het geprobeerd vele jaren vóór, maar het werkte niet. Deze uw jaar ik gaf het een gaan
Communiceren met arduino micro controller en computer door usb met een vb-programma

Communiceren met arduino micro controller en computer door usb met een vb-programma

Als u als me bent en wilt worden kundig voor zeggenschap uw items op uw arduino via uw computer aangesloten, dan moet je een manier om een verbinding tot stand brengen en communiceren met je arduino vanaf uw computer. Deze video en tutorial toont je
Arduino Micro elektronische waterpas

Arduino Micro elektronische waterpas

Een jaar of zo terug ik bouwde een camera pole niveau-indicator die L.E.Ds gebruikt om aan te geven van de hoek van de toren als een visueel hulpmiddel. Het werkte goed voor wat ik van plan was maar ik heb altijd gedacht dat het zou kunnen worden "ja
"Arduino Micro" Camera toren niveau

"Arduino Micro" Camera toren niveau

ik heb een camera boven op een paal die ik gebruik voor video meteoor jacht. Één probleem dat ik heb gehad is ervoor zorgen dat de toren is niveau boven. Het moet echt niveau om ervoor te zorgen dat de hele horizon is zichtbaar voor de fisheye object
Arduino Micro USB OTG

Arduino Micro USB OTG

Arduino is een krachtige compacte formaat programmeerbare microcontroller voor DIYers. De minimale basisuitrusting die u nodig hebt is een laptop, een USB-kabel en een arduino. Kunnen we maken het zelfs meer draagbare? JA!Alles wat u nodig hebt is ee
Hoe krijg ik een Arduino micros() functie met 0.5us precisie

Hoe krijg ik een Arduino micros() functie met 0.5us precisie

Ik hou van Arduino microcontroller programmeren, en ik gebruik het regelmatig in ruimtevaartonderzoek, evenals in home projects home projecten. Als ik werk op mijn vele home projects home projecten, echter vind vaak ik mezelf een zeer nauwkeurige tim
Over The Arduino Micro

Over The Arduino Micro

The Arduino micro is zo klein dat het heeft geen ruimte voor veel van de onderdelen die de Arduino Uno heeft dus om op te lossen dit Arduino en Adafruit (ze maakten dit board samen) een heleboel de componenten op de bodem van de Raad van bestuur, als
Knoppen toevoegen aan uw X52-Pro-joystick met een Arduino Micro

Knoppen toevoegen aan uw X52-Pro-joystick met een Arduino Micro

Ik heb een Saitek X52-Pro HOTAS setup die ik gebruik voor Elite: gevaarlijk. Het is een fantastische joystick maar het kon doen met slechts een paar meer knoppen. Met een Arduino Micro kunt u uitbreiden deze (of enige andere) joystick voor elk spel d
Arduino Micro Power uitbreiding Shield

Arduino Micro Power uitbreiding Shield

Onlangs bouwde ik een temperatuur houtkap apparaat met behulp van een Arduino. Het gebruikt een Real timerklok, SD kaart schrijver en een temperatuursensor. Ik hoefde niet een brood-board voor het testen van alle sensoren waren op breakout boards. Al
DIY micro quadcopter

DIY micro quadcopter

heb je een gebroken of gepensioneerde multirotor of quadcopter? Hier is een gemakkelijke manier om het te brengen terug naar leven DIY stijl!Stap 1: Onderdelen en tools Zal u4 x motoren die niet te veel stroom, zal trekken als 5mm degenenEen FC-board
Arduino Leonardo/Micro als Game Controller/Joystick met

Arduino Leonardo/Micro als Game Controller/Joystick met

BELANGRIJKE opmerking: Dit artikel is voor de Arduino IDE versie 1.6.6 (of hoger). Om toe te voegen een USB-spelbesturing aan een Arduino Leonardo of Micro met behulp van de Arduino IDE versie 1.6.5 (of onder) de volgende Instructable Zie: Voeg USB-s
USB-spelbesturing toevoegen aan de Arduino Leonardo/Micro

USB-spelbesturing toevoegen aan de Arduino Leonardo/Micro

BELANGRIJKE opmerking: Dit artikel is voor de Arduino IDE versie 1.6.5 (of lager). Om toe te voegen een USB-spelbesturing aan een Arduino Leonardo of Micro met behulp van de Arduino IDE versie 1.6.6 (of hoger) Zie de volgende Instructable: Arduino Le
Eenvoudig diy controller met arduino uno of micro

Eenvoudig diy controller met arduino uno of micro

Als een gamer zou weten, controllers zijn duur, ongeveer 60$.Ik had een arduino micro, dus heb ik besloten om een dubbele analoge controller van de xbox/playstation stijl.De code kan hier worden gevondenOnderdelenArduino micro of uno2 x analoge thumb