Mundarija:
- 1 -qadam: Kompas moduli haqida umumiy ma'lumot
- 2 -qadam: kerakli komponentlar
- 3-qadam: Arduino bilan GY-511 kompas modulini ulash
- 4-qadam: GY-511 kompas modulini kalibrlash
- 5 -qadam: O'chirish
- 6 -qadam: kod
- 7 -qadam: raqamli kompas yaratish
- 8 -qadam: O'chirish
- 9 -qadam: kod
- 10 -qadam: Keyin nima bo'ladi?
Video: GY511 modulini Arduino bilan qanday ishlatish kerak [Raqamli kompas yasash]: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Sharh
Ba'zi elektronika loyihalarida biz har qanday vaqtda geografik joylashuvni bilishimiz va shunga mos ravishda ma'lum bir operatsiyani bajarishimiz kerak. Ushbu qo'llanmada siz raqamli kompas yaratish uchun Arduino bilan LSM303DLHC GY-511 kompas modulidan foydalanishni o'rganasiz. Birinchidan, siz ushbu modul va uning qanday ishlashini bilib olasiz, keyin LSM303DLHC GY-511 modulini Arduino bilan qanday bog'lashni bilib olasiz.
Siz nimani o'rganasiz
- Kompas moduli nima?
- Kompas moduli va Arduino interfeysi.
- GY-511 moduli va Arduino yordamida raqamli kompas yarating.
1 -qadam: Kompas moduli haqida umumiy ma'lumot
GY-511 moduli 3 o'qli akselerometr va 3 o'qli magnitometrni o'z ichiga oladi. Bu sensor chiziqli tezlanishni ± 2 g / ± 4 g / ± 8 g / ± 16 g va magnit maydonlarni ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 o'lchovlarda o'lchashi mumkin. / ± 8.1 Gauss.
Ushbu modul magnit maydonga joylashtirilganda, Lorents qonuniga ko'ra, uning mikroskopik lasanida qo'zg'alish oqimi paydo bo'ladi. Kompas moduli bu tokni har bir koordinata yo'nalishi uchun differentsial kuchlanishga aylantiradi. Ushbu kuchlanishlardan foydalanib, siz magnit maydonini har bir yo'nalishda hisoblashingiz va geografik pozitsiyani olishingiz mumkin.
Maslahat
QMC5883L - bu boshqa kompas moduli. LMS303 moduliga o'xshash tuzilishga va dasturga ega bo'lgan bu modul ishlashda biroz farq qiladi. Agar siz loyihalarni amalga oshirayotgan bo'lsangiz, modul turiga ehtiyot bo'ling. Agar sizning modulingiz QMC5882L bo'lsa, tegishli kutubxona va o'quv qo'llanmasiga kiritilgan kodlardan foydalaning.
2 -qadam: kerakli komponentlar
Uskuna komponentlari
Arduino UNO R3 *1
GY-511 3 o'qli akselerometr + magnitometr *1
TowerPro Servo Dvigatel SG-90 *1
1602 LCD moduli *1
Yuguruvchilar *1
Dasturiy ta'minot ilovalari
Arduino IDE
3-qadam: Arduino bilan GY-511 kompas modulini ulash
GY-511 kompas modulida 8 ta pin bor, lekin Arduino bilan ishlash uchun ulardan atigi 4 tasi kerak. Bu modul Arduino bilan I2C protokoli yordamida aloqa o'rnatadi, shuning uchun modulning SDA (I2C chiqishi) va SCK (I2C soatli kirish) pinlarini Arduino kartasidagi I2C pinlariga ulang.
Eslatma Ko'rib turganingizdek, biz ushbu loyihada GY-511 modulidan foydalanganmiz. Ammo siz boshqa LMS303 kompas modullarini sozlash uchun ushbu yo'riqnomadan foydalanishingiz mumkin.
4-qadam: GY-511 kompas modulini kalibrlash
Navigatsiya qilish uchun siz avval modulni sozlashingiz kerak, ya'ni o'lchash diapazonini 0 dan 360 gradusgacha sozlang. Buning uchun modulni quyida ko'rsatilgandek Arduino -ga ulang va quyidagi kodni taxtangizga yuklang. Kodni bajargandan so'ng, ketma -ket monitor oynasida X, Y va Z o'qlari uchun o'lchov diapazonining minimal va maksimal qiymatlarini ko'rishingiz mumkin. Keyingi qismda sizga bu raqamlar kerak bo'ladi, shuning uchun ularni yozing.
5 -qadam: O'chirish
6 -qadam: kod
Ushbu kodda sizga I2C aloqasi uchun Wire.h kutubxonasi va kompas moduli uchun LMS303.h kutubxonasi kerak. Ushbu kutubxonalarni quyidagi havolalardan yuklab olishingiz mumkin.
LMS303.h kutubxonasi
Wire.h kutubxonasi
Eslatma QMC5883 dan foydalanayotgan bo'lsangiz, sizga quyidagi kutubxona kerak bo'ladi:
MechaQMC5883L.h
Bu erda biz LMS303 kodini tushuntiramiz, lekin siz QMC moduli uchun kodlarni ham yuklab olishingiz mumkin.
Keling, ba'zi yangi funktsiyalarni ko'rib chiqaylik:
compass.enableDefault ();
Modulni ishga tushirish
compass.read ();
Kompas modulining chiqish qiymatlarini o'qish
yugurish_min.z = min (yugurish_min.z, kompas.mz); yugurish_max.x = maksimal (yugurish_max.x, kompas.mx);
O'lchangan qiymatlarni solishtirish orqali o'lchov diapazonining minimal va maksimal qiymatlarini aniqlash.
7 -qadam: raqamli kompas yaratish
Modulni kalibrlashdan so'ng, biz servo dvigatelni modulga ulash orqali kompas qurmoqchimiz. Shunday qilib, servo ko'rsatkich har doim bizga kompas ustidagi qizil o'q kabi shimoliy yo'nalishni ko'rsatadi. Buning uchun kompas moduli birinchi navbatda geografik yo'nalishni hisoblab, Arduino -ga yuboradi va tegishli koeffitsient yordamida siz servo dvigatelning burilish burchagini hisoblaysiz, shunda uning ko'rsatkichi magnit shimolga ishora qiladi. Oxir -oqibat, biz bu burchakni servo dvigatelga qo'llaymiz.
8 -qadam: O'chirish
9 -qadam: kod
Bu qism uchun sizga Arduino dasturiga sukut bo'yicha o'rnatilgan Servo.h kutubxonasi kerak bo'ladi.
Keling, ba'zi yangi funktsiyalarni ko'rib chiqaylik:
Servo Servo1;
Modulni ishga tushirish
compass.read ();
Servo motorli ob'ekt bilan tanishish
Servo1. biriktirish (servoPin); kompas.init (); compass.enableDefault ();
Kompas modulini va servo motorni ishga tushirish
Servo1.attach () argumenti - servo dvigatelga ulangan pin raqami.
kompas.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; kompas.m_max = (LSM303:: vektor) { +32767, +32767, +32767};
Bu satrlar yordamida siz oldingi qismda olingan diapazonni o'lchash uchun minimal va maksimal qiymatlarni aniqlaysiz.
float sarlavhasi = compass.heading ((LSM303:: vektor) {0, 0, 1});
Heading () funktsiyasi koordinata o'qi va sobit o'q o'rtasidagi burchakni qaytaradi. Ruxsat etilgan o'qni funktsiya argumentidagi vektor bilan belgilashingiz mumkin. Masalan, bu erda (LSM303:: vektor) {0, 0, 1} ni belgilab, Z o'qi doimiy o'q sifatida qabul qilinadi.
Servo 1. yozish (sarlavha);
Servo1.write () funktsiyasi kompas modulining o'qish qiymatini servo dvigatelda qo'llaydi.
E'tibor bering, servo dvigatel magnit maydonga ega bo'lishi mumkin, shuning uchun servo dvigatelni kompas modulidan mos keladigan masofada joylashtirish yaxshiroqdir, bu esa kompas modulining burilishiga olib kelmaydi.
Tavsiya:
Qo'llanma: Arduino UNO yordamida VL53L0X lazer diapazonini o'zgartirish modulini qanday yaratish kerak: 3 qadam
Qo'llanma: Arduino UNO yordamida VL53L0X lazer diapazonini o'zgartirish modulini qanday yaratish kerak: Tavsiflar: Ushbu qo'llanma sizga hammaga VL53L0X lazer o'lchash sensori moduli va Arduino UNO yordamida masofa detektorini yaratish haqida batafsil ma'lumot beradi va u siz kabi ishlaydi. xohlamoq. Ko'rsatmalarga amal qiling va siz bu o'qituvchini tushunasiz
MQTT -ni Raspberry Pi va ESP8266 bilan qanday ishlatish kerak: 8 qadam (rasmlar bilan)
MQTT -ni Raspberry Pi va ESP8266 bilan qanday ishlatish kerak: Ushbu yo'riqnomada men MQTT protokoli nima ekanligini va u qurilmalar o'rtasida qanday aloqa qilishini tushuntiraman, keyin amaliy ko'rsatma sifatida men sizga oddiy ikkitasini qanday o'rnatishni ko'rsataman. mijoz tizimi, bu erda ESP8266 moduli xabar yuboradi
GPS modulini (NEO-6m) Arduino bilan qanday bog'lash mumkin: 7 qadam (rasmlar bilan)
GPS modulini (NEO-6m) Arduino bilan qanday bog'lash mumkin: Men ushbu loyihada GPS modulini Arduino UNO bilan qanday bog'lashni ko'rsatdim. Uzunlik va kenglik ma'lumotlari LCD displeyda ko'rsatiladi va joylashuvni ilovada ko'rish mumkin. Arduino Uno materiallari ro'yxati == > $ 8 Ublox NEO-6m GPS moduli == > $ 15 16x
Mac terminalini qanday ishlatish va asosiy funktsiyalarni qanday ishlatish kerak: 4 qadam
Mac terminalini qanday ishlatish va asosiy funktsiyalarni qanday ishlatish kerak: Biz sizga MAC terminalini qanday ochish kerakligini ko'rsatamiz. Shuningdek, biz sizga terminalda ifconfig, kataloglarni o'zgartirish, fayllarga kirish va arp kabi bir nechta xususiyatlarni ko'rsatamiz. Ifconfig sizga IP manzilingizni va MAC reklamangizni tekshirishga imkon beradi
IRobot Create buyruqlar modulini Linux bilan ishlatish: 4 qadam
IRobot Create ning buyruqlar modulini Linuxda ishlatish: iRobot Linux foydalanuvchilariga buyruq modulidan foydalanish usulini taqdim etmagani uchun, men buni o'zim tushunishga majbur bo'ldim. Bir nechta skriptni ishga tushirish kifoya, boshlaylik, to'g'rimi?