Raspberry Pi барометрийн цагны цаг: 9 алхам (зурагтай)
Raspberry Pi барометрийн цагны цаг: 9 алхам (зурагтай)
Anonim
Raspberry Pi барометрийн цаг агаарын цаг
Raspberry Pi барометрийн цаг агаарын цаг

Энэхүү зааварчилгаанд би Adafruit 4 оронтой 7 сегмент I2C дэлгэц дээр харуулсан BMP180 I2C мэдрэгч бүхий Raspberry Pi 2 ашиглан термометр / барометрийн үндсэн цагийг хэрхэн бүтээхийг танд үзүүлэх болно. Pi нь мөн DS3231 бодит цагийн I2C цагийн модулийг ашиглан Pi -г дахин эхлүүлэх үед цагийг хадгалдаг.

Цаг нь тус бүр 5 секундын турш 4 үе шатыг давдаг. Нэгдүгээрт, энэ нь Цельсийн температурыг, дараа нь Фаренгейтэд барометрийн даралтыг кПа *(цөөн тооны оронтой тоогоор зүүн тийш явдаг), эцэст нь одоогийн болон дундаж температурын хооронд барометрийн даралтын өөрчлөлтийн чиг хандлагыг харуулдаг. өмнөх цаг.

Энэ цагийг бусдаас ялгарах зүйл бол PiP дээр MySQL мэдээллийн санг ашиглан минут тутамд BMP180 -аас өгөгдлийг бүртгэдэг явдал юм. Одоогийн барометрийн даралт нь тодорхой хугацааны туршид дээш эсвэл доошоо хөдөлж байгаа шиг үнэ цэнэтэй биш тул энэхүү мэдээллийн санг ашиглан 2 цаг -1 цагийн өмнөх нэг цагийн дундаж хугацааг тооцоолж, одоогийн даралттай харьцуулж үздэг. Барометрийн даралт мэдэгдэхүйц нэмэгдэх нь ихэвчлэн цаг агаарын байдал сайжирч байгааг харуулсан бөгөөд их хэмжээний уналт нь удахгүй болох шуурганы талаар анхааруулж магадгүй юм.

Цаг нь 3D хэвлэсэн ABS орон сууцанд байрладаг бөгөөд BMP180 нь цагны ар талд агааржуулалттай малгайтай бөгөөд Pi -ийн үүсгэсэн дулааныг температурын уншилтанд нөлөөлөхөөс сэргийлдэг. Хэрэв та өөрөө хэвлэхийг хүсч байвал би Autodesk 123D Design схемийг өгөх болно.

Энэхүү цаг нь ердийн USB хананы хүчээр ажилладаг бөгөөд нийтдээ 450 мА хэмжээтэй байдаг.

Би холбоос өгөх бусад олон зааварчилгаанд тусгагдсан тул би Pi болон I2C -ийн үндсэн тохиргооны талаар дэлгэрэнгүй мэдээлэл өгөхгүй.

Алхам 1: Pi -г бэлтгэ

Pi -г бэлтгэ
Pi -г бэлтгэ

Raspberry Pi -ийн дэлгэрэнгүй мэдээллийг Raspberrypi.org дээр тохируулна уу

  1. Сонгосон Linux түгээлтээ SD карт дээр татаж суулгаарай - Би Raspbian -ийг ашигласан
  2. Pi -г залгаж, ачаална уу
  3. Цагны орон сууц нь Ethernet портыг далдлах тул би микро WiFi адаптер ашиглан pi -г чиглүүлэгчтэйгээ холбосон.
  4. Би толгойгүй горимыг ашигладаг бөгөөд та SSH ашиглан pi -тэй холбогддог тул танд залгуур хэрэгтэй болно.
  5. Pi дээрх I2C -ийг тохируулаарай - Би Adafruit сайт дээрх эдгээр зааврыг дагасан.

Алхам 2: Бүгдийг утсаар холбоно уу

Бүгдийг утсаар холбоно уу
Бүгдийг утсаар холбоно уу

Миний энэ төсөлд ашигладаг бүх модулиуд нь 5V -ийг тэсвэрлэдэг бөгөөд I2C -ийг ашигладаг бөгөөд энэ нь IC -ууд хоорондоо харилцахад ашигладаг 2 утастай протокол юм. Тиймээс утас холбох нь маш энгийн. Схемийн дагуу бүх VCC -ийг 5V, бүх газардуулгыг, SCA ба SCL -ийн бүх шугамыг холбоно уу. Ажлаа хийлээ.

Алхам 3: I2C -ээ туршина уу

I2C -ийг туршиж үзээрэй
I2C -ийг туршиж үзээрэй

I2C суулгацын нэг хэсэг нь i2cdetect -ийг ажиллуулах бөгөөд хэрэв бүх зүйл зөв холбогдсон бол хавсаргасан зураг шиг харагдах болно.

Тохирох хаягийг доор харуулав

  1. 0x70 = 7 сегментийн дэлгэц
  2. 0x77 = BMP180 термометр / барометрийн мэдрэгч
  3. 0x68 = DS3231 бодит цагийн модуль
  4. 0x57 = дохиоллын өгөгдлийг хадгалах EEPROM самбар дээрх DS3231.

Алхам 4: MySQL болон PhpMyAdmin -ийг суулгана уу

MySQL болон PhpMyAdmin суулгана уу
MySQL болон PhpMyAdmin суулгана уу

Хэрэв та энд байгаа зааврыг дагаж мөрдвөл mySQL -ийг суулгах нь нэлээд хялбар болно

sudo apt-get mysql-server суулгана уу

Би мөн phpMyAdmin -ийг суулгасан бөгөөд энэ нь Apache дээр ажилладаг вэбсайт бөгөөд та mySQL мэдээллийн бааз үүсгэх, удирдах боломжтой. Энд заавар

sudo apt-get phpmyadmin суулгана уу

Суулгасны дараа би дүрсний дагуу бүтэцтэй phpMyAdmin ашиглан BP180 нэртэй мэдээллийн бааз байгууллаа.

Би бас mysqlDB нэртэй python модулийг ашигладаг бөгөөд үүнийг ашиглан суулгаж болно

sudo apt-get python-mysqldb суулгана уу

Алхам 5: Python модулиудыг суулгана уу

Мэдрэгчид холбогдохын тулд доорх питон модулиудыг татаж суулгаарай.

  1. Adafruit_BMP085 модуль
  2. SDL_DS3231 модуль
  3. Adafruit 7 сегментийн модуль

Алхам 6: Өгөгдлийн санд нэвтрэх код

Доорх кодын хэсгийг температур ба барометрийн даралтыг бүртгэхэд ашигладаг бөгөөд 5 минут тутамд ажилладаг крон скриптээс (Linux хуваарьт даалгавар) дууддаг. Crond програмыг хэрхэн ашиглах талаар сурах бол энэ хичээлийг үзнэ үү.

NB! Миний код бичих ур чадварыг хог хаях гэж битгий зовоорой, би хөгжүүлэгч биш болохоор тийм ээ, үүнийг хийх сая сая илүү сайн, хурдан, гөлгөр, цэвэрхэн аргууд байгаа байх

Та кодын температурыг 7 градусаар бууруулж байгааг анзаарах болно, энэ нь орон сууцны гадна талд суурилуулсан BMP180 -тай байсан ч Raspberry Pi -ийн үйлдвэрлэсэн дулаантай тэнцэнэ. Би үүнийг анх орон сууцны дотор байрлуулахад орчноос 15 градус илүү халуун байсан. Энэ нь нэлээд шугаман юм шиг санагдаж байна, гэхдээ надад хэт туйлшрал турших боломж байгаагүй. Таны туршлагын талаархи санал хүсэлтийг үнэлэх болно.

Алхам 7: Температурыг харуулах код

Температурыг харуулах код
Температурыг харуулах код
Температурыг харуулах код
Температурыг харуулах код
Температурыг харуулах код
Температурыг харуулах код
Температурыг харуулах код
Температурыг харуулах код

Энэхүү кодыг танилцуулгад заасны дагуу дэлгэцээр дамжих гэж нэрлэдэг.

Дахин хэлэхэд би хөгжүүлэгч биш тул код үнэхээр бүдүүлэг боловч энэ нь ажилладаг

Алхам 8: 3D хэвлэсэн хаалт

3D хэвлэсэн хаалт
3D хэвлэсэн хаалт
3D хэвлэсэн хаалт
3D хэвлэсэн хаалт
3D хэвлэсэн хаалт
3D хэвлэсэн хаалт
3D хэвлэсэн хаалт
3D хэвлэсэн хаалт

Дараагийнх нь хашлагын дизайн юм. Гаднах бүрхүүлийн хэсэг нь ердөө 2 мм зузаантай тул хэлбэр нь муруйлгах хандлагатай байдаг тул энэ нь нэлээд хэцүү байсан. Би эхлээд Pi болон бүх эд ангиудын хуурамч зургийг зураад дараа нь түүний эргэн тойрон дахь хашлага хийжээ. Миний RapMan 3.2 дээр (нэлээд удаан хэвлэгч) 0.25 давхар гүнд 7 цаг орчим хэвлэгдэв.

Хавсаргасан бүдүүвчийг Autodesk 123D дизайн дээр хийсэн бөгөөд энэ нь үнэгүй програм хангамжийн гайхалтай хэсэг гэж би бодож байна.

Пи -ийг бэхлэхэд шаардлагатай нүхнүүд нь дизайнд байдаггүй тул таны хэвлэх хэсэг бага зэрэг гажсан тохиолдолд дараа нь өрөмдөх нь дээр. Тогтвортой гар бол 3 мм -ийн өрмийн цорго юм. Нүүрэн дээрх гүнийг тэмдэглэх соронзон хальсаар тэмдэглээрэй.

Алхам 9: Хийх ёстой зүйлс

Зүйл хийх
Зүйл хийх
  1. Бодит цагийн цаг нь хавсралтыг 5 дахь удаагаа хэвлэсний дараа нэмэлт зүйл болсон тул одоогоор хашлагын хажуу талд сайн наасан байгаа тул би дизайныг дахин хийж, толбо нэмж өгөхийг хүсч байна.
  2. Одоогийн байдлаар 7 сегментийн дэлгэцийн гэрлийг хамгийн хөнгөн болгож тохируулсан бөгөөд энэ нь хүчтэй гэрлийн нөхцөлд тохиромжгүй юм. Би хашлагын дээд талд гэрэл резистор нэмж, орчны гэрлийн нөхцөлд үндэслэн 7 сегментийн гэрлийг тохируулахыг хүсч байна.
  3. Суурь хагарахтай холбоотой дизайны жижиг асуудлууд байдаг бөгөөд үүнийг засах болно.
  4. Аливаа санааг хүлээж авах боломжтой.

Энэхүү зааварчилгаа танд таалагдсан бөгөөд танд урам зориг өгсөн гэж найдаж байна. Гол санаа нь та өөрийн санаагаа нэмэхийн тулд ашиглаж болох платформоор хангах явдал юм. Хөгжилтэй байгаарай!

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