Мазмұны:
- 1 -қадам: Компас модулі туралы жалпы ақпарат
- 2 -қадам: Қажетті компоненттер
- 3-қадам: Arduino көмегімен GY-511 компас модулінің интерфейсі
- 4-қадам: GY-511 компас модулін калибрлеу
- 5 -қадам: Схема
- 6 -қадам: код
- 7 -қадам: цифрлық компас жасау
- 8 -қадам: Схема
- 9 -қадам: код
- 10 -қадам: Енді не болады?
Бейне: GY511 модулін Arduino көмегімен қалай қолдану керек [Сандық компас жасаңыз]: 11 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Шолу
Кейбір электроника жобаларында біз географиялық орналасуды кез келген уақытта білуіміз керек және соған сәйкес нақты операция жасауымыз керек. Бұл оқулықта сіз Arduino көмегімен LSM303DLHC GY-511 компас модулін цифрлық компас жасауды үйренесіз. Алдымен сіз бұл модуль мен оның қалай жұмыс істейтінін білесіз, содан кейін 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 СКД модулі *1
Секіргіштер *1
Бағдарламалық қамтамасыз ету
Arduino IDE
3-қадам: Arduino көмегімен GY-511 компас модулінің интерфейсі
GY-511 компас модулінде 8 түйреуіш бар, бірақ Arduino-мен жұмыс жасау үшін олардың тек 4-і қажет. Бұл модуль Arduino -мен I2C протоколы арқылы байланысады, сондықтан модульдің 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 ();
Модульді инициализациялау
compass.read ();
Компас модулінің шығыс мәндерін оқу
жүгіру_мин.з = мин (жүгіру_мин.з, компас.мз); жүгіру_мах.х = максимум (жүгіру_мах.х, компас.mx);
Өлшенген мәндерді салыстыру арқылы өлшеу диапазонының минималды және максималды мәндерін анықтау.
7 -қадам: цифрлық компас жасау
Модульді калибрлегеннен кейін біз модульге сервоприводты қосу арқылы циркуль құрастырамыз. Серво индикаторы бізге әрқашан компастың қызыл көрсеткі сияқты солтүстік бағытты көрсетеді. Мұны істеу үшін алдымен компас модулі географиялық бағытты есептейді және оны Arduino -ға жібереді, содан кейін сәйкес коэффициентті қолдана отырып, сіз серво қозғалтқышының индикаторы магниттік солтүстікке бағытталатындай бұрылатын бұрышты есептейсіз. Ақыр соңында, біз бұл бұрышты серво қозғалтқышына қолданамыз.
8 -қадам: Схема
9 -қадам: код
Бұл бөлім үшін сізге Arduino бағдарламалық жасақтамасында әдепкі бойынша орнатылған Servo.h кітапханасы қажет.
Кейбір жаңа функцияларды қарастырайық:
Servo Servo1;
Модульді инициализациялау
compass.read ();
Серво қозғалтқыш объектісімен таныстыру
Servo1.attach (servoPin); compass.init (); compass.enableDefault ();
Компас модулін және серво қозғалтқышты инициализациялау
Servo1.attach () аргументі - бұл серво қозғалтқышына қосылған түйреуіштің нөмірі.
compass.m_min = (LSM303:: векторлық) { -32767, -32767, -32767}; compass.m_max = (LSM303:: векторлық) { +32767, +32767, +32767};
Бұл сызықтарды қолдана отырып, сіз алдыңғы бөлімде алынған диапазонды өлшеудің минималды және максималды мәндерін анықтайсыз.
float heading = compass.heading ((LSM303:: vector) {0, 0, 1});
Heading () функциясы координат осі мен бекітілген ось арасындағы бұрышты қайтарады. Тұрақты осьті функция аргументіндегі вектормен анықтауға болады. Мысалы, мұнда (LSM303:: вектор) {0, 0, 1} анықтау арқылы Z осі тұрақты ось ретінде қарастырылады.
Servo1.write (айдар);
Servo1.write () функциясы цервокоторға компас модулінің оқу мәнін қолданады.
Назар аударыңыз, серво қозғалтқышында магнит өрісі болуы мүмкін, сондықтан компас модулінің ауытқуына әкелмейтін серво қозғалтқышты компас модулінен қолайлы қашықтықта орналастырған дұрыс.
Ұсынылған:
Нақты уақыттағы сағат модулін қалай қолдану керек (DS3231): 5 қадам
Нақты уақыттағы модульді қалай қолдану керек (DS3231): DS3231-бұл температурасы компенсацияланған кристалды осцилляторы (TCXO) мен кристалы бар, бағасы төмен, өте дәл I2C нақты уақыт сағаты (RTC). Құрылғы аккумуляторлық кірісті қамтиды және негізгі қуат қосылған кезде дәл уақытты сақтайды
Arduino көмегімен Led Strip көмегімен аналогтық сағат пен сандық сағатты қалай жасауға болады: 3 қадам
Arduino көмегімен Led Strip көмегімен аналогтық сағат пен сандық сағатты қалай жасауға болады: Бүгін біз аналогты сағатты жасайтын боламыз. Led Strip және MAX7219 нүктелік модулі бар Arduino цифрлық сағаты жергілікті уақыт белдеуімен уақытты түзетеді. Аналогтық сағат ұзағырақ жарықдиодты жолақты қолдана алады, сондықтан оны суретші болу үшін қабырғаға іліп қоюға болады
ISP Wifi модулін, ESP8266 флешер мен бағдарламашыны қолдану арқылы ESP8266 AT микробағдарламасын қалай жыпылықтауға немесе бағдарламалауға болады: 6 қадам
ESP8266 AT бағдарламалық жасақтамасын ESP8266 флешер мен бағдарламашы, IOT Wifi модулін қолдану арқылы қалай жыпылықтауға немесе бағдарламалауға болады: Сипаттама: Бұл модуль ESP-01 немесе ESP-01S түріндегі ESP8266 модульдеріне арналған USB адаптері /бағдарламашысы. Ол ESP01 қосуға арналған 2х4П 2,54мм әйел басымен ыңғайлы түрде орнатылған. Сондай-ақ, ол ESP-01-дің барлық түйреуіштерін 2x4P 2,54 мм ерлер арқылы ажыратады
Arduino UNO және бір каналды 5В қатты күйдегі реле модулін қолдану арқылы шамды қалай басқаруға болады: 3 қадам
Arduino UNO және 5V бір арналы қатты күй релесі модулін қолдану арқылы шамды қалай басқаруға болады: Сипаттама: Дәстүрлі механикалық релемен салыстырғанда, қатты күй релесінің (SSR) көптеген артықшылықтары бар: оның қызмет ету мерзімі ұзарады, қосылу әлдеқайда жоғары/ өшіру жылдамдығы және шу жоқ. Сонымен қатар, ол дірілге және механикалық төзімділікке ие
Mac терминалын қалай пайдалану керек және негізгі функцияларды қалай қолдану керек: 4 қадам
Mac терминалын қалай пайдалану керек және негізгі функцияларды қалай қолдану керек: Біз сізге MAC терминалын қалай ашу керектігін көрсетеміз. Біз сізге терминалда ifconfig, каталогтарды өзгерту, файлдарға қатынасу және arp сияқты бірнеше мүмкіндіктерді көрсететін боламыз. Ifconfig сізге IP мекенжайын және MAC жарнамасын тексеруге мүмкіндік береді