3D tryckt Arduino Quadricopter (4 / 7 steg)

Steg 4: I2C Accelerometer-gyroskop setup



TL; DR:

1. ANSLUT INTE TILL 5V.

2. inte galen.

3. använda detta bibliotek: https://github.com/jrowberg/i2cdevlib

4. Använd inte lödtenn din styrelse i tills du har kört en kalibrering.

Vi använde en MPU6050 från SparkFun, https://www.sparkfun.com/products/11028. Dessa kan hittas på Amazon för bara $10, och jag har den på bra ord som de fungerar bra, men ledningarna kommer att bli lite annorlunda från bilderna. Detta steg kommer att fungera som en allmän bakgrund och handledning för att installera och använda en I2C accelerometer, eftersom de flesta av denna information är spridda bland ett dussin Forumtrådar.

Vad är I2C?

Du kanske har sett enkla styrelser som https://www.sparkfun.com/products/9269 med individuella analoga utgångar för X, Y och Z. De vettiga; varje utgång korrelerar mot en axel av accelerometern. Då du ser en I2C ombord och missfoster ut lite insidan. I2C är en kommunikationsstandard där styrelsen kommunicerar massor av information med digital logik pulser i stället för analoga utgångar. MPU6050 har 6-axlar (3-gyro, 3-accelerometer) så om de var analog skulle de använda upp alla portar på din Arduino. Summan av kardemumman är Arduino skickar en digital signal till styrelsen, och läser in information digitalt från input stiften.

Ledningar:

Ledningarna för våra specifika MPU6050 är som följer. Observera bibliotek koden förutsätter att dessa är de insatsvaror som används. Andra styrelser kommer att likna.

VDD -> 3.3V

GND -> marken

INT -> digital 2

SCL -> A5

SDA -> A4

VIO -> marken

Rinnande 5v genom styrelsen kan och kommer att bryta det, så inte. Vissa MPU6050 styrelser har spänningsregulatorer som ska skydda det, men det är inte värt risken. Om din styrelse har en AD0 stift, ska du ansluta till marken. På vår styrelse VIO porten är ansluten till en inre AD0, så den fungerar som AD0 PIN-koden. Om AD0/VIO är ansluten till marken eller VDD faktiskt bestämmer den minnesadressen som styrelsen gränssnitt med Arduino (0x68 eller 0x69). Om detta är förvirrande, inte oroa sig för det, bara koppla det till marken. Om du har problem att försöka byta VIO/AD0 från marken till VDD.

Kod:

Nu blir det lite knepigt. Förhoppningsvis har du lite kodning / jävlas med programvara erfarenhet. Om du inte gör det, bara gå långsamt och google något du inte vet. Det finns en hel del information där ute. Jag ska försöka vara så tydlig som möjligt, men jag kan inte täcka alla problem

När du har din MPU wired till Arduino, slå på den och ladda upp här I2C scanner koden: http://playground.arduino.cc/Main/I2cScanner#.Uxh...

Bläddra längst ned och kopiera-klistra in koden i en tom skiss och köra den. Öppna den seriella monitor (Verktyg -> Serial Monitor) och kontrollera att du är på port 9600 (nederst till vänster). Det är i koden, men du läsa inte den ändå.

Om allt fungerar ska det hitta en I2C enhet och ger dig en minnesadress 0x68 eller 0x69. Skriva ner. Om du får fel kontrollera ledningarna.

Du ska nu vill installera kod som faktiskt talar till accelerometer/gyroskop. Det finns en massa grejer där ute men den som jag har hittat som fungerar bäst är https://github.com/jrowberg/i2cdevlib. Klicka på "Hämta Zip," kom ihåg var du men det (förmodligen skrivbordet) och sedan packa upp den. Öppna upp programmet Arduino IDE. Nu gå till skiss -> Importera bibliotek -> lägga till bibliotek. Du bör lägga till både mappen I2Cdev och MPU6050 mappar som bibliotek (de är under Arduino i mappen).

När de är installerade bör du öppna upp den MPU6050_DMP6 (den har under MPU6050 -> exempel) fil i Arduino. Jag föreslår att läsa den (även om du inte vet mycket kod), det är väl kommenterade och har en vissa alternativ för hur det utgångar avläsningar från styrelsen. Om du fick på 0x69 från skannern, måste du ta bort en rad överst i koden (efter #includes, bara läsa kommentarerna dumt) eftersom standard är 0x68. Programmet bör nu sammanställa.

Ladda upp koden, öppna serieporten (115200 denna gång) och följ instruktionerna. Grattis, ska du få arbeta avläsningar från styrelsen. Om det verkar glida först, oroa dig inte det behöver ca 10 SEK är fortfarande att komma till vila. Också kommer att gir utdata glida (lite), eftersom det har ingen referensram. Styrelsen använder accelerometern få allvar och hitta "down" som fungerar som referens för pitch och rulla. Lite finare skivor innehåller en kompass för referens.

Nu innan du går vidare, ska du kalibrera din styrelse. Hitta en plan yta och se till din styrelse är platt med etiketteringen uppåt.

Sedan bör du köra här praktisk-dandy kalibrering koden tillgänglig på toppen, tack vare Luis Ródenas. Igen standarden det 0x68, men du kan ändra detta. Kontrollera att du skriver ner förskjutningsvärdena det ger dig. Du kan och bör använda dessa som förskjutningarna i MPU6050_DMP6 kod (och senare vår quadcopter kod).

Nu har du ett fungerande och användbara accelerometer/gyroskop. Jag föreslår nu du spendera lite tid jävlas med MPU6050_DMP6 koden och försöker de olika utdata typerna.

Se Steg
Relaterade Ämnen

Enkla 3D tryckt Arduino Robot

Vem vill inte bygga en robot? Som barn drömde jag att bygga robotar. Nu, alla i alla åldrar med bara lite kunskap kan bygga en enkel robot! Jag kommer att visa dig hur man gör just detta.RobotenDenna robot har en 3D tryckta chassi. Den har en arduino...

3D tryckt Arduino xylofon

Som en del av mitt sista projekt för min elektronik klass beslöt jag att skapa en liten elektronisk xylofon med Arduino Uno. Denna idé kom från viljan att ha någon form av praxis mallet för mallet slagverkare, som jag själv.Xylofon använder piezo sen...

3D tryckt Arduino Robot

Detta instructable visar dig hur man bygger en grundläggande 3D tryckta autonom robot för omkring $40.Detta instructable är främst skriven för mina studenter på MakerLab NZ som vägledning för efterbehandling eller reparera sina robotar som de byggt u...

3D tryckta Arduino Tank

Syfte och beskrivning:Syftet var att bekanta oss med avlägsen kontrollerade saker och arbetar på något som vi gillar. Richard är ett stort fan av lastbilar och tankar och det var ganska mycket vår främsta källa till inspiration. Vi ville göra en tank...

3D tryckt Arduino kontrollerade Eggbot/Spherepot

först detta projekt var en kombination av två stora online resurser. Jag hade letat i att bygga en eggbot ett tag och sedan jag hade en hel av ping pong bollar å efter en av mina andra videor tiden var rätt för att göra min SphereBot som kunde skriva...

Hexapoduino: liten hexapod 3D tryckt, Arduino kontrollerade

några för en tid sedan jag fick reda på en 3d tryckta mikro-Hexapod på Thingiverse.Jag började att arbeta på det på följande sätt:-skapa nya tillbehör/komponenter 3D utskrivbara-utforska möjliga sätt att driva detta hexapod.Här resultaten:-en paramet...

3D tryckt Arduino Boe Bot

Hej, visar detta instructable dig hur man bygger en liten 3D ut Arduino Boe-Bot som drivs av 360 graders servon. Dess inspirerad av Parallax's Boe Bots. Med detta har du två sätt att kontrollera bot antingen med en RF-sändare/mottagare, Joystick och...

Hur man gör en mobiltelefon och dator kontrolleras 3D tryckta Robot med Arduino - IoBot.

Om du letar efter ett sätt att kontrollera en Arduino baserade enheter, kommer att denna anvisning Visa dig hur man gör det genom att bygga enkla robot.IoBot kan styras med mobil och dator ansökan via LAN eller USB-kabel. Programmet körs på Android,...

Arduino Laservarnare med knappsatsen

Hej alla!Jag har leka med några komponenter och min arduino. Jag listat ut detta projekt förra veckan och var bara tvungen att dela det med er alla. Det är en laser strålar träffa en foto cell. Arduino läser foto cellen och när den upptäcker spänning...

Arduino Piano

"Detta instructable skapades enlighet projektet kravet på Makecourse vid University of South Florida (www.makecourse.com)"I detta Instructable, kommer jag att beskriva den process som jag brukade göra en 3D tryckta Arduino-driven piano!Material...

LED Arduino Beer Pong tabell

Vårt projekt är en lysdiod underhållning tabell eller colloquially, en Beer Pong tabell. Vi fick idén från en grupp studenter förra året som också byggde en öl pong tabell för deras projekt, och vi lärde oss om deras design och gjort några betydande...

Voltmeter med Arduino

Denna handledning visar hur man gör en voltmeter med en Arduino, brödunderläggen och motstånd. Voltmetern är programmerad på ett sätt att utdata visas på datorn. Användare enkelt uttryckt den negativa änden av batteriet på den svarta kabeln, och posi...

Intelligent hörapparat

i detta instructable, vi kommer att bygga en intelligent hörapparat. Målet är att bygga en låg effekt, kostnadseffektiv hörapparat som har flera viktiga intelligenta funktioner. Första har det tuning funktionalitet som gör att bäraren att ställa in f...

Robot Mask med Neopixel ögon, iPhone mun och Voice Changer

För Halloween i år beslutade vi att göra en robot mask för vår äldsta son. Det finns några olika elektroniska komponenter som samverkar för att göra den slutliga masken. Vi använde neopixel ringar och en arduino för att kontrollera ögonen, en gammal...

Tänka över telefon för synskadade - med Smart käpp

Här är den första prototypen av Arduino telefonen för synskadade med en Arduino Uno och Seeed studio GPRS sköld 1.0. Det finns två funktioner som denna telefon har, som drivs av inställningsreglaget, precis under där den säga "ögat" på bilden ov...

Undervisning Mike att gå

Detta är en 3d tryckt, Arduino kontrolleras, sex frihetsgrader, walking robot. Ja--typ av. Han gick bättre på en navelsträng än med sin feta mage och stort huvud (låter som vissa människor jag känner). Mer om det senare.Konceptet var att göra en smar...

Ribbon wellpappmaskinen (VECKARE) för menyfliksområdet mikrofoner bland annat

HejDetta är mitt i en rad projekt när det gäller band mikrofoner. Här gången, vi kommer att göra en en 3D-tryckta, Arduino kontrolleras, fotpedal aktiverad menyfliksområdet wellpappmaskinen för att göra korrugering ett band element ett kick.Jag gjord...

Blumcaw Cupcake (blinkar, LED, ultraljud, Motorized, kacklande, Arduino, häxa) med 3d tryckta delar

Denna gamla häxa har en blinkande vårta på näsan. Om du kliver kommer alltför nära (som bestäms av en Ping ultraljud givare), hon kackel ut en hälsning, hennes hatt kommer att snurra och hennes ögon blinkar sju färger.Blumcaw kan göras som en "vanlig...

CupBots - 3D tryckt Robotic plattform för Arduino och Raspberry Pi

Här är en stor helg robotics projekt att genomföra med vänner eller folk på din lokala maker utrymme. Behöver du en 3D-skrivare händig till 3D tryck STL filer bifogas som en del av stegen nedan och en kopp, i mitt fall, jag använder en venti kopp frå...