Orodha ya maudhui:

Jinsi ya kutumia Moduli ya GY511 na Arduino [Fanya Dira ya Dijiti]: Hatua 11
Jinsi ya kutumia Moduli ya GY511 na Arduino [Fanya Dira ya Dijiti]: Hatua 11

Video: Jinsi ya kutumia Moduli ya GY511 na Arduino [Fanya Dira ya Dijiti]: Hatua 11

Video: Jinsi ya kutumia Moduli ya GY511 na Arduino [Fanya Dira ya Dijiti]: Hatua 11
Video: Управляйте 10 выходными контактами или реле с помощью 10 кнопочных переключателей с 1 входным контактом Arduino ANPB-V2. 2024, Novemba
Anonim
Jinsi ya kutumia Moduli ya GY511 na Arduino [Tengeneza Dira ya Dijiti]
Jinsi ya kutumia Moduli ya GY511 na Arduino [Tengeneza Dira ya Dijiti]

Maelezo ya jumla

Katika miradi mingine ya umeme, tunahitaji kujua eneo la kijiografia wakati wowote na kufanya operesheni maalum ipasavyo. Katika mafunzo haya, utajifunza jinsi ya kutumia moduli ya dira ya LSM303DLHC GY-511 na Arduino kutengeneza dira ya dijiti. Kwanza, utajifunza juu ya moduli hii na jinsi inavyofanya kazi, na kisha utaona jinsi ya kuunganisha moduli ya LSM303DLHC GY-511 na Arduino.

Nini Utajifunza

  • Moduli ya dira ni nini?
  • Moduli ya Dira na kiolesura cha Arduino.
  • Tengeneza dira ya dijiti na moduli ya GY-511 na Arduino.

Hatua ya 1: Maelezo ya jumla kuhusu Moduli ya Dira

Maelezo ya Jumla Kuhusu Moduli ya Dira
Maelezo ya Jumla Kuhusu Moduli ya Dira

Moduli ya GY-511 inajumuisha accelerometer ya 3-axis na magnetometer ya 3-axis. Sensor hii inaweza kupima kasi ya mstari kwa mizani kamili ya ± 2 g / ± 4 g / ± 8 g / ± 16 g na uwanja wa sumaku kwa mizani kamili ya ± 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / ± 5.6 / ± 8.1 Gauss.

Wakati moduli hii imewekwa kwenye uwanja wa sumaku, kulingana na sheria ya Lorentz msukumo wa sasa unashawishi kwenye coil yake ya hadubini. Moduli ya dira hubadilisha hii ya sasa kuwa voltage tofauti kwa kila mwelekeo wa kuratibu. Kutumia voltages hizi, unaweza kuhesabu uwanja wa sumaku katika kila mwelekeo na kupata nafasi ya kijiografia.

Kidokezo

QMC5883L ni moduli nyingine ya dira inayotumika kawaida. Moduli hii, ambayo ina muundo sawa na matumizi kama moduli ya LMS303, ni tofauti kidogo katika utendaji. Kwa hivyo ikiwa unafanya miradi, kuwa mwangalifu juu ya aina ya moduli yako. Ikiwa moduli yako ni QMC5882L, tumia maktaba inayofaa na nambari ambazo pia zimejumuishwa kwenye mafunzo.

Hatua ya 2: Vipengele vinavyohitajika

Vipengele vinavyohitajika
Vipengele vinavyohitajika

Vipengele vya vifaa

Arduino UNO R3 * 1

GY-511 3-Axis Accelerometer + Magnetometer * 1

TowerPro Servo Motor SG-90 * 1

Moduli ya LCD ya 1602 * 1

Kuruka * 1

Programu za Programu

Arduino IDE

Hatua ya 3: Kuingiliana kwa Moduli ya Dira ya GY-511 na Arduino

Kuingiliana na Moduli ya Dira ya GY-511 na Arduino
Kuingiliana na Moduli ya Dira ya GY-511 na Arduino
Kuingiliana na Moduli ya Dira ya GY-511 na Arduino
Kuingiliana na Moduli ya Dira ya GY-511 na Arduino

Moduli ya dira ya GY-511 ina pini 8, lakini unahitaji 4 tu kati ya hizo kuungana na Arduino. Moduli hii inawasiliana na Arduino kwa kutumia itifaki ya I2C, kwa hivyo unganisha pini za SDA (I2C) na SCK (pembejeo ya saa ya I2C) ya moduli kwa pini za I2C kwenye bodi ya Arduino.

Kumbuka Kama unavyoona, tumetumia moduli ya GY-511 katika mradi huu. Lakini unaweza kutumia maagizo haya kwa kuanzisha moduli zingine za dira za LMS303.

Hatua ya 4: Usawazishaji wa Moduli ya GY-511

Ili kusafiri, unahitaji kwanza kusawazisha moduli, ambayo inamaanisha kuweka anuwai ya kupima kutoka digrii 0 hadi 360. Ili kufanya hivyo, unganisha moduli kwa Arduino kama inavyoonyeshwa hapa chini na pakia nambari ifuatayo kwenye ubao wako. Baada ya kutekeleza nambari, unaweza kuona kiwango cha chini na cha juu cha upimaji wa X, Y na Z kwenye mhimili wa serial. Utahitaji nambari hizi katika sehemu inayofuata, kwa hivyo ziandike.

Hatua ya 5: Mzunguko

Mzunguko
Mzunguko

Hatua ya 6: Kanuni

Katika nambari hii, unahitaji maktaba ya Wire.h kwa mawasiliano ya I2C, na maktaba ya LMS303.h kwa moduli ya dira. Unaweza kupakua maktaba hizi kutoka kwa viungo vifuatavyo.

LMS303.h Maktaba

Maktaba ya Wire.h

Kumbuka Ikiwa unatumia QMC5883, utahitaji maktaba ifuatayo:

MechaQMC5883L.h

Hapa, tunaelezea nambari ya LMS303, lakini unaweza kupakua nambari za moduli ya QMC pia.

Wacha tuone kazi zingine mpya:

dira.wezeshwaDefault ();

Uanzishaji wa moduli

soma. soma ();

Kusoma maadili ya pato la moduli ya dira

mbio_min.z = dakika (mbio_min.z, dira.m.z); mbio_max.x = max (mbio_max.x, dira.m.x);

Kuamua kiwango cha chini na cha juu cha kiwango cha kipimo kwa kulinganisha maadili yaliyopimwa.

Hatua ya 7: Kutengeneza Dira ya Dijiti

Baada ya kupima moduli, tutaunda dira kwa kuunganisha servo motor na moduli. Ili kiashiria cha servo, kila wakati kinatuonyesha mwelekeo wa kaskazini, kama mshale mwekundu kwenye dira. Ili kufanya hivyo, kwanza moduli ya dira huhesabu mwelekeo wa kijiografia kwanza na kuipeleka kwa Arduino na Kisha, kwa kutumia mgawo unaofaa, utahesabu pembe ambayo servo motor inapaswa kuzunguka ili kiashiria chake kielekeze kaskazini mwa sumaku. Hatimaye, tunatumia pembe hiyo kwa servo motor.

Hatua ya 8: Mzunguko

Mzunguko
Mzunguko

Hatua ya 9: Kanuni

Kanuni
Kanuni

Kwa sehemu hii unahitaji pia maktaba ya Servo.h, ambayo imewekwa kwenye programu yako ya Arduino kwa msingi.

Wacha tuone kazi zingine mpya:

Servo Servo1;

Uanzishaji wa moduli

soma. soma ();

Kuanzisha kitu cha servo motor

Servo1. ambatisha (servoPin); dira.init (); dira.wezeshwaDefault ();

Uanzishaji wa moduli ya dira na motor ya servo

Hoja ya Servo1.attach () ni idadi ya pini iliyounganishwa na motor ya servo.

dira.m_min = (LSM303:: vector) {- 32767, -32767, -32767}; dira.m_max = (LSM303:: vector) {+ 32767, +32767, +32767};

Kutumia mistari hii unafafanua viwango vya chini na vya juu vya kupima anuwai iliyopatikana katika sehemu iliyopita.

kichwa cha kuelea = dira. kichwa ((LSM303:: vector) {0, 0, 1});

Kichwa cha kichwa () kinarudisha pembe kati ya mhimili wa kuratibu na mhimili uliowekwa. Unaweza kufafanua mhimili uliowekwa na vector katika hoja ya kazi. Kwa mfano, hapa, kwa kufafanua (LSM303:: vector) {0, 0, 1}, mhimili wa Z unachukuliwa kama mhimili wa kila wakati.

Servo1.andika (kichwa);

Kazi ya Servo1.write () inatumika kwa thamani ya kusoma na moduli ya dira kwa motor ya servo.

Kumbuka kuwa motor ya servo inaweza kuwa na uwanja wa sumaku, kwa hivyo ni bora kuweka servo motor kwa umbali unaofaa kutoka kwa moduli ya dira, kwamba haisababisha moduli ya dira kupotoka.

Ilipendekeza: