Mündəricat:

Raspberry Pi Barometrli Hava Saatı: 9 Addım (Şəkillərlə birlikdə)
Raspberry Pi Barometrli Hava Saatı: 9 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Barometrli Hava Saatı: 9 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Barometrli Hava Saatı: 9 Addım (Şəkillərlə birlikdə)
Video: Pico 10DOF IMU — гироскоп, акселерометр, барометр и магнетометр для Raspberry Pi Pico от Waveshare 2024, Noyabr
Anonim
Raspberry Pi Barometrli Hava Saatı
Raspberry Pi Barometrli Hava Saatı

Bu təlimatda sizə Adafruit 4 rəqəmli 7 seqmentli I2C ekranda görünən BMP180 I2C sensoru olan Raspberry Pi 2 istifadə edərək əsas Termometr / Barometr saatının necə qurulacağını göstərəcəyəm. Pi, eyni zamanda Pi yenidən başladıqda vaxtı saxlamaq üçün DS3231 real vaxt I2C saat modulundan istifadə edir.

Saat hər biri 5 saniyə ərzində 4 mərhələdən keçir. Əvvəlcə Celsiusdakı temperaturu, sonra Fahrenheitdə sonra barometrik təzyiqi kPa *ilə göstərir (rəqəmlərin məhdud olması səbəbindən bu rəqəm sola doğru gedir) və nəhayət indiki və orta əvvəlki saat.

Bu saatı ən çox fərqləndirən cəhət, hər dəqiqə BMP180 -dən məlumatları qeyd etmək üçün Pi -də MySQL verilənlər bazasından istifadə etməsidir. Mövcud barometrik təzyiq, müəyyən bir müddət ərzində yuxarı və ya aşağı hərəkəti qədər dəyərli olmadığından, bu verilənlər bazasından istifadə edərək, 2 saat ilə 1 saat arasındakı bir saat aralığının ortalamasını hesablayır və bunu indiki təzyiqlə müqayisə edir. Barometrik təzyiqin əhəmiyyətli dərəcədə artması ümumiyyətlə hava şəraitinin yaxşılaşdığını göstərir və böyük bir düşmə yaxınlaşan bir fırtına barədə xəbərdarlıq edə bilər.

Saatda, Pi tərəfindən istehsal olunan istiliyin temperatur göstəricilərinə təsir etməməsi üçün saatın arxasındakı havalandırılmış qapaqlı BMP180 ilə 3D çaplı ABS korpusunda yerləşdirilmişdir. Özünüzü çap etmək istəyirsinizsə, Autodesk 123D Dizayn sxemini təqdim edəcəyəm.

Saat standart bir USB divar siğili ilə təchiz edilmişdir və cəmi 450 mA çəkir.

Pi və I2C -nin əsas quruluşu haqqında çox təfərrüata girməyəcəyəm, çünki bu, bağlantılar verəcəyim bir çox digər təlimatlarda əhatə olunmuşdur.

Addım 1: Pi hazırlayın

Pi hazırlayın
Pi hazırlayın

Raspberrypi -də ətraflı məlumat üçün Raspberry Pi qurun

  1. Seçdiyiniz Linux Dağıtımını bir SD karta yükləyin və quraşdırın - Raspbian istifadə etdim
  2. Pi'yi qoşun və yükləyin
  3. Saat korpusu Ethernet portunu örtdüyü üçün pi -ni routerimə bağlamaq üçün mikro WiFi adapterindən istifadə etdim.
  4. SSH istifadə edərək pi -yə qoşulduğunuz başsız rejimdən istifadə etdim, buna görə ehtiyacınız olan tək şey gücdür.
  5. I2C -ni Pi -də konfiqurasiya edin - Adafruit saytında bu təlimatları izlədim.

Addım 2: Hər şeyi bağlayın

Hamısını Tel Edin
Hamısını Tel Edin

Bu layihədə istifadə etdiyim bütün modullar 5V -ə dözümlüdür və IC -lərin bir -biri ilə ünsiyyət qurması üçün istifadə olunan 2 telli protokol olan I2C -dən istifadə edir, buna görə də naqillər olduqca sadədir. Bütün VCC -ni 5V -ə, bütün Zəminləri birlikdə və bütün SCA və SCL xətlərini sxemə uyğun olaraq birləşdirin. İş bitdi.

Addım 3: I2C -ni sınayın

I2C -ni sınayın
I2C -ni sınayın

I2C qurğusunun bir hissəsi, hər şey düzgün bir şəkildə bağlandığı təqdirdə əlavə edilmiş şəklə bənzər i2cdetect'i işə salmaqdır.

Aşağıda uyğun ünvanlar var

  1. 0x70 = 7 Segment Ekranı
  2. 0x77 = BMP180 Termometr / Barometr sensoru
  3. 0x68 = DS3231 Real Time Clock modulu
  4. 0x57 = həyəcan məlumatlarının saxlanması üçün EEPROM göyərtəsində DS3231.

Addım 4: MySQL və PhpMyAdmin qurun

MySQL və PhpMyAdmin qurun
MySQL və PhpMyAdmin qurun

Buradakı təlimatı izləsəniz, mySQL -in qurulması olduqca sadədir

sudo apt-get mysql-server qurun

MySQL verilənlər bazası yaratmaq və idarə etmək üçün istifadə edə biləcəyiniz Apache -də işləyən bir veb sayt olan phpMyAdmin də quraşdırdım. Dərslik burada

sudo apt-get phpmyadmin quraşdırın

Quraşdırıldıqdan sonra görüntüyə görə quruluşa malik phpMyAdmin istifadə edərək BP180 adlı bir verilənlər bazası qurdum.

İstifadə edərək quraşdıra biləcəyiniz mysqlDB adlı bir python modulundan da istifadə edirəm

sudo apt-get python-mysqldb quraşdırın

Addım 5: Python Modullarını quraşdırın

Sensorlara qoşulmaq üçün istifadə edəcəyiniz aşağıdakı python modullarını yükləyin və quraşdırın.

  1. Adafruit_BMP085 modulu
  2. SDL_DS3231 modulu
  3. Adafruit 7 Segment modulu

Addım 6: Veritabanına daxil olmaq üçün kod

Aşağıdakı kod parçası temperaturu və barometrik təzyiqi qeyd etmək üçün istifadə olunur və hər 5 dəqiqədə bir işləyən bir cron skriptindən (Linux planlı vəzifələri) çağırılır. Crond istifadə etməyi öyrənmək üçün bu təlimata baxın.

NB! Kodlaşdırma bacarıqlarımı zibilliyə salmayın, mən geliştirici deyiləm, bəli, bunu etmək üçün bir milyon daha yaxşı, daha sürətli, daha hamar və daha təmiz yollar var

Kodda, temperaturun 7 dərəcə azaldığını görürsünüz, hətta korpusun kənarına quraşdırılmış BMP180 ilə birlikdə Raspberry Pi tərəfindən istehsal olunan istiliyə bərabərdir. Əvvəlcə onu korpusun içərisində saxladığımda ətraf mühitdən təxminən 15 dərəcə isti idi. Çox xətti görünür, amma heç bir həddi sınamaq imkanım olmadı. Təcrübələrinizin rəyləri təqdir ediləcəkdir.

Addım 7: İstiliyi Göstərmək üçün Kod

İstiliyi Göstərmək üçün Kod
İstiliyi Göstərmək üçün Kod
İstiliyi Göstərmək üçün Kod
İstiliyi Göstərmək üçün Kod
İstiliyi Göstərmək üçün Kod
İstiliyi Göstərmək üçün Kod
İstiliyi Göstərmək üçün Kod
İstiliyi Göstərmək üçün Kod

Bu kod, girişə uyğun olaraq ekranda keçmək adlanır.

Yenə də geliştirici deyiləm, buna görə kod həqiqətən kobuddur, amma işləyir

Addım 8: 3D Çaplı Kassa

3D çaplı korpus
3D çaplı korpus
3D çaplı korpus
3D çaplı korpus
3D çaplı korpus
3D çaplı korpus
3D çaplı korpus
3D çaplı korpus

Sonrakı, korpusun dizaynıdır. Xarici qabığın hissələri cəmi 2 mm qalınlığa malik olduğundan forma əyilməyə meylli olduğu üçün bu olduqca çətin idi. Əvvəlcə Pi -nin və bütün hissələrinin maketlərini çəkdim və sonra ətrafındakı mühiti dizayn etdim. Çap 0.25 qat dərinlikdə olan RapMan 3.2 -də (olduqca yavaş bir printerdir) təxminən 7 saat çəkdi.

Əlavə edilmiş sxem, fantastik bir pulsuz proqram parçası olduğunu düşündüyüm Autodesk 123D Dizaynında hazırlanmışdır.

Diqqət yetirin ki, Pi -ni quraşdırmaq üçün lazım olan deliklər dizaynda deyil, çünki çapınız bir az əyilərsə bunları sonradan qazmaq daha yaxşıdır. Davamlı bir ələ ehtiyacınız olan 3 mm -lik bir qazma ucu. Təsadüfən mənim kimi 7 saatlıq çapdan keçməməyiniz üçün dərinliyi bir qədər maskalanan lentlə qeyd edin.

Addım 9: Ediləcək işlər

Etməli şeylər
Etməli şeylər
  1. Real vaxt saatı, korpus 5-ci dəfə çap edildikdən sonra bir əlavə idi, buna görə də hal-hazırda yaxşı görünməyən korpusun yan tərəfinə yapışdırılır, buna görə dizaynı yenidən etmək və bunun üçün bir yer əlavə etmək istərdim.
  2. 7 seqmentli ekranın parlaqlığı hazırda ən işıqlı olaraq qurulub ki, bu da güclü işıq şəraiti üçün optimal deyil. Qutunun üstünə bir fotoşəkil rezistoru əlavə etmək və ətraf işıq şəraitinə əsasən 7 seqment parlaqlığını tənzimləmək istərdim.
  3. Baza çatlaması ilə əlaqədar bəzi kiçik dizayn problemləri var ki, bunlar da həll olunacaq.
  4. Hər hansı bir fikir xoş gəlir.

Ümid edirəm ki, bu dərsdən zövq aldınız və sizi yola salacaq qədər ilham verici buldunuz. Fikir, öz fikirlərinizi əlavə etmək üçün istifadə edə biləcəyiniz bir platforma təmin etməkdir. Əylənin!

Tövsiyə: