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

Raspberry Pi -ийг ашиглан MPL3115A2 ашиглан өндөр, даралт, температурыг хэмжинэ: 6 алхам
Raspberry Pi -ийг ашиглан MPL3115A2 ашиглан өндөр, даралт, температурыг хэмжинэ: 6 алхам

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

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

Юу эзэмшиж байгаагаа, яагаад үүнийг эзэмшиж байгаагаа мэдэж аваарай

Сонирхолтой байна. Олон тооны шинэ програмууд руу нэвтэрч буй бид Интернет автоматжуулалтын эрин үед амьдарч байна. Компьютер, электроник сонирхогчдын хувьд бид 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 програмчлал

Java дээр Raspberry Pi програмчлал
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 дээр сонирхолтой видео хичээл байна.

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