INHOUDSOPGAWE:
- Stap 1: Algemene inligting oor kompasmodule
- Stap 2: Vereiste komponente
- Stap 3: Koppelvlak GY-511 kompasmodule met Arduino
- Stap 4: GY-511 kompasmodule-kalibrasie
- Stap 5: Kringloop
- Stap 6: Kode
- Stap 7: Maak 'n digitale kompas
- Stap 8: Skakel
- Stap 9: Kode
- Stap 10: Wat is volgende?
Video: Hoe om die GY511 -module te gebruik met Arduino [Maak 'n digitale kompas]: 11 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Oorsig
In sommige elektroniese projekte moet ons die geografiese ligging op enige tydstip ken en 'n spesifieke operasie dienooreenkomstig uitvoer. In hierdie handleiding leer u hoe u die LSM303DLHC GY-511 kompasmodule met Arduino kan gebruik om 'n digitale kompas te maak. Eerstens leer u meer oor hierdie module en hoe dit werk, en dan sien u hoe u die LSM303DLHC GY-511-module met Arduino kan koppel.
Wat jy sal leer
- Watter kompasmodule is?
- Kompasmodule en Arduino -koppelvlak.
- Maak 'n digitale kompas met die GY-511-module en Arduino.
Stap 1: Algemene inligting oor kompasmodule
GY-511 module bevat 'n 3-as versnellingsmeter en 'n 3-as magnetometer. Hierdie sensor kan die lineêre versnelling meet op volle skale van ± 2 g / ± 4 g / ± 8 g / ± 16 g en magnetiese velde op volle skale van ± 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / ± 5.6 / ± 8.1 Gauss.
As hierdie module in 'n magnetiese veld geplaas word, veroorsaak 'n eksitasiestroom in sy mikroskopiese spoel volgens die Lorentz -wet. Die kompasmodule skakel hierdie stroom om in die differensiële spanning vir elke koördinaatrigting. Deur hierdie spannings te gebruik, kan u die magnetiese veld in elke rigting bereken en die geografiese posisie kry.
Wenk
QMC5883L is 'n ander kompasmodule wat gereeld gebruik word. Hierdie module, wat 'n soortgelyke struktuur en toepassing as die LMS303 -module het, verskil effens van mekaar. As u dus die projekte doen, moet u versigtig wees met die tipe module. As u module QMC5882L is, gebruik die toepaslike biblioteek en kodes wat ook in die tutoriaal ingesluit is.
Stap 2: Vereiste komponente
Hardeware komponente
Arduino UNO R3 *1
GY-511 3-as versnellingsmeter + magnetometer *1
TowerPro Servomotor SG-90 *1
1602 LCD -module *1
Springers *1
Sagteware programme
Arduino IDE
Stap 3: Koppelvlak GY-511 kompasmodule met Arduino
GY-511 kompasmodule het 8 penne, maar u benodig slegs 4 daarvan om met Arduino te koppel. Hierdie module kommunikeer met Arduino met behulp van I2C -protokol, dus koppel die SDA (I2C -uitset) en SCK (I2C -klokinvoer) penne van die module aan die I2C -penne op die Arduino -bord.
Opmerking Soos u kan sien, het ons die GY-511-module in hierdie projek gebruik. Maar u kan hierdie instruksie gebruik vir die opstel van ander LMS303 kompasmodules.
Stap 4: GY-511 kompasmodule-kalibrasie
Om te navigeer, moet u eers die module kalibreer, wat beteken dat u die meetbereik van 0 tot 360 grade moet stel. Om dit te doen, koppel die module aan Arduino soos hieronder getoon en laai die volgende kode op u bord op. Nadat u die kode uitgevoer het, kan u die minimum en maksimum waardes van die meetbereik vir die X-, Y- en Z -as in die seriële monitorvenster sien. U sal hierdie getalle in die volgende deel benodig, dus skryf dit neer.
Stap 5: Kringloop
Stap 6: Kode
In hierdie kode benodig u die Wire.h -biblioteek vir I2C -kommunikasie en die LMS303.h -biblioteek vir die kompasmodule. U kan hierdie biblioteke vanaf die volgende skakels aflaai.
LMS303.h Biblioteek
Wire.h -biblioteek
Let wel: as u QMC5883 gebruik, benodig u die volgende biblioteek:
MechaQMC5883L.h
Hier verduidelik ons die kode vir LMS303, maar u kan ook die kodes vir die QMC -module aflaai.
Kom ons kyk na 'n paar van die nuwe funksies:
compass.enableDefault ();
Module -inisialisering
kompas.lees ();
Lees die uitsetwaardes van kompasmodule
hardloop_min.z = min (hardloop_min.z, kompas.m.z); running_max.x = max (running_max.x, kompas.m.x);
Bepaling van die minimum en maksimum waardes van die meetbereik deur die gemete waardes te vergelyk.
Stap 7: Maak 'n digitale kompas
Nadat ons die module gekalibreer het, gaan ons 'n kompas bou deur 'n servomotor aan die module te koppel. Sodat die servo -aanwyser ons altyd die noordelike rigting wys, soos die rooi pyltjie op die kompas. Om dit te doen, bereken eers die kompasmodule eers die geografiese rigting en stuur dit na Arduino en dan, deur 'n toepaslike koëffisiënt toe te pas, bereken u die hoek wat die servomotor moet draai sodat die aanwyser na die magnetiese noord wys. Uiteindelik pas ons die hoek op die servomotor toe.
Stap 8: Skakel
Stap 9: Kode
Vir hierdie deel benodig u ook die Servo.h -biblioteek, wat standaard op u Arduino -sagteware geïnstalleer is.
Kom ons kyk na 'n paar van die nuwe funksies:
Servo Servo1;
Module -inisialisering
kompas.lees ();
Bekendstelling van die servomotorvoorwerp
Servo1.aanheg (servoPin); kompas.init (); compass.enableDefault ();
Initialisering van die kompasmodule en servomotor
Die Servo1.attach () -argument is die nommer van die pen wat aan die servomotor gekoppel is.
compass.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; kompas.m_max = (LSM303:: vektor) { +32767, +32767, +32767};
Met behulp van hierdie lyne definieer u die minimum en maksimum waardes vir die meting van die bereik wat in die vorige deel verkry is.
dryfkop = kompas.opskrif ((LSM303:: vektor) {0, 0, 1});
Die opskrif () -funksie gee die hoek tussen die koördinaatas en 'n vaste as terug. U kan die vaste as definieer met 'n vektor in die funksie -argument. Byvoorbeeld, deur die (LSM303:: vektor) {0, 0, 1} te definieer, word die Z -as as 'n konstante as beskou.
Servo1.skryf (opskrif);
Die funksie Servo1.write () pas die leeswaarde deur die kompasmodule toe op die servomotor.
Let op Let op dat die servomotor 'n magneetveld kan hê, daarom is dit beter om die servomotor op 'n geskikte afstand van die kompasmodule te plaas, sodat dit nie veroorsaak dat die kompasmodule afwyk nie.
Aanbeveel:
Hoe om die toetsbord en LCD met Arduino te gebruik om 'n Arduino -sakrekenaar te maak: 5 stappe
Hoe om die toetsbord en die LCD met Arduino te gebruik om 'n Arduino -sakrekenaar te maak: In hierdie handleiding sal ek deel hoe u 'n 4x4 matriks -toetsbord en 16x2 LCD met Arduino kan gebruik en dit kan gebruik om 'n eenvoudige Arduino -sakrekenaar te maak. Laat ons dus begin
Hoe om Mac Terminal te gebruik en hoe om sleutelfunksies te gebruik: 4 stappe
Hoe om Mac Terminal te gebruik en hoe om belangrike funksies te gebruik: Ons sal u wys hoe u die MAC Terminal kan oopmaak. Ons sal u ook 'n paar funksies in die Terminal wys, soos ifconfig, veranderende gidse, toegang tot lêers en arp. Met Ifconfig kan u u IP -adres en u MAC -advertensie nagaan
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Hoe om 'n boemerang te maak (die robot keer terug met die donker vlieër): 8 stappe (met foto's)
How to Make a Boomerang (The Robot Returns With The Dark Kite): Ek het nog nooit 'n boemerang gemaak nie, so ek het gedink dis tyd, dit is twee boemerang -projekte in een. Die instruksies vir elkeen is merkwaardig soortgelyk, en u kan die verskille in die aantekeninge op die beelde volg. Tradisionele boemerangs het twee
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek