Obsah:

Jak používat modul GY511 s Arduino [Vytvořit digitální kompas]: 11 kroků
Jak používat modul GY511 s Arduino [Vytvořit digitální kompas]: 11 kroků

Video: Jak používat modul GY511 s Arduino [Vytvořit digitální kompas]: 11 kroků

Video: Jak používat modul GY511 s Arduino [Vytvořit digitální kompas]: 11 kroků
Video: Как работает Spring Boot и что такое auto-configuration. Магия? 2024, Listopad
Anonim
Jak používat modul GY511 s Arduino [Vytvořit digitální kompas]
Jak používat modul GY511 s Arduino [Vytvořit digitální kompas]

Přehled

U některých projektů v oblasti elektroniky musíme každou chvíli znát geografickou polohu a podle toho provést konkrétní operaci. V tomto tutoriálu se naučíte používat kompasový modul LSM303DLHC GY-511 s Arduino k výrobě digitálního kompasu. Nejprve se dozvíte o tomto modulu a o tom, jak funguje, a poté uvidíte, jak propojit modul LSM303DLHC GY-511 s Arduino.

Co se naučíte

  • Co je to modul kompasu?
  • Modul kompasu a rozhraní Arduino.
  • Vytvořte digitální kompas s modulem GY-511 a Arduino.

Krok 1: Obecné informace o modulu Compass

Obecné informace o modulu kompasu
Obecné informace o modulu kompasu

Modul GY-511 obsahuje 3osý akcelerometr a 3osý magnetometr. Tento senzor může měřit lineární zrychlení v plných stupnicích ± 2 g / ± 4 g / ± 8 g / ± 16 ga magnetická pole v plných stupnicích ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gauss.

Když je tento modul umístěn do magnetického pole, podle Lorentzova zákona indukuje v jeho mikroskopické cívce budicí proud. Modul kompasu převádí tento proud na rozdílové napětí pro každý směr souřadnic. Pomocí těchto napětí můžete vypočítat magnetické pole v každém směru a získat geografickou polohu.

Spropitné

QMC5883L je další běžně používaný modul kompasu. Tento modul, který má podobnou strukturu a aplikaci jako modul LMS303, se výkonově mírně liší. Pokud tedy provádíte projekty, dávejte si pozor na typ modulu. Pokud je váš modul QMC5882L, použijte příslušnou knihovnu a kódy, které jsou také součástí výukového programu.

Krok 2: Požadované součásti

Požadované součásti
Požadované součásti

Hardwarové komponenty

Arduino UNO R3 *1

3osý akcelerometr GY-511 + magnetometr *1

Servomotor TowerPro SG-90 *1

Modul LCD 1602 *1

Svetry *1

Softwarové aplikace

Arduino IDE

Krok 3: Propojení kompasového modulu GY-511 s Arduino

Propojovací kompasový modul GY-511 s Arduino
Propojovací kompasový modul GY-511 s Arduino
Propojovací kompasový modul GY-511 s Arduino
Propojovací kompasový modul GY-511 s Arduino

Modul kompasu GY-511 má 8 pinů, ale k propojení s Arduinem potřebujete pouze 4 z nich. Tento modul komunikuje s Arduino pomocí protokolu I2C, takže připojte piny modulu SDA (výstup I2C) a SCK (vstup hodin I2C) k pinům I2C na desce Arduino.

Poznámka Jak vidíte, v tomto projektu jsme použili modul GY-511. Tuto instrukci však můžete použít k nastavení dalších modulů kompasu LMS303.

Krok 4: Kalibrace kompasového modulu GY-511

Abyste mohli navigovat, musíte nejprve kalibrovat modul, což znamená nastavit rozsah měření od 0 do 360 stupňů. Chcete -li to provést, připojte modul k Arduinu, jak je znázorněno níže, a nahrajte na svou desku následující kód. Po spuštění kódu vidíte v okně sériového monitoru minimální a maximální hodnoty měřicího rozsahu pro osy X, Y a Z. Tato čísla budete potřebovat v další části, proto si je zapište.

Krok 5: Okruh

Obvod
Obvod

Krok 6: Kód

V tomto kódu potřebujete knihovnu Wire.h pro komunikaci I2C a knihovnu LMS303.h pro modul kompasu. Tyto knihovny si můžete stáhnout z následujících odkazů.

Knihovna LMS303.h

Knihovna Wire.h

Poznámka Pokud používáte QMC5883, budete potřebovat následující knihovnu:

MechaQMC5883L.h

Zde vysvětlujeme kód pro LMS303, ale můžete si také stáhnout kódy pro modul QMC.

Podívejme se na některé z nových funkcí:

compass.enableDefault ();

Inicializace modulu

compass.read ();

Čtení výstupních hodnot modulu kompasu

running_min.z = min (running_min.z, compass.m.z); running_max.x = max (running_max.x, compass.m.x);

Stanovení minimálních a maximálních hodnot rozsahu měření porovnáním naměřených hodnot.

Krok 7: Vytvoření digitálního kompasu

Po kalibraci modulu se chystáme sestavit kompas připojením servomotoru k modulu. Servo indikátor nám tedy vždy ukazuje severní směr, jako červená šipka na kompasu. Za tímto účelem nejprve modul kompasu vypočítá geografický směr a odešle jej do Arduina a poté pomocí příslušného koeficientu vypočítáte úhel, který by měl servomotor otáčet, aby jeho indikátor směřoval k magnetickému severu. Nakonec tento úhel aplikujeme na servomotor.

Krok 8: Okruh

Obvod
Obvod

Krok 9: Kód

Kód
Kód

Pro tuto část potřebujete také knihovnu Servo.h, která je ve výchozím nastavení nainstalována ve vašem softwaru Arduino.

Podívejme se na některé z nových funkcí:

Servo Servo1;

Inicializace modulu

compass.read ();

Představujeme objekt servomotoru

Servo1.attach (servoPin); compass.init (); compass.enableDefault ();

Inicializace modulu kompasu a servomotoru

Argument Servo1.attach () je číslo kolíku připojeného k servomotoru.

kompas.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; kompas.m_max = (LSM303:: vektor) { +32767, +32767, +32767};

Pomocí těchto řádků definujete minimální a maximální hodnoty pro měření rozsahu získaného v předchozí části.

plovoucí nadpis = compass.heading ((LSM303:: vector) {0, 0, 1});

Funkce nadpis () vrací úhel mezi souřadnicovou osou a pevnou osou. Pevnou osu můžete definovat vektorem v argumentu funkce. Například zde definováním (LSM303:: vektor) {0, 0, 1} je osa Z považována za konstantní osu.

Servo1.write (nadpis);

Funkce Servo1.write () aplikuje načtenou hodnotu kompasovým modulem na servomotor.

Poznámka: Servomotor může mít magnetické pole, proto je lepší umístit servomotor ve vhodné vzdálenosti od modulu kompasu, aby nedošlo k vychýlení modulu kompasu.

Doporučuje: