![Arduino Nano - MPL3115A2 дәлдіктегі альтиметрлік сенсордың оқулығы: 4 қадам Arduino Nano - MPL3115A2 дәлдіктегі альтиметрлік сенсордың оқулығы: 4 қадам](https://i.howwhatproduce.com/images/002/image-3723-13-j.webp)
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:50
![Image Image](https://i.howwhatproduce.com/images/002/image-3723-15-j.webp)
![](https://i.ytimg.com/vi/1SQNlzMTexM/hqdefault.jpg)
MPL3115A2 қысым/биіктік және температура туралы нақты деректерді беру үшін I2C интерфейсі бар MEMS қысым датчигін қолданады. Сенсордың шығысы жоғары ажыратымдылықтағы 24 биттік ADC көмегімен цифрланған. Ішкі өңдеу хост MCU жүйесінен өтемақы тапсырмаларын жояды. Ол тек 0,05 кПа өзгерісін анықтай алады, бұл биіктіктің 0,3 м өзгеруіне тең. Міне, оның Arduino Nano -мен көрсетуі.
1 -қадам: Сізге не керек..
![Сізге не керек.. !! Сізге не керек.. !!](https://i.howwhatproduce.com/images/002/image-3723-16-j.webp)
1. Ардуино Нано
2. MPL3115A2
3. I²C кабелі
4. Arduino Nano үшін I²C қалқаны
2 -қадам: Қосылымдар:
![Қосылымдар Қосылымдар](https://i.howwhatproduce.com/images/002/image-3723-17-j.webp)
![Қосылымдар Қосылымдар](https://i.howwhatproduce.com/images/002/image-3723-18-j.webp)
![Қосылымдар Қосылымдар](https://i.howwhatproduce.com/images/002/image-3723-19-j.webp)
![Қосылымдар Қосылымдар](https://i.howwhatproduce.com/images/002/image-3723-20-j.webp)
Arduino Nano үшін I2C қалқанын алып, оны нано түйреуіштерінен ақырын басыңыз.
Содан кейін I2C кабелінің бір ұшын MPL3115A2 сенсорына, екінші ұшын I2C қалқанына қосыңыз.
Қосылымдар жоғарыдағы суретте көрсетілген.
3 -қадам: код:
![Код Код](https://i.howwhatproduce.com/images/002/image-3723-21-j.webp)
MPL3115A2 үшін arduino кодын біздің github репозиторийінен-DCUBE дүкенінен жүктеуге болады.
Міне, сол үшін сілтеме:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Біз сенсордың Arduino тақтасымен I2c байланысын жеңілдету үшін Wire.h кітапханасын қосамыз.
Сіз кодты осы жерден көшіре аласыз, ол келесі түрде берілген:
// Ерікті лицензиямен таратылды.
// Оны қалаған жолмен пайдаланыңыз немесе тегін, егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе.
// MPL3115A2
// Бұл код MPL3115A2_I2CS I2C шағын модулімен жұмыс жасауға арналған
#қосу
// MPL3115A2 I2C мекенжайы - 0x60 (96)
#анықтайтын Addr 0x60
жарамсыз орнату ()
{
// I2C байланысын бастаңыз
Wire.begin ();
// Сериялық байланысты орнатыңыз, жіберу жылдамдығы = 9600
Serial.begin (9600);
// I2C жіберуді бастау
Wire.beginTransmission (Addr);
// Басқару регистрін таңдаңыз
Wire.write (0x26);
// Белсенді режим, OSR = 128, биіктік режимі
Wire.write (0xB9);
// I2C берілуін тоқтату
Wire.endTransmission ();
// I2C жіберуді бастау
Wire.beginTransmission (Addr);
// Деректер конфигурациясының регистрін таңдаңыз
Wire.write (0x13);
// Биіктікке, қысымға, температураға арналған деректерге дайын оқиға қосылды
Wire.write (0x07);
// I2C берілуін тоқтату
Wire.endTransmission ();
кешіктіру (300);
}
бос цикл ()
{
қол қойылмаған int деректері [6];
// I2C жіберуді бастау
Wire.beginTransmission (Addr);
// Басқару регистрін таңдаңыз
Wire.write (0x26);
// Белсенді режим, OSR = 128, биіктік режимі
Wire.write (0xB9);
// I2C берілуін тоқтату
Wire.endTransmission ();
кешіктіру (1000);
// I2C жіберуді бастау
Wire.beginTransmission (Addr);
// Деректер регистрін таңдаңыз
Wire.write (0x00);
// I2C берілуін тоқтату
Wire.endTransmission ();
// 6 байт деректерді сұрау
Wire.requestFrom (Addr, 6);
// 0x00 (00) адресінен 6 байт деректерді оқу
// күй, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
егер (Wire.available () == 6)
{
деректер [0] = Wire.read ();
деректер [1] = Wire.read ();
деректер [2] = Wire.read ();
деректер [3] = Wire.read ();
деректер [4] = Wire.read ();
деректер [5] = Wire.read ();
}
// Деректерді 20 битке түрлендіру
int tHeight = (((ұзақ) (деректер [1] * (ұзын) 65536) + (деректер [2] * 256) + (деректер [3] & 0xF0)) / 16);
int temp = ((деректер [4] * 256) + (деректер [5] & 0xF0)) / 16;
жүзу биіктігі = tHeight / 16.0;
float cTemp = (temp / 16.0);
float fTemp = cTemp * 1.8 + 32;
// I2C жіберуді бастау
Wire.beginTransmission (Addr);
// Басқару регистрін таңдаңыз
Wire.write (0x26);
// Белсенді режим, OSR = 128, барометр режимі
Wire.write (0x39);
// I2C берілуін тоқтату
Wire.endTransmission ();
кешіктіру (1000);
// I2C жіберуді бастау
Wire.beginTransmission (Addr);
// Деректер регистрін таңдаңыз
Wire.write (0x00);
// I2C берілуін тоқтату
Wire.endTransmission ();
// 4 байт деректерді сұрау
Wire.requestFrom (Addr, 4);
// 4 байт деректерді оқу
// күй, pres msb1, pres msb, pres lsb
егер (Wire.available () == 4)
{
деректер [0] = Wire.read ();
деректер [1] = Wire.read ();
деректер [2] = Wire.read ();
деректер [3] = Wire.read ();
}
// Деректерді 20 битке түрлендіру
long pres = (((ұзақ) деректер [1] * (ұзын) 65536) + (деректер [2] * 256) + (деректер [3] & 0xF0)) / 16;
өзгермелі қысым = (прес / 4,0) / 1000,0;
// Деректерді сериялық мониторға шығару
Serial.print («Биіктік:»);
Serial.print (биіктік);
Serial.println («m»);
Serial.print («Қысым:»);
Сериялық баспа (қысым);
Serial.println («kPa»);
Serial.print («Цельсий бойынша температура:»);
Serial.print (cTemp);
Serial.println («C»);
Serial.print («Фаренгейт температурасы:»);
Serial.print (fTemp);
Serial.println («F»);
кешіктіру (500);
}
4 -қадам: Өтініштер:
MPL3115A2 әр түрлі қосымшаларына жоғары дәлдіктегі алтиметрия, смартфондар/планшеттер, дербес электроника алиметриясы және т.б. кіреді. Ол GPS -тің өлу есебіне, төтенше қызметтерге GPS -ті жақсартуға, картаға көмекке, навигацияға, сондай -ақ метеорологиялық станция жабдықтарына қосылуы мүмкін.
Ұсынылған:
Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшыру: 8 қадам
![Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшыру: 8 қадам Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшыру: 8 қадам](https://i.howwhatproduce.com/images/001/image-1452-22-j.webp)
Пинго: Қозғалысты анықтайтын және жоғары дәлдіктегі пинг-понгтан допты ұшырушы: Кевин Нитиема, Эстебан Поведа, Энтони Маттакчиона, Рафаэль Кей
Raspberry Pi A1332 Precision Hall - бұрыштық сенсордың Java оқулығы: 4 қадам
![Raspberry Pi A1332 Precision Hall - бұрыштық сенсордың Java оқулығы: 4 қадам Raspberry Pi A1332 Precision Hall - бұрыштық сенсордың Java оқулығы: 4 қадам](https://i.howwhatproduce.com/images/002/image-3072-60-j.webp)
Raspberry Pi A1332 Precision Hall - әсер ету бұрышы сенсоры Java оқулығы: A1332 - бұл 360 ° контактісіз жоғары ажыратымдылықпен бағдарламаланатын магниттік бұрыштық позиция сенсоры. Ол I2C интерфейсін қолданатын цифрлық жүйелерге арналған. Ол Circular Vertical Hall (CVH) технологиясына және бағдарламаланатын микропроцессорлық сигналға негізделген
Мультиметр/Arduino/pfodApp көмегімен жоғары дәлдіктегі қашықтан деректерді тіркеу: 10 қадам (суреттермен)
![Мультиметр/Arduino/pfodApp көмегімен жоғары дәлдіктегі қашықтан деректерді тіркеу: 10 қадам (суреттермен) Мультиметр/Arduino/pfodApp көмегімен жоғары дәлдіктегі қашықтан деректерді тіркеу: 10 қадам (суреттермен)](https://i.howwhatproduce.com/images/003/image-6634-23-j.webp)
Мультиметр/Arduino/pfodApp көмегімен жоғары дәлдіктегі қашықтан деректерді тіркеу: 2017 ж. 26 сәуірде жаңартылды 4000ZC USB есептегіштермен пайдалануға арналған қайта қаралған схема мен тақта. Android кодтау қажет емес Бұл нұсқаулық сіздің Arduino -дан жоғары дәлдіктегі өлшемдердің кең ауқымына қалай қол жеткізуге болатынын және оларды қашықтан жіберуді көрсетеді. тіркеу үшін және
Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] СЕНСОРДЫҢ КӨП ДЕРЕКТЕРІ!: 3 қадам
![Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] СЕНСОРДЫҢ КӨП ДЕРЕКТЕРІ!: 3 қадам Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] СЕНСОРДЫҢ КӨП ДЕРЕКТЕРІ!: 3 қадам](https://i.howwhatproduce.com/images/005/image-12970-16-j.webp)
Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] СЕНСОРДЫҢ ДАТАЛАРЫ! Мен SIM900 мен DHT22 сенсоры бар Arduino UNO қосылымы мен конфигурациясы туралы қысқаша нұсқаулық жасадым. DHT22 деректері (температура
Жоғары дәлдіктегі температура реттегіші: 6 қадам (суреттермен)
![Жоғары дәлдіктегі температура реттегіші: 6 қадам (суреттермен) Жоғары дәлдіктегі температура реттегіші: 6 қадам (суреттермен)](https://i.howwhatproduce.com/images/002/image-3055-38-j.webp)
Жоғары дәлдіктегі температура реттегіші: Ғылымда және инженерлік әлемде температураны қадағалау (термодинамикадағы атомдардың қозғалысы)-жасуша биологиясынан бастап қатты отынды зымыранға дейін барлық жерде дерлік ескеру қажет негізгі физикалық параметрлердің бірі