Съдържание:
- Стъпка 1: Необходимо оборудване, от което се нуждаем
- Стъпка 2: Хардуерни връзки за сглобяване на веригата
- Стъпка 3: Програмиране на Raspberry Pi в Java
- Стъпка 4: Практичността на Кодекса (Работа)
- Стъпка 5: Приложения и функции
- Стъпка 6: Заключение
Видео: Използвайки Raspberry Pi, измерете надморската височина, налягането и температурата с MPL3115A2: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Знайте какво притежавате и знайте защо го притежавате
Това е интригуващо. Живеем в ерата на Интернет автоматизацията, тъй като тя се потопява в множество нови приложения. Като ентусиасти на компютрите и електрониката, ние научихме много с Raspberry Pi и решихме да смесим нашите интереси. Този проект отнема около час, ако сте нови за I²C връзки и настройка на софтуер, и това е чудесен начин да разширите възможностите на MPL3115A2 с Raspberry Pi в Java.
Стъпка 1: Необходимо оборудване, от което се нуждаем
1. Малина Пи
Първата стъпка беше получаването на платка Raspberry Pi. Този малък гений се използва от любители, учители и при създаването на иновативна среда.
2. I2C щит за Raspberry Pi
INPI2 (I2C адаптер) осигурява Raspberry Pi 2/3 an I²C порт за използване с множество I2C устройства. Предлага се в Dcube Store.
3. Висотомер, сензор за налягане и температура, MPL3115A2
MPL3115A2 е MEMS сензор за налягане с I²C интерфейс, който дава данни за налягане, надморска височина и температура. Този сензор използва протокола I²2 за комуникация. Закупихме този сензор от Dcube Store.
4. Свързващ кабел
Използвахме свързващия кабел I²C, наличен в Dcube Store.
5. Микро USB кабел
Raspberry Pi се захранва от микро USB захранване.
6. Подобряване на достъпа до интернет - Ethernet кабелен/WiFi модул
Едно от първите неща, които ще искате да направите, е да свържете вашия Raspberry Pi към интернет. Можете да се свържете с помощта на Ethernet кабел или с безжичен USB Nano WiFi адаптер.
7. HDMI кабел (по избор, по ваш избор)
Можете да свържете Raspberry Pi към монитор с помощта на HDMI кабел. Също така можете да имате отдалечен достъп до вашия Raspberry Pi, като използвате SSH/PuTTY.
Стъпка 2: Хардуерни връзки за сглобяване на веригата
Направете веригата според показаната схема. Като цяло връзките са доста прости. Следвайте инструкциите и изображенията по -горе и не би трябвало да имате проблеми. Докато планирахме, разгледахме хардуера и кодирането, както и основите на електрониката. Искахме да разработим проста схема на електрониката за този проект. В диаграмата можете да забележите различните части, компонентите на захранването и I²C сензора, следвайки комуникационните протоколи I²C. Надяваме се, че това илюстрира колко проста е електрониката за този проект.
Свързване на Raspberry Pi и I2C Shield
За целта Raspberry Pi и поставете I²C щита върху него. Натиснете щита внимателно (вижте снимката).
Свързване на сензора и Raspberry Pi
Вземете сензора и свържете кабела I²C с него. Уверете се, че изходът I²C ВИНАГИ се свързва с входа I²C. Същото следва да бъде последвано от Raspberry Pi с монтиран върху него I²C щит. Имаме I²C щита и свързващите кабели I²C от наша страна като много голямо предимство, тъй като оставаме само с опцията plug and play. Няма повече проблеми с щифтовете и окабеляването и следователно объркването изчезна. Какво облекчение, просто си представете себе си в мрежата от проводници и влизате в това. Толкова просто като това!
Забележка: Кафявият проводник винаги трябва да следва заземяващата (GND) връзка между изхода на едно устройство и входа на друго устройство
Интернет връзката е от решаващо значение
За да направим нашия проект успешен, се нуждаем от достъп до интернет за нашия Raspberry Pi. В това имате опции като свързване на Ethernet (LAN) кабел. Също така, като алтернативен, но впечатляващ начин да използвате WiFi адаптер.
Захранване на веригата
Включете Micro USB кабела в гнездото за захранване на Raspberry Pi. Включете го и ето, добре сме!
Връзка към екрана
Можем или да включим HDMI кабела към монитор, или да сме малко иновативни, за да направим нашия Pi без глава (използвайки -SSH/PuTTY), което помага да се намалят допълнителните разходи, тъй като по някакъв начин сме любители.
Когато навикът започне да струва пари, той се нарича хоби
Стъпка 3: Програмиране на Raspberry Pi в Java
Java кодът за сензора Raspberry Pi и MPL3115A2. Предлага се в нашето хранилище на Github.
Преди да преминете към кода, не забравяйте да прочетете инструкциите, дадени във файла Readme и да настроите вашия Raspberry Pi според него. Това ще отнеме само малко време. Надморската височина се изчислява от налягането, като се използва уравнението по -долу:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Регистърна стойност)
където p0 = налягане на морското равнище (101326 Pa) и h е в метри. MPL3115A2 използва тази стойност, тъй като регистърът на отместване е дефиниран като 2 паскала на LSB. Кодът е ясно пред вас и е в най -простата форма, която можете да си представите и не би трябвало да имате проблеми.
Можете също да копирате работещия Java код за този сензор от тук.
// Разпространява се с лиценз за свободна воля.// Използвайте го както искате, печелите или безплатно, при условие че се вписва в лицензите на свързаните с него произведения. // MPL3115A2 // Този код е проектиран да работи с мини модула MPL3115A2_I2CS I2C, достъпен от ControlEverything.com. //
внос com.pi4j.io.i2c. I2CBus;
внос com.pi4j.io.i2c. I2CDevice; внос com.pi4j.io.i2c. I2CFactory; импортиране на java.io. IOException;
публичен клас MPL3115A2
{public static void main (String args ) throws Exception {// Създаване на I2C шина I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Вземете I2C устройство, MPL3115A2 I2C адресът е 0x60 (96) I2CDevice устройство = Bus.getDevice (0x60); // Изберете контролен регистър // Активен режим, OSR = 128, устройство с режим на висотомер.write (0x26, (байт) 0xB9); // Изберете регистър за конфигуриране на данни // Активирано събитие за данни за надморска височина, налягане, температура device.write (0x13, (байт) 0x07); // Избор на регистър за управление // Активен режим, OSR = 128, режим на висотомер device.write (0x26, (байт) 0xB9); Thread.sleep (1000);
// Прочетете 6 байта данни от адрес 0x00 (00)
// статус, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb байт данни = нов байт [6]; device.read (0x00, данни, 0, 6);
// Конвертираме данните в 20-бита
int tHeight = ((((данни [1] & 0xFF) * 65536) + ((данни [2] & 0xFF) * 256) + (данни [3] & 0xF0)) / 16); int temp = ((данни [4] * 256) + (данни [5] & 0xF0)) / 16; двойна надморска височина = tHeight / 16,0; двоен cTemp = (temp / 16.0); двоен fTemp = cTemp * 1.8 + 32;
// Изберете контролен регистър
// Активен режим, OSR = 128, устройство с режим на барометър.write (0x26, (байт) 0x39); Thread.sleep (1000); // Прочетете 4 байта данни от адрес 0x00 (00) // състояние, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);
// Конвертираме данните в 20-бита
int pres = (((данни [1] & 0xFF) * 65536) + ((данни [2] & 0xFF) * 256) + (данни [3] & 0xF0)) / 16; двойно налягане = (pres / 4.0) / 1000.0; // Извежда данни на екрана System.out.printf ("Налягане: %.2f kPa %n", налягане); System.out.printf ("Надморска височина: %.2f m %n", надморска височина); System.out.printf ("Температура в Целзий: %.2f C %n", cTemp); System.out.printf ("Температура по Фаренхайт: %.2f F %n", fTemp); }}
Стъпка 4: Практичността на Кодекса (Работа)
Сега изтеглете (или git изтеглете) кода и го отворете в Raspberry Pi. Изпълнете командите за компилиране и качване на кода на терминала и вижте изхода на монитора. След няколко секунди той ще покаже всички параметри. След като се уверите, че всичко работи гладко, можете да превърнете този проект в по -голям проект.
Стъпка 5: Приложения и функции
Обичайната употреба на сензора за прецизен висотомер MPL3115A2 е в приложения като Map (Map Assist, Navigation), Магнитен компас или GPS (GPS Dead Reckoning, GPS Enhancement за аварийни услуги), Altimetry с висока точност, смартфони/таблети, Altimetry на персонална електроника и Сателити (оборудване за метеорологични станции/прогнозиране).
За напр. С помощта на този сензор и Rasp Pi можете да изградите цифров визуален висотомер, най -важното оборудване за парашутизъм, което може да измерва надморска височина, въздушно налягане и температура. Можете да добавите марля за вятър и други сензори, така че да направите по -интересен.
Стъпка 6: Заключение
Тъй като програмата е невероятно персонализирана, има много интересни начини, по които можете да разширите този проект и да го направите още по -добър. Например, висотомер/интерферометър ще включва няколко висотомера, монтирани на мачти, които ще получават измервания едновременно, като по този начин ще осигурят непрекъснато, едно- или многовисотомерно широкообхватно покритие. Имаме интересен видео урок в YouTube, който може да ви помогне да разберете по -добре този проект.
Препоръчано:
Измерете температурата и влажността с помощта на DHT11 / DHT22 и Arduino: 4 стъпки
Измерете температурата и влажността с помощта на DHT11 / DHT22 и Arduino: В този урок за Arduino ще научим как да използваме DHT11 или сензора DHT22 за измерване на температура и влажност с дъската Arduino
Определяне на налягането и надморската височина с помощта на GY-68 BMP180 и Arduino: 6 стъпки
Определяне на налягането и надморската височина с помощта на GY-68 BMP180 и Arduino: Общ преглед В много проекти, като например летящи роботи, метеорологични станции, подобряване на маршрутизацията, спорт и т.н., измерването на налягане и височина е много важно. В този урок ще научите как да използвате сензора BMP180, който е един от най
Най -добрият регистър за данни с балон на височина за надморска височина: 9 стъпки (със снимки)
Крайният регистратор на данни за балони за височина с висока надморска височина: Запишете данни за балони за височина с най -високата височина надморска височина. Метеорологичен балон на голяма надморска височина, известен също като балон на голяма надморска височина или HAB, е огромен балон, пълен с хелий. Тези балони са платформа
Raspberry Pi / DHT11 - Измерете влажността и температурата: 4 стъпки
Raspberry Pi / DHT11 - Измерване на влажността и температурата: Исках да измервам температурата и влажността с моята Raspberry Pi. Избрах сензор DHT11, защото е здрав и евтин. Конфигурирането му също е добре документирано, но има няколко клопки по пътя, върху които бих искал да се съсредоточа. DHT11
Измерете налягането с вашия микро: бит: 5 стъпки (със снимки)
Измервайте налягането с вашия Micro: бит: Следните инструкции описват лесно за изграждане и евтино устройство за извършване на измервания на налягането и демонстриране на закона на Бойл, използвайки micro: бита в комбинация с BMP280 сензор за налягане/температура. Като има предвид, че тази спринцовка/налягане s