Съдържание:
- Стъпка 1: Необходимо оборудване, от което се нуждаем
- Стъпка 2: Хардуерни връзки за сглобяване на веригата
- Стъпка 3: Програмиране на Raspberry Pi в Python
- Стъпка 4: Практичност на кодекса (тестване)
- Стъпка 5: Приложения и функции
- Стъпка 6: Заключение
Видео: Надморска височина, налягане и температура с помощта на Raspberry Pi с MPL3115A2: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Звучи интересно. Това е напълно възможно в този момент, когато всички ние влизаме в поколението на IoT. Като изрод за електроника, ние играхме с Raspberry Pi и решихме да правим интересни проекти, използвайки тези знания. В този проект ще измерваме надморска височина, въздушно налягане, температура с помощта на Raspberry Pi. Тук идва документацията (винаги се променя и разширява). Препоръчваме да започнете, като следвате инструкциите и копирате кода. Можете да експериментирате по -късно. Така че нека започнем.
Стъпка 1: Необходимо оборудване, от което се нуждаем
1. Малина Пи
Първата стъпка беше получаването на платка Raspberry Pi. Ние закупихме нашите и вие също. Започнахме да се учим от уроците, разбрахме концепциите за скриптове и връзки и научихме след това. Този малък гений е общ за любителите, учителите и при създаването на иновативна среда.
2. I²C щит за Raspberry Pi
INPI2 (I2C адаптер) осигурява Raspberry Pi 2/3 an I²C порт за използване с множество I2C устройства. Предлага се в Dcube Store
3. Висотомер, сензор за налягане и температура, MPL3115A2
MPL3115A2 е MEMS сензор за налягане с I²C интерфейс, който дава данни за налягане/надморска височина и температура. Този сензор използва протокола I²C за комуникация. Закупихме този сензор от Dcube Store
4. Свързващ кабел
Имахме свързващ кабел I2C на разположение в Dcube Store
5. Микро USB кабел
Захранването с микро USB кабел е идеален избор за захранване на Raspberry Pi.
6. Подобряване на достъпа до интернет - Ethernet кабел/WiFi адаптер
В тази ера получаването на достъп до всичко се нуждае от интернет връзка (почти както има живот и офлайн). Затова отиваме да вземем съвета на LAN кабел или безжичен Nano USB адаптер (WiFi), за да изградим интернет връзка, така че да можем да използваме нашия Rasp Pi с лекота и без никакъв проблем.
7. HDMI кабел (по избор, по ваш избор)
Малко е сложно. Можете да имате правото да прикачите друг монитор, в случай че искате, или това е много рентабилно за вас, като направите безглава Pi връзка с вашия компютър/лаптоп.
Стъпка 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 с LAN кабел или безжичен Nano USB адаптер за WiFi връзка. Както и да е, основната цел е да се свърже с интернет.
Захранване на веригата
Включете Micro USB кабела в гнездото за захранване на Raspberry Pi. Запалете го и сме готови.
Връзка към екрана
Можем или да свържем HDMI кабела към нов монитор, или да направим нашия Pi без глава, който е креативен и рентабилен, използвайки отдалечен достъп като-SSH/PuTTY. (Знам, че не се финансираме като тайна организация)
Стъпка 3: Програмиране на Raspberry Pi в Python
Кодът на Python за сензора Raspberry Pi и MPL3115A2. Предлага се в нашето хранилище на Github.
Преди да преминете към кода, не забравяйте да прочетете инструкциите, дадени във файла Readme и да настроите вашия Raspberry Pi според него. Ще отнеме само малко време, за да го направите.
Надморската височина се изчислява от налягането, като се използва уравнението по -долу:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Регистърна стойност)
Където p0 = налягане на морското равнище (101326 Pa) и h е в метри. MPL3115A2 използва тази стойност, тъй като регистърът на отместване е дефиниран като 2 паскала на LSB.
Кодът е ясно пред вас и е в най -простата форма, която можете да си представите и не би трябвало да имате проблеми.
Можете също да копирате работещия код на Python за този сензор от тук.
# Разпространява се с лиценз на свободна воля.# Използвайте го както искате, печелите или безплатно, при условие че се вписва в лицензите на свързаните с него произведения. # MPL3115A2 # Този код е предназначен за работа с мини модула MPL3115A2_I2CS I2C, достъпен от ControlEverything.com. #
внос smbus
време за импортиране
# Вземете I2C автобус
шина = smbus. SMBus (1)
# MPL3115A2 адрес, 0x60 (96)
# Изберете контролен регистър, 0x26 (38) # 0xB9 (185) Активен режим, OSR = 128, Bus режим на висотомер.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 адрес, 0x60 (96) # Изберете регистър за конфигуриране на данни, 0x13 (19) # 0x07 (07) Събитие за готовност за данни е активирано за надморска височина, налягане, температура bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 адрес, 0x60 (96) # Изберете контролен регистър, 0x26 (38) # 0xB9 (185) Активен режим, OSR = 128, Режим на висотомер bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 адрес, 0x60 (96)
# Прочетете данните обратно от 0x00 (00), 6 байта # статус, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB данни = bus.read_i2c_block_data (0x60, 0x00, 6)
# Конвертирайте данните в 20-бита
tHeight = ((данни [1] * 65536) + (данни [2] * 256) + (данни [3] & 0xF0)) / 16 temp = ((данни [4] * 256) + (данни [5] & 0xF0)) / 16 надморска височина = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32
# MPL3115A2 адрес, 0x60 (96)
# Изберете контролен регистър, 0x26 (38) # 0x39 (57) Активен режим, OSR = 128, шина в режим на барометър. Запис_байт_данни (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 адрес, 0x60 (96)
# Прочетете данните обратно от 0x00 (00), 4 байта # състояние, предварително MSB1, предварително MSB, предварително LSB данни = bus.read_i2c_block_data (0x60, 0x00, 4)
# Конвертирайте данните в 20-бита
pres = ((данни [1] * 65536) + (данни [2] * 256) + (данни [3] & 0xF0)) / 16 налягане = (pres / 4.0) / 1000.0
# Извеждане на данни на екрана
печат "Налягане: %.2f kPa" %печат на налягане "Надморска височина: %.2f m" %надморска височина печат "Температура в Целзий: %.2f C" %cТемп печат "Температура по Фаренхайт: %.2f F" %fTemp
Стъпка 4: Практичност на кодекса (тестване)
Сега изтеглете (или git изтеглете) кода и го отворете в Raspberry Pi.
Изпълнете командите за компилиране и качване на кода в терминала и вижте изхода на монитора. След няколко секунди той ще покаже всички параметри. След като се уверите, че всичко работи гладко, можете да превърнете този проект в по -голям проект.
Стъпка 5: Приложения и функции
Честото използване на сензора за прецизен висотомер MPL3115A2 I²C е в приложения като Map (Map Assist, Navigation), Магнитен компас или GPS (GPS Dead Reckoning, GPS Enhancement за аварийни услуги), Altimetry с висока точност, Smartphones/Tablets, Personal Electronics Altimetry и сателити (оборудване за метеорологични станции/прогнозиране).
За напр. проект за производство на висотомер за персонална електроника, който измерва надморска височина, въздушно налягане, температура с помощта на Raspberry Pi. Висотомерът за персонална електроника е общо взето доста бърз проект за изграждане. Ще отнеме само няколко минути, ако имате всички части и не импровизирате (разбира се, че можете!). Висотомер за налягане е висотомер, който се намира в повечето самолети, а парашутистите използват версии, монтирани на китката, за подобни цели. Туристите и алпинистите използват висотомери, монтирани на китка или ръчни.
Стъпка 6: Заключение
Надявам се този проект да вдъхнови по -нататъшни експерименти. Този I²C сензор е невероятно гъвкав, евтин и достъпен. Тъй като това е изключително променлива програма, има интересни начини да разширите този проект и да го направите още по -добър. Например, висотомерът е инструмент, незадължителен за превозни средства с висока проходимост, за подпомагане на навигацията. Някои висококачествени луксозни автомобили, които никога не са били предназначени да напускат асфалтирани пътища, използват тази технология. За ваше удобство имаме интересен видеоурок в YouTube, който може да подаде ръка за вашето проучване. Надявам се този проект да вдъхнови по -нататъшни експерименти.
Препоръчано:
Висотомер (измервател на височина) Въз основа на атмосферно налягане: 7 стъпки (със снимки)
Висотомер (измервател на височина) Въз основа на атмосферно налягане: [Редактиране]; Вижте версия 2 в стъпка 6 с ръчно въвеждане на базовата височина. Това е описанието на сградата на висотомер (измервател на височина), базиран на Arduino Nano и сензор за атмосферно налягане Bosch BMP180. Дизайнът е прост, но измерванията
Използвайки Raspberry Pi, измерете надморската височина, налягането и температурата с MPL3115A2: 6 стъпки
Използване на Raspberry Pi, измерване на височина, налягане и температура с MPL3115A2: Знайте какво притежавате и знайте защо го притежавате! Това е интригуващо. Живеем в ерата на Интернет автоматизацията, тъй като тя се потопява в множество нови приложения. Като ентусиасти на компютрите и електрониката, научихме много с Raspberry Pi
Най -добрият регистър за данни с балон на височина за надморска височина: 9 стъпки (със снимки)
Крайният регистратор на данни за балони за височина с висока надморска височина: Запишете данни за балони за височина с най -високата височина надморска височина. Метеорологичен балон на голяма надморска височина, известен също като балон на голяма надморска височина или HAB, е огромен балон, пълен с хелий. Тези балони са платформа
SSTV капсула за балони на голяма надморска височина: 11 стъпки (със снимки)
SSTV капсула за балони с голяма надморска височина: Този проект се роди след балона ServetI през лятото на 2017 г. с идеята да изпраща изображения в реално време от Стратосферата до Земята. Изображенията, които направихме, бяха съхранени в паметта на rpi и след това бяха изпратени благодарение на предаването
Температура, относителна влажност, регистратор на атмосферно налягане с помощта на Raspberry Pi и TE свързаност MS8607-02BA01: 22 стъпки (със снимки)
Температура, относителна влажност, регистратор на атмосферно налягане с помощта на Raspberry Pi и TE свързаност MS8607-02BA01: Въведение: В този проект ще ви покажа как да изградите настройка по стъпка система за регистриране на температурата на влажността и атмосферното налягане. Този проект се основава на чипа за околната среда Raspberry Pi 3 Model B и TE Connectivity MS8607-02BA