
Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00

Энэхүү зааварчилгаанд би 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 -г бэлтгэ

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

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

I2C суулгацын нэг хэсэг нь i2cdetect -ийг ажиллуулах бөгөөд хэрэв бүх зүйл зөв холбогдсон бол хавсаргасан зураг шиг харагдах болно.
Тохирох хаягийг доор харуулав
- 0x70 = 7 сегментийн дэлгэц
- 0x77 = BMP180 термометр / барометрийн мэдрэгч
- 0x68 = DS3231 бодит цагийн модуль
- 0x57 = дохиоллын өгөгдлийг хадгалах EEPROM самбар дээрх DS3231.
Алхам 4: 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 модулиудыг суулгана уу
Мэдрэгчид холбогдохын тулд доорх питон модулиудыг татаж суулгаарай.
- Adafruit_BMP085 модуль
- SDL_DS3231 модуль
- Adafruit 7 сегментийн модуль
Алхам 6: Өгөгдлийн санд нэвтрэх код
Доорх кодын хэсгийг температур ба барометрийн даралтыг бүртгэхэд ашигладаг бөгөөд 5 минут тутамд ажилладаг крон скриптээс (Linux хуваарьт даалгавар) дууддаг. Crond програмыг хэрхэн ашиглах талаар сурах бол энэ хичээлийг үзнэ үү.
NB! Миний код бичих ур чадварыг хог хаях гэж битгий зовоорой, би хөгжүүлэгч биш болохоор тийм ээ, үүнийг хийх сая сая илүү сайн, хурдан, гөлгөр, цэвэрхэн аргууд байгаа байх
Та кодын температурыг 7 градусаар бууруулж байгааг анзаарах болно, энэ нь орон сууцны гадна талд суурилуулсан BMP180 -тай байсан ч Raspberry Pi -ийн үйлдвэрлэсэн дулаантай тэнцэнэ. Би үүнийг анх орон сууцны дотор байрлуулахад орчноос 15 градус илүү халуун байсан. Энэ нь нэлээд шугаман юм шиг санагдаж байна, гэхдээ надад хэт туйлшрал турших боломж байгаагүй. Таны туршлагын талаархи санал хүсэлтийг үнэлэх болно.
Алхам 7: Температурыг харуулах код




Энэхүү кодыг танилцуулгад заасны дагуу дэлгэцээр дамжих гэж нэрлэдэг.
Дахин хэлэхэд би хөгжүүлэгч биш тул код үнэхээр бүдүүлэг боловч энэ нь ажилладаг
Алхам 8: 3D хэвлэсэн хаалт




Дараагийнх нь хашлагын дизайн юм. Гаднах бүрхүүлийн хэсэг нь ердөө 2 мм зузаантай тул хэлбэр нь муруйлгах хандлагатай байдаг тул энэ нь нэлээд хэцүү байсан. Би эхлээд Pi болон бүх эд ангиудын хуурамч зургийг зураад дараа нь түүний эргэн тойрон дахь хашлага хийжээ. Миний RapMan 3.2 дээр (нэлээд удаан хэвлэгч) 0.25 давхар гүнд 7 цаг орчим хэвлэгдэв.
Хавсаргасан бүдүүвчийг Autodesk 123D дизайн дээр хийсэн бөгөөд энэ нь үнэгүй програм хангамжийн гайхалтай хэсэг гэж би бодож байна.
Пи -ийг бэхлэхэд шаардлагатай нүхнүүд нь дизайнд байдаггүй тул таны хэвлэх хэсэг бага зэрэг гажсан тохиолдолд дараа нь өрөмдөх нь дээр. Тогтвортой гар бол 3 мм -ийн өрмийн цорго юм. Нүүрэн дээрх гүнийг тэмдэглэх соронзон хальсаар тэмдэглээрэй.
Алхам 9: Хийх ёстой зүйлс

- Бодит цагийн цаг нь хавсралтыг 5 дахь удаагаа хэвлэсний дараа нэмэлт зүйл болсон тул одоогоор хашлагын хажуу талд сайн наасан байгаа тул би дизайныг дахин хийж, толбо нэмж өгөхийг хүсч байна.
- Одоогийн байдлаар 7 сегментийн дэлгэцийн гэрлийг хамгийн хөнгөн болгож тохируулсан бөгөөд энэ нь хүчтэй гэрлийн нөхцөлд тохиромжгүй юм. Би хашлагын дээд талд гэрэл резистор нэмж, орчны гэрлийн нөхцөлд үндэслэн 7 сегментийн гэрлийг тохируулахыг хүсч байна.
- Суурь хагарахтай холбоотой дизайны жижиг асуудлууд байдаг бөгөөд үүнийг засах болно.
- Аливаа санааг хүлээж авах боломжтой.
Энэхүү зааварчилгаа танд таалагдсан бөгөөд танд урам зориг өгсөн гэж найдаж байна. Гол санаа нь та өөрийн санаагаа нэмэхийн тулд ашиглаж болох платформоор хангах явдал юм. Хөгжилтэй байгаарай!
Зөвлөмж болгож буй:
ESP8266 ашиглан интернетээс цаг авах - ESP8266 Nodemcu бүхий NTP цагны төсөл: 5 алхам

ESP8266 ашиглан интернетээс цаг авах | ESP8266 Nodemcu -тэй NTP цагны төсөл: Энэхүү гарын авлагад бид Arduino IDE -тэй ESP8266/nodemcu -ийг хэрхэн ашиглах талаар олж мэдэх болно. Цаг авах нь өгөгдлийг бүртгэхэд уншилтынхаа цагийг тэмдэглэхэд тустай байдаг. Хэрэв таны ESP8266 төсөл интернетэд холбогдсон бол та сүлжээний T -ийг ашиглан цаг авах боломжтой
Infometon XMC4700 RelaxKit, Infineon DPS422 ба AWS ашиглан барометрийн даралт ба температурыг дүрслэн харуулах: 8 алхам

Infometon XMC4700 RelaxKit, Infineon DPS422 болон AWS -ийг ашиглан барометрийн даралт ба температурыг дүрслэн харуулах: Infineon -ийн DPS 422 -ийг ашиглан барометрийн даралт, температурыг хэмжих энгийн төсөл юм. Хэсэг хугацааны турш даралт, температурыг хянах нь болхи болдог. Энд аналитик зураг харагдаж байна, өөрчлөлтийн талаархи ойлголт
Стратосферийн бөмбөлөгт электрон барометрийн альтиметр: 9 алхам (зурагтай)

Стратосферийн бөмбөлөгт электрон барометрийн альтиметр: Манай баг RandomRace.ru гелийн бөмбөлөг хөөргөв. Жижиг, том, камертай, камергүй. Бид адал явдалт уралдаан тэмцээний шалган нэвтрүүлэх цэгүүдийг санамсаргүйгээр хаях жижигхэн төхөөрөмжүүдийг нээж, том цэгүүдийг атмосын дээд хэсгээс гайхалтай видео, зураг авах зорилгоор эхлүүлдэг
Microdot - Бугуйн бугуйн цагны LED загварын цаг: 7 алхам (зурагтай)

Microdot - Бугуйн бугуйн цагны LED загварын цаг: RGB Sunset Productions -ийн өөр нэг үйлдвэрлэл! Энэхүү төсөл нь миний минидот цагны бугуйн цагны хэмжээтэй хувилбарыг хийх хэлхээний самбар юм. Зөөврийн төхөөрөмжид илүү тохиромжтой функцууд. А
Hermle Quartz 1217 цагны хөдөлгөөнд цаг тохируулах: 4 алхам

Hermle Quartz 1217 цагны хөдөлгөөнийг тохируулах цаг: Би нөмрөгийнхөө цагийг тохируулах зааврыг онлайнаар олж чадаагүй тул өөрөө өөрийгөө олж мэдсэнийхээ дараа энэ цагийг эзэмших боломжтой бусад хүмүүст олж мэдсэн зүйлээ хуваалцъя гэж бодлоо