Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай тоног төхөөрөмж
- Алхам 2: Цахилгаан хэлхээг холбох тоног төхөөрөмжийн холболт
- Алхам 3: Java дээр Raspberry Pi програмчлал
- Алхам 4: Кодын практик байдал (ажиллаж байна)
- Алхам 5: Програм ба онцлог
- Алхам 6: Дүгнэлт
Видео: Raspberry Pi -ийг ашиглан MPL3115A2 ашиглан өндөр, даралт, температурыг хэмжинэ: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Юу эзэмшиж байгаагаа, яагаад үүнийг эзэмшиж байгаагаа мэдэж аваарай
Сонирхолтой байна. Олон тооны шинэ програмууд руу нэвтэрч буй бид Интернет автоматжуулалтын эрин үед амьдарч байна. Компьютер, электроник сонирхогчдын хувьд бид Raspberry Pi -ийн талаар маш их зүйлийг сурч мэдсэн бөгөөд өөрсдийн сонирхлыг нэгтгэхээр шийдсэн. Хэрэв та I²C холболт, Програм хангамжийн тохиргоонд шинээр суралцаж байгаа бол энэ төсөл нэг цаг орчим үргэлжилдэг бөгөөд энэ нь Java дахь Raspberry Pi -тай MPL3115A2 -ийн чадварыг өргөжүүлэх гайхалтай арга юм.
Алхам 1: Шаардлагатай тоног төхөөрөмж
1. Raspberry Pi
Эхний алхам бол Raspberry Pi самбар авах явдал байв. Энэхүү бяцхан суут ухааныг сонирхогчид, багш нар, шинэлэг орчин бүрдүүлэхэд ашигладаг.
2. Raspberry Pi -д зориулсан I2C бамбай
INPI2 (I2C адаптер) нь Raspberry Pi 2/3 ба I²C портыг олон I2C төхөөрөмжтэй ашиглах боломжийг олгодог. Үүнийг Dcube Store дээрээс авах боломжтой.
3. Альтиметр, даралт ба температур мэдрэгч, MPL3115A2
MPL3115A2 бол IEMC интерфейстэй MEMS даралт мэдрэгч бөгөөд даралт, өндөр, температурын өгөгдлийг өгдөг. Энэхүү мэдрэгч нь харилцахдаа I²2 протоколыг ашигладаг. Бид энэ мэдрэгчийг Dcube дэлгүүрээс худалдаж авсан.
4. Холбох кабель
Бид Dcube Store -д байдаг I²C холбох кабелийг ашигласан.
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 бамбай холболт
Үүнийг хийхийн тулд Raspberry Pi ба I²C бамбайг байрлуул. Бамбайг зөөлөн дарна уу (Зураг харна уу).
Мэдрэгч ба Raspberry Pi -ийн холболт
Мэдрэгчийг аваад I²C кабелийг түүнтэй холбоно уу. I²C гаралт нь үргэлж I²C оролттой холбогдсон эсэхийг шалгаарай. Үүний дараа I²C бамбай суурилуулсан бөөрөлзгөнө Pi -ийг дагаж мөрдөх ёстой. Залгуурын хувьд I²C бамбай ба I²C холболтын кабелиуд бидэнд маш том давуу тал болж байгаа тул зөвхөн залгах, тоглуулах сонголттой үлдсэн. Зүү, утастай холбоотой асуудал байхгүй болсон тул төөрөгдөл арилав. Өөрийгөө утаснуудын сүлжээнд ороод төсөөлөөд үз дээ. Энэ мэт энгийн!
Тэмдэглэл: Хүрэн утас нь нэг төхөөрөмжийн гаралт болон өөр төхөөрөмжийн оролтын хоорондох Ground (GND) холболтыг үргэлж дагаж байх ёстой
Интернет холболт нь маш чухал юм
Төслийг амжилттай хэрэгжүүлэхийн тулд бид Raspberry Pi -ийнхээ интернетэд холбогдсон байх шаардлагатай. Үүнд танд Ethernet (LAN) кабель холбох гэх мэт сонголтууд байна. Түүнчлэн, WiFi адаптерийг ашиглах өөр нэг арга боловч гайхалтай арга юм.
Хэлхээний хүчдэл
Микро USB кабелийг Raspberry Pi -ийн цахилгаан залгуурт залгаарай. Үүнийг асаагаад voila, бид явахад таатай байна!
Дэлгэц рүү холбогдох
Бид HDMI кабелийг монитортой холбож болно, эсвэл бид ямар нэгэн байдлаар хобби учраас нэмэлт зардлыг бууруулахад тусалдаг толгойгүй Pi (-SSH/PuTTY ашиглан) хийх талаар бага зэрэг шинэлэг зүйл хийх боломжтой.
Нэг зуршил нь мөнгө зарж эхлэхэд үүнийг хобби гэдэг
Алхам 3: Java дээр Raspberry Pi програмчлал
Raspberry Pi болон MPL3115A2 мэдрэгчийн Java код. Үүнийг манай Github репозиторт ашиглах боломжтой.
Код руу орохын өмнө Readme файлд өгсөн зааврыг уншиж, үүний дагуу Raspberry Pi -ээ тохируулаарай. Дараах тэгшитгэлийг ашиглан даралтыг тооцоолохын тулд хэсэг хугацаа шаардагдах болно.
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Бүртгэлийн утга)
энд p0 = далайн түвшний даралт (101326 Па) ба h нь метрээр байна. MPL3115A2 нь офсет бүртгэлийг LSB тутамд 2 Паскал гэж тодорхойлсон тул энэ утгыг ашигладаг. Код нь таны өмнө тодорхой байгаа бөгөөд таны төсөөлж буй хамгийн энгийн хэлбэрээр хийгдсэн бөгөөд танд ямар ч асуудал байх ёсгүй.
Та энэ мэдрэгчийн Java кодыг эндээс хуулж болно.
// Хүсэл зоригийн лицензээр тараагдсан болно. // MPL3115A2 // Энэ код нь ControlEverything.com дээрээс авах боломжтой MPL3115A2_I2CS I2C Mini модультай ажиллахад зориулагдсан болно. //
com.pi4j.io.i2c. I2CBus импортлох;
com.pi4j.io.i2c. I2CD төхөөрөмжийг импортлох; com.pi4j.io.i2c. I2CFactory импортлох; java.io. IOException импортлох;
олон нийтийн анги MPL3115A2
{public static void main (String args ) онцгой тохиолдол гаргадаг {// I2C автобус үүсгэх I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C төхөөрөмж авах, MPL3115A2 I2C хаяг нь 0x60 (96) I2CDevice төхөөрөмж = Bus.getDevice (0x60); // Хяналтын бүртгэлийг сонгох // Идэвхтэй горим, OSR = 128, altimeter mode device.write (0x26, (байт) 0xB9); // Өгөгдлийн тохиргооны бүртгэлийг сонгох // Өндөр, даралт, температурын төхөөрөмжид зориулагдсан өгөгдөлд бэлэн болсон үйл явдал.write (0x13, (байт) 0x07); // Хяналтын бүртгэлийг сонгох // Идэвхтэй горим, OSR = 128, altimeter mode device.write (0x26, (байт) 0xB9); Thread.sleep (1000);
// 0x00 (00) хаягаас 6 байт өгөгдлийг унших
// төлөв, 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; давхар өндөр = t Өндөр / 16.0; давхар cTemp = (temp / 16.0); давхар fTemp = cTemp * 1.8 + 32;
// Хяналтын бүртгэлийг сонгоно уу
// Идэвхтэй горим, OSR = 128, барометр горимын төхөөрөмж. Бичих (0x26, (байт) 0x39); Thread.sleep (1000); // 0x00 (00) хаягаас 4 байтын өгөгдлийг уншина уу // status, 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 кПа %n", даралт); System.out.printf ("Өндөр: %.2f m %n", өндөр); System.out.printf ("Цельсийн температур: %.2f C %n", cTemp); System.out.printf ("Фаренгейт дэх температур: %.2f F %n", fTemp); }}
Алхам 4: Кодын практик байдал (ажиллаж байна)
Одоо кодыг татаж аваад (эсвэл git pull) Raspberry Pi дээр нээнэ үү. Терминал дээрх кодыг хөрвүүлэх, байршуулах командыг ажиллуулаад Monitor дээрх гаралтыг харна уу. Хэдэн секундын дараа бүх параметрүүдийг харуулна. Бүх зүйл жигд явагдаж байгаа эсэхийг шалгасны дараа та энэ төслийг илүү том төсөл болгон авч болно.
Алхам 5: Програм ба онцлог
MPL3115A2 Precision Altimeter мэдрэгчийн нийтлэг хэрэглээ нь газрын зураг (газрын зургийн тусламж, навигаци), соронзон луужин эсвэл GPS (GPS -ийн үхлийн тооцоо, яаралтай тусламжийн үйлчилгээнд GPS -ийг сайжруулах), өндөр нарийвчлалтай хэмжих хэмжигдэхүүн, ухаалаг гар утас/таблет, хувийн электрон хэмжигч болон Хиймэл дагуулууд (Цаг уурын станцын тоног төхөөрөмж/Урьдчилан таамаглах).
Жишээ нь Энэхүү мэдрэгч ба Rasp Pi -ийг ашиглан та өндөр, агаарын даралт, температурыг хэмжих боломжтой шүхрээр шумбах төхөөрөмжийн хамгийн чухал хэсэг болох Digital Visual Altimeter бүтээх боломжтой. Та салхины самбай болон бусад мэдрэгчийг нэмж болох тул илүү сонирхолтой болгох боломжтой.
Алхам 6: Дүгнэлт
Хөтөлбөрийг гайхалтай өөрчилж болох тул та энэхүү төслийг өргөжүүлэх, илүү сайн болгох олон сонирхолтой арга замууд байдаг. Жишээлбэл, өндөр хэмжигч/интерферометр нь баганан дээр суурилуулсан хэд хэдэн өндөр хэмжигчийг багтаасан бөгөөд хэмжилтийг нэгэн зэрэг хийх бөгөөд ингэснээр тасралтгүй, нэг эсвэл олон өндөрт өргөн хүрээг хамарна. Энэхүү төслийг илүү сайн ойлгоход тань туслах YouTube дээр сонирхолтой видео хичээл байна.
Зөвлөмж болгож буй:
Агаар мандлын даралт дээр суурилсан өндөр хэмжигч: 7 алхам (зурагтай)
Altimeter (өндрийн тоолуур) Агаар мандлын даралт дээр үндэслэсэн: [Засварлах]; 6 -р алхам дахь 2 -р хувилбарыг гараар өндрийн гараар оруулна уу. Энэ бол Arduino Nano ба Bosch BMP180 атмосферийн даралт мэдрэгч дээр суурилсан Altimeter (Өндөр хэмжигч) -ийн барилгын тодорхойлолт юм. Загвар нь энгийн боловч хэмжээсүүд нь
Чийгшил, даралт ба температурыг BME280 ба фотоны интерфэйсийг ашиглан тооцоолох: 6 алхам
Чийгшил, даралт ба температурын тооцоог BME280 ба фотоны интерфэйсийг ашиглан хийдэг. Бид температур, даралт, чийгшлийн хяналтыг шаарддаг янз бүрийн төслүүдтэй тааралддаг. Эдгээр параметрүүд нь өөр өөр агаар мандлын нөхцөлд системийн ажлын үр ашгийг үнэлэхэд чухал үүрэг гүйцэтгэдэг болохыг бид ойлгож байна
MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур: 6 алхам
MPL3115A2 бүхий Raspberry Pi ашиглан өндөр, даралт, температур: Сонирхолтой сонсогдож байна. Бид бүгдээрээ IoT үе рүү шилжиж байгаа энэ үед энэ нь боломжтой юм. Цахилгаан барааны хувьд бид Raspberry Pi -тэй тоглож байсан бөгөөд энэхүү мэдлэгээ ашиглан сонирхолтой төслүүд хийхээр шийдсэн юм. Энэхүү төсөлд бид
Infometon XMC4700 RelaxKit, Infineon DPS422 ба AWS ашиглан барометрийн даралт ба температурыг дүрслэн харуулах: 8 алхам
Infometon XMC4700 RelaxKit, Infineon DPS422 болон AWS -ийг ашиглан барометрийн даралт ба температурыг дүрслэн харуулах: Infineon -ийн DPS 422 -ийг ашиглан барометрийн даралт, температурыг хэмжих энгийн төсөл юм. Хэсэг хугацааны турш даралт, температурыг хянах нь болхи болдог. Энд аналитик зураг харагдаж байна, өөрчлөлтийн талаархи ойлголт
Arduino Uno ашиглан LM35 температур мэдрэгч ашиглан температурыг унших: 4 алхам
Arduino Uno ашиглан LM35 температур мэдрэгч ашиглан температурыг унших: Сайн байна уу залуусаа, бид LM35 -ийг Arduino -той хэрхэн ашиглах талаар сурах болно. Lm35 нь -55 ° C -аас 150 ° C хүртэлх температурын утгыг унших боломжтой температур мэдрэгч юм. Энэ нь температуртай пропорциональ аналог хүчдэл өгдөг 3 терминал төхөөрөмж юм. Өндөр