Агуулгын хүснэгт:

MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур: 6 алхам
MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур: 6 алхам

Видео: MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур: 6 алхам

Видео: MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур: 6 алхам
Видео: Работа с крупноформатной плиткой. Оборудование. Бесшовная укладка. Клей. 2024, Арваннэгдүгээр
Anonim
MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур
MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур
MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур
MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур

Сонирхолтой сонсогдож байна. Бид бүгдээрээ 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 програмчлал

Python дээр Raspberry Pi програмчлал
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 дээр сонирхолтой видео хичээл байгаа бөгөөд энэ нь танд хайгуул хийхэд тань туслах болно. Энэхүү төсөл нь цаашдын туршилтыг хийх болно гэж найдаж байна.

Зөвлөмж болгож буй: