Versnelling omzetten naar hoek van MPU6050 I2C-sensor
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 |
Apps en online services
| ||||
|
Over dit project
Een tijdje geleden heb ik een tutorial gepost over hoe u MPU9250 versnellingsmeter, gyroscoop en kompassensor . kunt aansluiten naar Arduino Nano en programmeer het met Visuino om pakketgegevens te verzenden en weer te geven op een Scope en Visual Instruments.
De Versnellingsmeter stuurt X, Y, en Z versnelling krachten. Vaak moeten we de krachten echter omzetten in X, Y, Z 3D-hoek om de 3D-oriëntatie te bepalen van de sensor. Heel weinig mensen hebben om zo'n tutorial gevraagd, en eindelijk heb ik tijd gevonden om het te maken.
Sommige mensen vroegen ook hoe u MPU6050 accelerometer en gyroscoopsensor kunt aansluiten en gebruiken , dus besloot ik deze module te gebruiken voor de tutorial in plaats van de meer complexe en duurdere MPU9250 .
In deze zelfstudie laat ik u zien hoe eenvoudig het is om de MPU6050 versnellingsmeter en gyroscoopsensor aan te sluiten naar Arduino Nano , en programmeer het met Visuino om de Versnelling . te converteren in een 3D X, Y, Z-hoek .
Stap 1:Componenten
- Eén Arduino compatibel bord (ik gebruik Arduino Nano, omdat ik er een heb, maar elke andere is prima)
- Eén MPU6050-sensormodule voor acceleratiegyroscoop
- 4 vrouw-vrouw jumperdraden
Stap 2:Sluit de MPU6050 Accelerometer en Gyroscoop aan op Arduino
- Sluit 5V VCC-voeding aan (Rode draad ), Grond (Zwarte draad ), SCL (Gele draad ), en SDA (Groene draad ) naar de MPU6050-module (Afbeelding 1 )
- Verbind het andere uiteinde van de aardingsdraad (Zwarte draad ) naar een Grond speld van de Arduino Nano bord (Afbeelding 2 )
- Sluit het andere uiteinde van de 5V VCC-voedingsdraad aan (Rode draad ) naar de 5V powerpin van de Arduino Nano bord (Afbeelding 2 )
- Sluit het andere uiteinde van de SDA-draad aan (Groene draad ) naar SDA/analoge pin 4 van de Arduino Nano bord (Afbeelding 3 )
- Verbind het andere uiteinde van de SCL-draad (Gele draad ) naar SCL/analoge pin 5 van de Arduino Nano bord (Afbeelding 3 )
- Afbeelding 4 laat zien waar de Grond . is , 5V Voeding, SDA/analoge pin 4 , en SCL/analoge pin 5 , pinnen van de Arduino Nano
Stap 3:Start Visuino en selecteer het Arduino-bordtype
Om te beginnen met het programmeren van de Arduino, heb je de Arduino IDE . nodig geïnstalleerd vanaf hier:http://www.arduino.cc/.
Zorg ervoor dat je 1.6.7 of hoger installeert, anders werkt deze tutorial niet!
De Visuino :https://www.visuino.com moet ook worden geïnstalleerd.
- Start Visuino zoals op de eerste foto
- Klik op de "Extra " knop op de Arduino component (Afbeelding 1 ) in Visuino
- Als het dialoogvenster verschijnt, selecteert u Arduino Nano zoals getoond in Afbeelding 2
Stap 4:In Visuino:MPU9650 toevoegen en aansluiten en acceleratie naar hoekcomponenten
Eerst moeten we componenten toevoegen om de MPU6050-sensor te besturen en om de X, Y, Z-versnelling om te zetten in 3D X, Y, Z-hoek:
- Typ "6050 " in het filtervak van de Component Toolbox selecteer vervolgens de "Accelerometer Gyroscope MPU6000/MPU6050 I2C " component (Afbeelding 1 ), en zet het neer in het ontwerpgebied (Afbeelding 2 )
- Typ "hoek " in het filtervak van de Component Toolbox selecteer vervolgens de "Acceleration To Angle " component (Afbeelding 2 ), en zet het neer in het ontwerpgebied (Afbeelding 3 )
- Klik in de "Uit " vak van de "Versnellingsmeter " doos met de X,Y, X versnellingspinnen van de AccelerometerGyroscope1 component om alle Out-pinnen tegelijk aan te sluiten (Afbeelding 3 )
- Beweeg de muis over de "X " invoerpin van de "In " vak van de AccelerationToAngle1 onderdeel. De Visuino spreidt automatisch de draden zodat ze correct worden aangesloten op de rest van de pinnen (Afbeelding 3 )
- Sluit de "Out . aan " pin van de AccelerometerGyroscope1 component naar de naar de "In " pin van de I2C kanaal van de Arduino component (Afbeelding 4 )
Stap 5:In Visuino:voeg pakketcomponent en 3 binaire analoge elementen toe en verbind ze
Om alle kanaalgegevens via de seriële poort van Arduino te verzenden, kunnen we de Packet-component gebruiken om de kanalen samen te bundelen en ze weer te geven in de Scope en Gauges in Visuino :
- Typ "pakket " in het vak Filter van de Component Toolbox selecteer vervolgens de component "Sinus Analoge Generator" (Afbeelding 1 ), en zet het in het ontwerpgebied
- Klap in de Objectinspector de "Hoofdmarkering . uit "eigendom (Afbeelding 2 )
- Klik in de Object Inspector op de "... " knop (Afbeelding 2 )
- Typ in de Bytes-editor enkele getallen, bijvoorbeeld 55 55 (Afbeelding 3 )
- Klik op de OK-knop om de editor te bevestigen en te sluiten
Stap 6:In Visuino:voeg 3 binaire analoge elementen toe aan de pakketcomponent en verbind ze
Om alle kanaalgegevens via de seriële poort van Arduino te verzenden, kunnen we de Packet-component gebruiken om de kanalen samen te bundelen en ze weer te geven in de Scope en Gauges in Visuino :
- Klik op de "Extra " knop van de Packet1 component (Afbeelding 1 )
- In de "Elementen " editor selecteer de “Binaire Analoge ”-element en klik vervolgens 3 keer op de knop "" (Afbeelding 2 ) om 3 . toe te voegen Analoge elementen (Afbeelding 3 )
- Klik in de "Uit " vak van de "Versnellingsmeter " Doos met de pinnen van de AccelerationToAngle1 component om alle Out-pinnen tegelijk te verbinden (Afbeelding 4 )
- Beweeg de muis over de "In " pin van de "Elements.Analog(Binary)1 " element van het Packet1 onderdeel. De Visuino spreidt automatisch de draden zodat ze correct worden aangesloten op de rest van de pinnen (Afbeelding 4 )
- Sluit de "Out . aan " uitvoerpin van de Packet1 component naar de "In " invoerpin van de "Serial[ 0 ] " kanaal van de "Arduino "component (Afbeelding 5 )
Stap 6:Genereer, compileer en upload de Arduino-code
- In Visuino , Druk op F9 of klik op de knop die wordt weergegeven op Afbeelding 1 om de Arduino-code te genereren en de Arduino IDE te openen
- In de Arduino IDE , klik op de Uploaden knop, om de code te compileren en te uploaden (Afbeelding 2 )
Stap 7:En speel...
U kunt de aangesloten en draaiende MPU6050-versnellingsmeter en gyroscoopsensor . zien op Afbeelding 1 .
- In Visuino selecteer de seriële poort en klik vervolgens op de "Formaat: " vervolgkeuzelijst en selecteer Packet1 (Afbeelding 2 )
- Klik op de "Verbinden " knop (Afbeelding 2 )
- Als u de "Reikwijdte . selecteert " tabblad, ziet u de Scope die de X,Y,Z-hoeken . plot na verloop van tijd (Afbeelding 3 )
- Als u de "Instrumenten . selecteert " tabblad, ziet u de Meters met dezelfde informatie (Afbeelding 4 )
Je kunt de sensor in actie zien op de Video .
Gefeliciteerd! Je hebt een Visuino . gemaakt project converteert Versnelling naar Hoek van MPU6050 versnellingsmeter en gyroscoopsensor .
Op Afbeelding 5 je kunt de volledige Visuino . zien diagram.
Ook bijgevoegd is de Visuino project, dat ik voor deze zelfstudie heb gemaakt. Je kunt het downloaden en openen in Visuino :https://www.visuino.com
Code
- MPU6050AccelerationToAngleTutorial
MPU6050AccelerationToAngleTutorialArduino
Voltooi Visuino-projectGeen voorbeeld (alleen downloaden).
Productieproces
- Werking en toepassingen van de versnellingsmetersensor
- Optimaliseren van uiterst nauwkeurige kantel-/hoekdetectie:basisprincipes van de versnellingsmeter
- Raspberry Pi Temperature Logger
- BMP180 I2C digitale luchtdruksensor
- Stuur sensorgegevens van de ene Arduino naar de andere met Firebase
- CO2-monitoring met K30-sensor
- Hoe lang ben je?
- Capacitieve vingerafdruksensor met een Arduino of ESP8266
- Arduino Cloud Sensor Tower
- Bewegingssensor-waterpistool
- Mini-radar met Arduino