Агуулгын хүснэгт:

GY511 модулийг Arduino -тэй хэрхэн ашиглах [Дижитал луужин хийх]: 11 алхам
GY511 модулийг Arduino -тэй хэрхэн ашиглах [Дижитал луужин хийх]: 11 алхам

Видео: GY511 модулийг Arduino -тэй хэрхэн ашиглах [Дижитал луужин хийх]: 11 алхам

Видео: GY511 модулийг Arduino -тэй хэрхэн ашиглах [Дижитал луужин хийх]: 11 алхам
Видео: Как сделать 4-канальное реле Wi-Fi ESP8266 ESP01 | ESP01 Домашняя автоматизация | УдаленныйXY 2024, Арваннэгдүгээр
Anonim
GY511 модулийг Arduino дээр хэрхэн ашиглах талаар [Дижитал луужин хийх]
GY511 модулийг Arduino дээр хэрхэн ашиглах талаар [Дижитал луужин хийх]

Тойм

Зарим электроникийн төслүүдэд бид газарзүйн байршлыг ямар ч үед мэдэж, үүний дагуу тодорхой үйл ажиллагаа явуулах шаардлагатай болдог. Энэхүү гарын авлагад та LDU303DLHC GY-511 луужингийн модулийг Arduino ашиглан дижитал луужин хийхийн тулд хэрхэн ашиглах талаар сурах болно. Нэгдүгээрт, та энэ модуль болон түүний ажиллах зарчим, дараа нь LSM303DLHC GY-511 модулийг Arduino-той хэрхэн холбох талаар олж мэдэх болно.

Та юу сурах вэ

  • Луужингийн модуль гэж юу вэ?
  • Луужингийн модуль ба Arduino интерфэйс.
  • GY-511 модуль болон Arduino ашиглан дижитал луужин хий.

Алхам 1: Луужингийн модулийн тухай ерөнхий мэдээлэл

Луужингийн модулийн тухай ерөнхий мэдээлэл
Луужингийн модулийн тухай ерөнхий мэдээлэл

GY-511 модуль нь 3 тэнхлэгтэй акселерометр, 3 тэнхлэгтэй соронзон хэмжигчийг агуулдаг. Энэхүү мэдрэгч нь шугаман хурдатгалыг ± 2 г / ± 4 г / ± 8 г / ± 16 г, соронзон орныг ± 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / ± 5.6 хэмжээсээр хэмжих боломжтой. / ± 8.1 Гаусс.

Энэ модулийг соронзон орон дээр байрлуулахад Лоренцын хуулийн дагуу өдөөгч гүйдэл нь түүний микроскопийн ороомог үүсгэдэг. Луужингийн модуль нь энэ гүйдлийг координатын чиглэл бүрийн хувьд дифференциал хүчдэл болгон хувиргадаг. Эдгээр хүчдэлийг ашиглан та соронзон орныг чиглэл тус бүрээр тооцоолж, газарзүйн байршлыг олж авах боломжтой.

Зөвлөгөө

QMC5883L бол луужингийн өөр нэг түгээмэл модуль юм. LMS303 модультай төстэй бүтэц, хэрэглээтэй энэхүү модуль нь гүйцэтгэлийн хувьд арай өөр юм. Тиймээс, хэрэв та төслүүд хийж байгаа бол модулийнхаа төрлийг анхаарч үзээрэй. Хэрэв таны модуль QMC5882L бол хичээлд багтсан зохих номын сан болон кодыг ашиглана уу.

Алхам 2: Шаардлагатай бүрэлдэхүүн хэсгүүд

Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд

Тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүд

Arduino UNO R3 *1

GY-511 3 тэнхлэгийн хурдатгал хэмжигч + соронзон хэмжигч *1

TowerPro Servo мотор SG-90 *1

1602 LCD модуль *1

Үсрэгч *1

Програм хангамжийн програмууд

Arduino IDE

Алхам 3: GY-511 луужингийн модулийг Arduino-той холбох

GY-511 луужингийн модулийг Arduino-той холбох
GY-511 луужингийн модулийг Arduino-той холбох
GY-511 луужингийн модулийг Arduino-той холбох
GY-511 луужингийн модулийг Arduino-той холбох

GY-511 луужингийн модуль нь 8 тээглүүртэй боловч Arduino-той холбогдохын тулд зөвхөн 4 ширхэг л хэрэгтэй болно. Энэ модуль нь I2C протоколыг ашиглан Arduino -той холбогддог тул модулийн SDA (I2C гаралт) ба SCK (I2C цагны оролт) зүүг Arduino самбар дээрх I2C зүүтэй холбоно.

Тэмдэглэл Таны харж байгаагаар бид энэ төсөлд GY-511 модулийг ашигласан болно. Гэхдээ та энэ зааврыг ашиглан бусад LMS303 луужингийн модулийг тохируулж болно.

Алхам 4: GY-511 луужингийн модулийн шалгалт тохируулга

Жолоодлого хийхийн тулд та эхлээд модулийг тохируулах хэрэгтэй бөгөөд энэ нь хэмжих хязгаарыг 0 -ээс 360 градус хүртэл тохируулах ёстой гэсэн үг юм. Үүнийг хийхийн тулд модулийг доор үзүүлсэн шиг Arduino руу холбож, дараах кодыг самбар дээрээ байршуулна уу. Кодыг ажиллуулсны дараа цуваа дэлгэцийн цонхноос X, Y, Z тэнхлэгийн хэмжих хязгаарын хамгийн бага ба хамгийн их утгыг харж болно. Дараагийн хэсэгт эдгээр тоонууд танд хэрэгтэй байгаа тул тэдгээрийг бичээрэй.

Алхам 5: Хэлхээ

Хэлхээ
Хэлхээ

Алхам 6: Код

Энэ кодонд танд I2C холболтын Wire.h номын сан, луужингийн модульд зориулсан LMS303.h номын сан хэрэгтэй болно. Та эдгээр номын санг дараах линкээс татаж авах боломжтой.

LMS303.h номын сан

Wire.h номын сан

Тэмдэглэл Хэрэв та QMC5883 ашиглаж байгаа бол танд дараах номын сан хэрэгтэй болно.

MechaQMC5883L.h

Энд бид LMS303 кодыг тайлбарлаж байгаа боловч та QMC модулийн кодыг татаж авах боломжтой.

Шинэ функцуудын заримыг авч үзье.

compass.enableDefault ();

Модулийг эхлүүлэх

луужин. унших ();

Луужингийн модулийн гаралтын утгыг уншиж байна

гүйж буй_мин.z = мин (гүйж буй_мин.з, луужин.мз); гүйж буй_x.x = хамгийн их (гүйж буй_макс.x, луужин.mx);

Хэмжсэн утгыг харьцуулж хэмжих хязгаарын хамгийн бага ба хамгийн их утгыг тодорхойлох.

Алхам 7: Дижитал луужин хийх

Модулийг тохируулсны дараа бид модуль руу servo мотор холбож луужин бүтээх гэж байна. Серво индикатор нь луужин дээрх улаан сум шиг хойд зүгийг үргэлж харуулдаг. Үүнийг хийхийн тулд эхлээд луужингийн модуль нь газарзүйн чиглэлийг эхлээд тооцоолж, Arduino руу илгээдэг бөгөөд дараа нь зохих коэффициентийг ашигласнаар та servo мотор эргэх өнцгийг тооцоолох бөгөөд индикатор нь соронзон хойд зүг рүү чиглүүлэх болно. Эцэст нь бид энэ өнцгийг servo моторт хэрэглэнэ.

Алхам 8: Хэлхээ

Хэлхээ
Хэлхээ

Алхам 9: Код

Код
Код

Энэ хэсэгт танд Arduino програм дээр анхдагчаар суулгасан Servo.h номын сан хэрэгтэй болно.

Шинэ функцуудын заримыг авч үзье.

Servo Servo1;

Модулийг эхлүүлэх

луужин. унших ();

Серво хөдөлгүүрийн объектыг танилцуулж байна

Servo1. хавсаргах (servoPin); луужин.init (); compass.enableDefault ();

Луужингийн модуль ба servo моторыг эхлүүлэх

Servo1.attach () аргумент нь servo мотортой холбогдсон зүүний дугаар юм.

луужин.m_min = (LSM303:: вектор) { -32767, -32767, -32767}; луужин.m_max = (LSM303:: вектор) { +32767, +32767, +32767};

Эдгээр мөрүүдийг ашиглан өмнөх хэсэгт олж авсан мужийг хэмжих хамгийн бага ба хамгийн их утгыг тодорхойлно.

хөвөх гарчиг = луужин. толгой ((LSM303:: вектор) {0, 0, 1});

Толгой () функц нь координатын тэнхлэг ба тогтмол тэнхлэгийн хоорондох өнцгийг буцаана. Та тогтмол тэнхлэгийг функцын аргументын вектороор тодорхойлж болно. Жишээлбэл, энд (LSM303:: вектор) {0, 0, 1} -ийг тодорхойлсноор Z тэнхлэгийг тогтмол тэнхлэг гэж үзнэ.

Servo 1. бичих (гарчиг);

Servo1.write () функц нь луужингийн модулийн уншсан утгыг servo моторт ашигладаг.

Анхаарна уу, servo мотор нь соронзон оронтой байж магадгүй тул луужингийн модулийг хазайхад хүргэхгүйн тулд servo моторыг луужингийн модулиас тохиромжтой зайд байрлуулах нь дээр.

Зөвлөмж болгож буй: