Агуулгын хүснэгт:
- Алхам 1: Бидэнд хэрэгтэй тоног төхөөрөмж
- Алхам 2: Цахилгаан хэлхээг холбох тоног төхөөрөмжийн холболт
- Алхам 3: Python дээр Raspberry Pi програмчлал
- Алхам 4: Кодын практик байдал (Туршилт)
- Алхам 5: Програм ба онцлог
- Алхам 6: Дүгнэлт
Видео: MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Сонирхолтой сонсогдож байна. Бид бүгдээрээ IoT үе рүү шилжиж байгаа энэ үед энэ нь боломжтой юм. Цахилгаан барааны хувьд бид Raspberry Pi -тэй тоглож байсан бөгөөд энэхүү мэдлэгээ ашиглан сонирхолтой төслүүд хийхээр шийдсэн юм. Энэ төсөлд бид Raspberry Pi ашиглан өндөр, агаарын даралт, температурыг хэмжих болно. Тиймээс энд баримт бичиг (үргэлж өөрчлөгдөж, өргөжиж байдаг) орно. Зааврыг дагаж кодоо хуулбарлахыг зөвлөж байна. Та дараа нь туршилт хийж болно. Тиймээс эхэлцгээе.
Алхам 1: Бидэнд хэрэгтэй тоног төхөөрөмж
1. Raspberry Pi
Эхний алхам бол Raspberry Pi самбар авах явдал байв. Бид өөрсдийнхөө зүйлийг худалдаж авсан, та ч бас худалдаж авах боломжтой. Хичээлүүдээс сурч эхэлснээс хойш бид скрипт, холболтын ойлголтыг ойлгож, дараа нь сурсан. Энэхүү бяцхан суут ухаан нь сонирхогчид, багш нар, шинэлэг орчин бүрдүүлэхэд түгээмэл байдаг.
2. Raspberry Pi -ийн I²C бамбай
INPI2 (I2C адаптер) нь Raspberry Pi 2/3 ба I²C портыг олон I2C төхөөрөмжтэй ашиглах боломжийг олгодог. Үүнийг Dcube Store дээрээс авах боломжтой
3. Альтиметр, даралт ба температур мэдрэгч, MPL3115A2
MPL3115A2 бол IEMC интерфейстэй MEMS даралт мэдрэгч бөгөөд даралт/өндөр, температурын өгөгдлийг өгдөг. Энэхүү мэдрэгч нь харилцахдаа I²C протоколыг ашигладаг. Бид энэ мэдрэгчийг Dcube дэлгүүрээс худалдаж авсан
4. Холбох кабель
Бидэнд Dcube Store дээр I2C холбох кабель байсан
5. Микро USB кабель
Микро USB кабель Цахилгаан хангамж нь Raspberry Pi -ийг тэжээх хамгийн тохиромжтой сонголт юм.
6. Интернет хандалтыг сайжруулах - Ethernet кабель/WiFi адаптер
Энэ эрин үед аливаа зүйлд нэвтрэхийн тулд интернет холболт шаардлагатай (офлайн амьдрал бас байдаг). Тиймээс бид Rasp Pi -г хялбархан, ямар ч асуудалгүйгээр ашиглахын тулд интернет холболт бий болгохын тулд LAN кабель эсвэл Утасгүй Нано USB адаптер (WiFi) -ийн зөвлөгөөг авдаг.
7. HDMI кабель (заавал биш, таны сонголт)
Энэ нь жаахан төвөгтэй юм. Хэрэв та хүсвэл өөр монитор хавсаргах эрхтэй байж болно, эсвэл компьютер эсвэл зөөврийн компьютер дээрээ толгойгүй Pi холболт хийх нь танд маш хэмнэлттэй байх болно.
Алхам 2: Цахилгаан хэлхээг холбох тоног төхөөрөмжийн холболт
Схемийг үзүүлсэн схемийн дагуу хий. Ерөнхийдөө холболтууд нь маш энгийн. Заавар, зургийг дагаж мөрдөөрэй, тэгвэл танд ямар ч асуудал гарахгүй.
Төлөвлөхдөө бид техник хангамж, кодчилол, электроникийн үндсийг харсан. Бид энэ төслийн электроникийн энгийн схемийг гаргахыг хүссэн. Диаграммд I²C холбооны протоколыг дагаж янз бүрийн эд анги, тэжээлийн эд анги, I²C мэдрэгчийг анзаарч болно. Энэ нь энэ төслийн электрон төхөөрөмж хэр энгийн болохыг харуулсан гэж найдаж байна.
Raspberry Pi ба I2C бамбай холболт
Юуны өмнө Raspberry Pi -ийг аваад дээр нь I²C бамбайг тавь. Бамбайг зөөлөн дарна уу (Зураг харна уу).
Мэдрэгч ба Raspberry Pi -ийн холболт
Мэдрэгчийг аваад I²C кабелийг холбоно уу. I²C гаралт нь үргэлж I²C оролттой холбогдсон эсэхийг шалгаарай. Үүний дараа I²C бамбай суурилуулсан бөөрөлзгөнө Pi -ийг дагаж мөрдөх ёстой. Залгуурын хувьд I²C бамбай ба I²C холболтын кабелиуд бидэнд маш том давуу тал болж байгаа тул зөвхөн залгах, тоглуулах сонголттой үлдсэн. Зүү, утастай холбоотой асуудал байхгүй болсон тул төөрөгдөл арилав. Өөрийгөө утаснуудын сүлжээнд ороод төсөөлөөд үз дээ. Бидний дурдсан энгийн процесс.
Тэмдэглэл: Хүрэн утас нь нэг төхөөрөмжийн гаралт болон өөр төхөөрөмжийн оролтын хоорондох Ground (GND) холболтыг үргэлж дагаж байх ёстой
Интернет холболт нь маш чухал юм
Үнэндээ танд энд сонголт байна. Та Raspberry Pi -г LAN кабель эсвэл WiFi холболтын утасгүй нано USB адаптераар холбож болно. Ямар ч байсан энэ нь интернетэд холбогдох гол зорилгоо биелүүлсэн юм.
Хэлхээний хүчдэл
Микро USB кабелийг Raspberry Pi -ийн цахилгаан залгуурт залгаарай. Үүнийг асаагаад бид явахад таатай байна.
Дэлгэц рүү холбогдох
Бид HDMI кабелийг шинэ монитортой холбож эсвэл SSH/PuTTY гэх мэт алсын хандалтыг ашиглан бүтээлч, хэмнэлттэй толгойгүй Pi-гээ хийж болно. (Бид нууц байгууллага шиг санхүүждэггүй гэдгийг би мэднэ)
Алхам 3: Python дээр Raspberry Pi програмчлал
Raspberry Pi болон MPL3115A2 мэдрэгчийн Python код. Үүнийг манай Github репозиторт ашиглах боломжтой.
Код руу орохын өмнө Readme файлд өгсөн зааврыг уншиж, үүний дагуу Raspberry Pi -ээ тохируулаарай. Үүнийг хийхэд хэдхэн хором л хангалттай.
Даралтыг дараахь тэгшитгэлийг ашиглан даралтаар тооцоолно.
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Бүртгэлийн утга)
Энд p0 = далайн түвшний даралт (101326 Па) ба h нь метрээр байна. MPL3115A2 нь офсет бүртгэлийг LSB тутамд 2 Паскал гэж тодорхойлсон тул энэ утгыг ашигладаг.
Код нь таны өмнө тодорхой байгаа бөгөөд таны төсөөлж буй хамгийн энгийн хэлбэрээр хийгдсэн бөгөөд танд ямар ч асуудал байх ёсгүй.
Та энэ мэдрэгчийн Python кодыг эндээс хуулж болно.
# Чөлөөт зөвшөөрлийн лицензээр тараагдсан.# Холбогдох ажлын лицензтэй нийцэж байгаа тохиолдолд ашиг, үнэгүй ашиглах боломжтой. # MPL3115A2 # Энэхүү код нь ControlEverything.com дээрээс авах боломжтой MPL3115A2_I2CS I2C Mini модультай ажиллахад зориулагдсан болно. #
smbus импортлох
импортлох хугацаа
# I2C автобус авах
автобус = smbus. SMBus (1)
# MPL3115A2 хаяг, 0x60 (96)
# Хяналтын бүртгэлийг сонгох, 0x26 (38) # 0xB9 (185) Идэвхтэй горим, OSR = 128, Altimeter mode bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 хаяг, 0x60 (96) # Өгөгдлийн тохиргооны бүртгэлийг сонгох, 0x13 (19)) # 0x07 (07) Өндөр, даралт, температурын автобусны өгөгдөлд бэлэн болсон үйл явдлыг идэвхжүүлсэн.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 хаяг, 0x60 (96) # Хяналтын бүртгэлийг сонгох, 0x26 (38) # 0xB9 (185) Идэвхтэй горим, OSR = 128, Altimeter mode bus.write_byte_data (0x60, 0x26, 0xB9)
цаг унтах (1)
# MPL3115A2 хаяг, 0x60 (96)
# Өгөгдлийг 0x00 (00), 6 байт # төлөв, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Өгөгдлийг 20 бит болгон хөрвүүлэх
tHeight = ((өгөгдөл [1] * 65536) + (өгөгдөл [2] * 256) + (өгөгдөл [3] & 0xF0)) / 16 temp = ((өгөгдөл [4] * 256) + (өгөгдөл [5] & 0xF0)) / 16 өндөр = t Өндөр / 16.0 cTemp = температур / 16.0 fTemp = cTemp * 1.8 + 32
# MPL3115A2 хаяг, 0x60 (96)
# Хяналтын бүртгэлийг сонгох, 0x26 (38) # 0x39 (57) Идэвхтэй горим, OSR = 128, Барометрийн горимын автобус.write_byte_data (0x60, 0x26, 0x39)
цаг унтах (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 кПа" %даралттай хэвлэх "Өндөр: %.2f м" %өндөрт хэвлэх "Цельсийн температур: %.2f C" %cTemp хэвлэх "Фаренгейт дэх температур: %.2f F" %fTemp
Алхам 4: Кодын практик байдал (Туршилт)
Одоо кодыг татаж аваад (эсвэл git pull) Raspberry Pi дээр нээнэ үү.
Терминал дахь кодыг хөрвүүлэх, байршуулах командыг ажиллуулаад Monitor дээрх гаралтыг харна уу. Хэдэн секундын дараа бүх параметрүүдийг харуулна. Бүх зүйл жигд явагдаж байгаа эсэхийг шалгасны дараа та энэ төслийг илүү том төсөл болгон авч болно.
Алхам 5: Програм ба онцлог
MPL3115A2 Precision Altimeter I²C мэдрэгчийн нийтлэг хэрэглээ нь Газрын зураг (Газрын зургийн туслалцаа, навигаци), соронзон луужин, эсвэл GPS (GPS -ийн үхлийн тооцоо, яаралтай тусламжийн үйлчилгээнд GPS -ийг сайжруулах), өндөр нарийвчлалтай хэмжих хэмжигдэхүүн, ухаалаг гар утас/таблет, хувийн электрон хэмжигдэхүүн гэх мэт програмуудад ашиглагддаг. ба хиймэл дагуулууд (Цаг уурын станцын тоног төхөөрөмж/Урьдчилан таамаглах).
Жишээ нь Raspberry Pi ашиглан өндөр, агаарын даралт, температурыг хэмжих хувийн электрон тоолуур хийх төсөл. Personal Electronics Altimeter бол бүтээх маш хурдан төсөл юм. Хэрэв танд бүх хэсгүүд байгаа бөгөөд импровиз хийхгүй бол хэдхэн хором шаардагдах болно (мэдээж та чадна!). Даралтын өндөр хэмжигч нь ихэнх нисэх онгоцонд байдаг өндөр хэмжигч бөгөөд тэнгэрийн шумбагчид бугуйнд суурилуулсан хувилбарыг ижил зорилгоор ашигладаг. Явган аялагчид, ууланд авирдаг хүмүүс бугуйнд суурилуулсан эсвэл гар өндөр хэмжигчийг ашигладаг.
Алхам 6: Дүгнэлт
Энэхүү төсөл нь цаашдын туршилтыг хийх болно гэж найдаж байна. Энэхүү I²C мэдрэгч нь гайхалтай уян хатан, хямд, хүртээмжтэй юм. Энэ бол туйлын хувирамтгай програм тул та энэ төслийг өргөжүүлэх, улам сайжруулах боломжтой олон сонирхолтой арга замууд байдаг. Жишээлбэл, өндөр хэмжигч нь бартаат замын тээврийн хэрэгсэлд навигац хийхэд туслах нэмэлт хэрэгсэл юм. Хатуу хучилттай замыг орхихыг огт хүсээгүй өндөр үзүүлэлттэй тансаг зэрэглэлийн автомашинууд энэ технологийг ашигладаг. Таны тав тухтай байдлыг хангах үүднээс танд YouTube дээр сонирхолтой видео хичээл байгаа бөгөөд энэ нь танд хайгуул хийхэд тань туслах болно. Энэхүү төсөл нь цаашдын туршилтыг хийх болно гэж найдаж байна.
Зөвлөмж болгож буй:
Агаар мандлын даралт дээр суурилсан өндөр хэмжигч: 7 алхам (зурагтай)
Altimeter (өндрийн тоолуур) Агаар мандлын даралт дээр үндэслэсэн: [Засварлах]; 6 -р алхам дахь 2 -р хувилбарыг гараар өндрийн гараар оруулна уу. Энэ бол Arduino Nano ба Bosch BMP180 атмосферийн даралт мэдрэгч дээр суурилсан Altimeter (Өндөр хэмжигч) -ийн барилгын тодорхойлолт юм. Загвар нь энгийн боловч хэмжээсүүд нь
BMP280 -DHT11 ашигладаг Arduino цаг уурын станц - Температур, чийгшил ба даралт: 8 алхам
BMP280 -DHT11 -ийг ашигладаг Arduino цаг уурын станц - Температур, чийгшил ба даралт: Энэхүү гарын авлагад TFT 7735 LCD дэлгэц дээр ТЕМПЕРАТУР, ЧИЙНЭ, ДАРАЛТЫГ харуулах цаг уурын станц хэрхэн хийх талаар сурах болно
Arduino AMS5812_0050-D-B даралт ба температур мэдрэгчийн заавар: 4 алхам
Arduino AMS5812_0050-D-B Даралт ба температур мэдрэгчийн заавар: Аналог ба дижитал гаралттай AMS5812 даралтат мэдрэгч нь аналог хүчдэлийн гаралт, дижитал I2C интерфэйстэй өндөр нарийвчлалтай мэдрэгч юм. Энэ нь пиезорезист мэдрэгч элементийг дохио тохируулагч элементтэй хослуулан ажиллуулдаг
ESP8266 NodeMCU хандалтын цэг (AP) нь DT11 температур мэдрэгчтэй, хөтөч дэх температур ба чийгшил бүхий вэб серверийн хувьд: 5 алхам
Хөтөч дээр DT11 температур мэдрэгч, хэвлэх температур ба чийгшил бүхий вэб серверт зориулсан ESP8266 NodeMCU хандалтын цэг (AP): Сайн байна уу залуус бид ESP8266 -ийг ашигладаг ихэнх төслүүд болон ихэнх төслүүдэд ESP8266 -ийг вэб сервер болгон ашигладаг тул өгөгдөлд хандах боломжтой. ESP8266 -аас зохион байгуулагдсан вэбсервер рүү нэвтрэх замаар wifi сүлжээнд холбогдсон ямар ч төхөөрөмж, гэхдээ цорын ганц асуудал бол бидэнд ажиллах чиглүүлэгч хэрэгтэй болно
Raspberry Pi -ийг ашиглан MPL3115A2 ашиглан өндөр, даралт, температурыг хэмжинэ: 6 алхам
Raspberry Pi ашиглах, MPL3115A2 -ийн тусламжтайгаар өндөр, даралт, температурыг хэмжих: Юу эзэмшиж байгаагаа мэдэж, яагаад үүнийг эзэмшиж байгаагаа мэдэж аваарай. Олон тооны шинэ програмууд руу нэвтэрч буй бид Интернет автоматжуулалтын эрин үед амьдарч байна. Компьютер, электроник сонирхогчдын хувьд бид Raspberry Pi a -аас маш их зүйлийг сурч мэдсэн