Arduino mikro Quadcopter (5 / 5 steg)

Steg 5: kod

Jag skrev ett bibliotek och ett exempel program med mbed för en quadcopter som du hittar i här. Mbed är mycket snabbare än Arduino och har mer minne vilket det skulle kunna användas för större quadcopter.

I2C & PWM Clash

Innan programmet kunde skrivas finns ett behov att ta itu med vissa problem som uppstår på grund av ett begränsat antal stift tillgängliga ombord skalbagge. Från anslutningen bordet är det tydligt att även om det finns 4 PWM-utgångar, en av PWM används också för SCL (I2C till MPU6050). Därför två alternativ - antingen använda en extern bibliotekssökväg för att anpassa I2C på andra stift eller en extern bibliotekssökväg för att anpassa PWM utgångar på några stift. Både alternativ finns, men jag särskilt valde att använda SoftI2C biblioteket som tydligen det fungerar ännu bättre än Wire.h lib som har specifik hastighet och tråd längd problem. Också är PWM mycket viktigt i vårt fall alltså jag vill kunna hantera det på något sätt möjligt att justera för bästa funktion. Källkoden för den finns tillgänglig på github. Du kommer att märka att det finns

Avbryta Pin

Styrelsen har från dokumentation Leonardo avbrott på 0, 1, 2, 3 & 7 stift. Stift 0 & 1 finns men jag planerade att använda dem för seriell kommunikation (kanske senare på uppladdning skiss via bluetooth vilket inte är svårt att göra men kräver en annan modul HC-05). Därför kan ett annat externt bibliotek användas som gör det möjligt att lägga till ett avbrott i någon pin "PinChangeInterrupt.h" (av 2014-2015 NicoHood). Importera som genom Android: skiss -> inkluderar bibliotek -> hantera bibliotek -> Sök efter PinChangeInterrupt. Ett exempelkod ges som skiljer sig från vanliga avbrott biblioteket av följande rader:

pinMode (interruptPin, INPUT_PULLUP);

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

eller

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

MPU6050 bibliotek

Det finns MPU6050 bibliotek av Jeff Rowberg 2012. Den medföljande exempelkoden MPU6050_DMP6 används som den viktigaste koden för projektet.

Om du valt att använda min ram & motorer, sannolikt behöver du inte ändra koden något mera som PID-regulator har redan angetts för mer eller mindre bra prestanda. Men om du använder en annan bildruta, du kommer att behöva ange nya värden för PID-regulator. Det tar ganska lång tid om du gör det för första gången.

Se Steg
Relaterade Ämnen

Anpassade Arduino Micro Quadcopter koncept

redigera 14 APRIL: Sorry killar för posten sen. livet har varit riktigt hektiskt nyligen för mig eftersom vi var tvungna att byta ut ett avloppsrör begravd i betongplattan vårt hus sitter på. Men vi har gjort vissa framsteg! koden kommit något in men...

Om The Arduino mikro

The Arduino micro är så liten att den inte har utrymme för många av de komponenter som den Arduino Uno har så för att fixa denna Arduino och Adafruit (gjorde denna styrelse tillsammans) sätta en hel del komponenter på undersidan av styrelsen samt und...

Lägga till knappar i din X52-Pro Joystick med en Arduino mikro

Jag har en Saitek X52-Pro HOTAS setup som jag använder för Elite: farligt. Det är en fantastisk joystick men det kan göra med bara några fler knappar. Med en Arduino Micro kan du utöka detta (eller någon annan) joystick för alla spel som kommer att s...

DIY mikro quadcopter

har du en trasig eller pensionerade multirotor eller quadcopter? Här är ett enkelt sätt att föra den tillbaka till livet DIY stil!Steg 1: Delar och verktyg Du behöver4 x motorer som inte kommer att dra för mycket ström, som 5mm somEn FC styrelse att...

Arduino mikro elektronisk bubblan

Ett år eller så tillbaka jag byggt en kamera pol indikator som används för lysdioder för att ange vinkeln på tornet som ett visuellt hjälpmedel. Det fungerade bra för vad jag hade tänkt men jag har alltid tyckt det skulle vara "jazzed upp" lite....

Arduino mikro Power Expansion Shield

Jag byggde nyligen en temperatur loggning enhet med en Arduino. Det används en realtidsklocka, SD kort författare och en temperaturgivare. Jag behövde inte en bröd ombord för att testa liksom alla sensorer på breakout styrelser. Alla enheter krävs 5V...

Lätt diy controller med arduino uno eller mikro

Som någon gamer skulle veta, styrenheter är dyrt, runt 60$.Jag hade en arduino micro så jag beslöt att göra en xbox/playstation stil dual analog controller.Koden kan hittas härDelarArduino mikro eller uno2 x analoga styrspakar15 x knapparproto styrel...

Bygga en DIY Quadcopter: en nybörjare Guide

Detta är ett riktigt kort klipp på min quadcopter svävar upp och ner och rörelse i sidled. Jag försökte hålla höjden så minimal som möjligt eftersom jag är inne i mitt vardagsrum, men som ni kan se, även med som det flyger upp till huvudet (ca 6 fot)...

#ActiveSemi--Hydra-X bygga konkurrens: Quadcopter

Välkommen till kanel bullar DIY quadcopter tutorial! Nej, detta Instructable handlar inte om att besegra ett fabeldjur eller göra mytiskt läckra bakverk. Jag kommer att detalj mina team erfarenhet arbetar med aktiv-Semi PAC5210 på deras HydraX10 utve...

Hur set av brödunderläggen Arduino kompatibel.

Det är ingen hemlighet att runt oomlout HQ vi är stora fans av open source Arduino mikro-controller. Färdiga Duemilanove styrelsen är en fantastisk prototyping plattform, men ibland det är kul att göra något själv. Vad som följer är en guide om hur a...

Arduino/App kontrollerade skrivbord ljus

För detta projekt jag ville ha något som skulle tillåta mig att lära mig mer om elektronik/mjukvara, något jag inte riktigt fått in ännu... Jag bestämde mig för en ljus skulle vara en bra plattform för detta.Designen jag kom med var för en uplighter...

Anpassade Arduino MIDI Controller

Hej och Välkommen till detta instructable om hur man bygger en anpassad, Billigt och enkelt USB MIDI-controller, baserat på Arduino. Den bästa nyheten: inget krångel med USB-till-MIDI-gränssnitt eller programvaruverktyg som Hårlösa MIDI, bara plug 'n...

Grunderna i förvandlar ditt Remote Controll fordon till ett autonomt System (Drone) genom att använda en Arduino

jag började detta projekt med målet att billigt vrida min RC helikopter till något av en UAV eller åtminstone att passa vissa sensorer att minska kollisioner och andra "mis haps."Nu är tyvärr i början av projektet missbedömde jag min lilla helik...

Arduino Tri-Toed tvåbent

Detta instructable kommer att lära dig hur man gör en awesome tre toed tvåbent. Denna robot drivs av Arduino mikro-controller. Du kan fråga varför en tre toed tvåbent? Denna fot kan väl roboten att vila på den yttre tån när dess motsatta benet lyfts,...

Arduino mynt droppe mekanism

Inte vill missa en chans att lägga en Arduino till något eller göra några extra ändra gjorde jag ett enkelt mynt släppa PC gränssnitt att arbeta med denna mynt mekanism drog jag från en asteroider skåp jag konverterade till Mame.Det ser skrämmande me...

Komma igång med ESP8266 med hjälp av "AT-kommandon" Via Arduino

ESP8266 Wifi modul är en integrerad krets som är designad för att kommunicera till världen av internet via Wifi radiosignaler. Det är länken mellan ett projekt och internet. Den har beredning ombord och minne som gör att den kan integreras med elektr...

Hur man gör en enkel DIY micro quadcopter.

Hej jag är Sankeerth och detta är min första instructable. Här visar jag dig ett enkelt sätt att göra en micro quadcopter. Jag velat alltid göra en quadcoper. Jag har provat det många år innan men det fungerade inte. Detta ditt år jag gav det en go.O...

Baserade Arduino Bi-color LED Matrix Tetris spelet

En av elektronik DIY kit jolliFactory kom upp med är den Bi-color LED Matrix Driver modul Kit. Denna modul är utformad för att kunna kedja-så att du kan seriekoppla moduler tillsammans med antalet moduler du behöver för att passa ditt projekt.Följand...

Arduinolyzer.js: Förvandla din Arduino till en logik Analyzer

När jag jobbade på Intel som hårdvara designer, använde jag en logik analyzer för felsökning mikroprocessorer och chipsets. En logik analyzer är en maskin som ansluter till din krets och omvandlar det som händer i kretsen i en vågform på en skärm. De...