Sisukord:

Vaarika Pi baromeetri ilmakell: 9 sammu (koos piltidega)
Vaarika Pi baromeetri ilmakell: 9 sammu (koos piltidega)

Video: Vaarika Pi baromeetri ilmakell: 9 sammu (koos piltidega)

Video: Vaarika Pi baromeetri ilmakell: 9 sammu (koos piltidega)
Video: Микроконтроллер: RP2040 Raspberry Pi Pico Часть 1 Начало работы с Micropython в PyCharm и Thonny IDE 2024, November
Anonim
Vaarika Pi baromeetri ilmakell
Vaarika Pi baromeetri ilmakell

Selles juhendis näitan teile, kuidas luua põhiline termomeetri / baromeetri kell, kasutades Raspberry Pi 2 koos BMP180 I2C anduriga, mis kuvatakse Adafruit 4 -kohalisel 7 -segmendilisel I2C -ekraanil. Pi kasutab ka DS3231 reaalajas I2C kella moodulit, et hoida aega Pi taaskäivitamisel.

Kell pöörleb 4 etappi 5 sekundit. Esiteks näitab see temperatuuri Celsiuse järgi, seejärel Fahrenheiti järgi, siis õhurõhku kPa *(see arv liigub piiratud arvu numbrite tõttu vasakule) ja lõpuks näitab see õhurõhu muutumise suundumust praeguse ja keskmise eelmine tund.

Enamiku jaoks teeb selle kella eriliseks see, et see kasutab PiP -s MySQL -i andmebaasi, et logida andmeid iga minut BMP180 -st. Kuna praegune õhurõhk ei ole nii väärtuslik kui selle liikumine teatud aja jooksul üles või alla, kasutab ta seda andmebaasi, et arvutada 2 -tunnise ajavahemiku keskmine tund ja võrrelda seda praeguse rõhuga. Baromeetrilise rõhu märkimisväärne tõus näitas tavaliselt ilmastikutingimuste paranemist, kuid suur langus võib hoiatada eelseisva tormi eest.

Kell on paigutatud 3D -trükitud ABS -korpusesse, mille BMP180 on kella tagaküljel asuva ventileeritava korgiga, et vältida Pi tekitatud soojuse temperatuuri näitu. Kui soovite ise printida, esitan Autodesk 123D Design skeemi.

Kella toiteallikaks on tavaline USB -tüügas ja see võtab kokku umbes 450 mA.

Ma ei hakka Pi ja I2C põhiseadistuste osas liiga palju üksikasju kirjeldama, kuna seda on käsitletud paljudes muudes juhendites, millele ma linke annan.

Samm: valmistage Pi ette

Valmistage Pi ette
Valmistage Pi ette

Seadistage oma Raspberry Pi - üksikasjad aadressil Raspberrypi.org

  1. Laadige alla ja installige valitud Linuxi distributsioon SD -kaardile - ma kasutasin Raspbiani
  2. Ühendage pi ja ühendage see
  3. Kasutasin pi ühendamiseks ruuteriga mikro WiFi -adapterit, kuna kella korpus varjab Etherneti pordi.
  4. Ma kasutasin peata režiimi, kus ühendate pi abil SSH -ga, nii et kõik, mida vajate, on ühendatud.
  5. Seadistage I2C Pi -s - järgisin neid juhiseid Adafruit'i saidil.

2. samm: ühendage see kõik kokku

Juhtme see kõik üles
Juhtme see kõik üles

Kõik selles projektis kasutatavad moodulid on 5 V tolerantsed ja kasutavad I2C, mis on 2 -juhtmeline protokoll, mida kasutatakse IC -de vaheliseks suhtlemiseks, seega on juhtmestik üsna lihtne. Ühendage kõik VCC 5 V -ga, kõik maandused kokku ja kõik SCA- ja SCL -liinid vastavalt skeemile. Töö tehtud.

Samm: testige oma I2C -d

Testi oma I2C
Testi oma I2C

Osa I2C installist on käivitada i2cdetect, mis peaks välja nägema nagu lisatud pilt, kui kõik on õigesti ühendatud.

Allpool on toodud sobivad aadressid

  1. 0x70 = 7 segmendi kuva
  2. 0x77 = BMP180 termomeetri / baromeetri andur
  3. 0x68 = DS3231 reaalajas kella moodul
  4. 0x57 = DS3231 pardal EEPROM häireandmete salvestamiseks.

Samm: installige MySQL ja PhpMyAdmin

Installige MySQL ja PhpMyAdmin
Installige MySQL ja PhpMyAdmin

MySQL -i installimine on üsna lihtne, kui järgite siin õpetust

sudo apt-get install mysql-server

Samuti installisin phpMyAdmini, mis on Apache'is töötav veebisait, mida saate kasutada mySQL -i andmebaaside loomiseks ja haldamiseks. Õpetus siin

sudo apt-get install phpmyadmin

Pärast installimist seadistasin andmebaasi nimega BP180, kasutades phpMyAdmini, mille struktuur vastab pildile.

Kasutan ka pythoni moodulit nimega mysqlDB, mille saate installida

sudo apt-get install python-mysqldb

Samm: installige Pythoni moodulid

Laadige alla ja installige allpool olevad pythoni moodulid, mida kasutate anduritega ühendamiseks.

  1. Adafruit_BMP085 moodul
  2. SDL_DS3231 moodul
  3. Adafruit 7 segmendi moodul

Samm: andmebaasi logimiseks kood

Allolevat koodilõiku kasutatakse temperatuuri ja õhurõhu registreerimiseks ning seda kutsutakse cron -skripti (Linuxi ajastatud ülesanded) abil, mis töötab iga 5 minuti järel. Crondi kasutamise õppimiseks vaadake seda õpetust.

NB! Ärge viitsige oma kodeerimisoskusi prügikasti visata, ma ei ole arendaja, nii et jah, selleks on ilmselt miljon paremat, kiiremat, sujuvamat ja puhtamat viisi

Märkate koodis, et temperatuuri vähendatakse 7 kraadi võrra, mis on samaväärne Raspberry Pi tekitatud soojusega isegi siis, kui BMP180 on paigaldatud korpuse välisküljele. Kui mul oli see algselt korpuse sees, oli see umbes 15 kraadi kuumem kui ümbritsev. Tundub, et see on üsna lineaarne, kuid mul pole olnud võimalust katsetada ühtegi äärmust. Tagasiside teie kogemustele oleks teretulnud.

Samm 7: koodi kuvamise temp

Kood kuvamise temp
Kood kuvamise temp
Kood kuvamise temp
Kood kuvamise temp
Kood kuvamise temp
Kood kuvamise temp
Kood kuvamise temp
Kood kuvamise temp

Seda koodi kutsutakse sissejuhatuse kohaselt ekraanil ringi liikuma.

Jällegi, ma ei ole arendaja, nii et kood on tõesti karm, kuid see töötab

8. samm: 3D -prinditud ümbris

3D trükitud ümbris
3D trükitud ümbris
3D trükitud ümbris
3D trükitud ümbris
3D trükitud ümbris
3D trükitud ümbris
3D trükitud ümbris
3D trükitud ümbris

Järgmine on korpuse disain. See oli üsna keeruline, kuna kuju kaldub väänduma, kuna väliskesta osad on vaid 2 mm paksused. Joonistasin esmalt Pi ja kõigi osade maketid ning kujundasin seejärel ümbrise selle ümber. Minu RapMan 3.2 (mis on üsna aeglane printer) printimisel kulus 0,25 kihi sügavusel umbes 7 tundi.

Lisatud skeem on tehtud Autodesk 123D Designis, mis on minu arvates fantastiline tasuta tarkvara.

Pange tähele, et mõned augud, nagu need, mis on vajalikud Pi paigaldamiseks, ei ole kujunduses, sest parem on need hiljem puurida, juhuks kui teie trükk pisut väändub. Püsiv käsi ja 3 mm puur on kõik, mida vajate. Märkige biti sügavus mõne kleeplindiga, et te kogemata oma 7 -tunnise trükiga otse läbi ei läheks nagu mina.

9. samm: asjad, mida teha

Mida teha
Mida teha
  1. Reaalajas kell oli täiendus pärast korpuse viiendat trükkimist, nii et see on praegu kuumalt liimitud korpuse küljele, mis ei näe hea välja, nii et sooviksin disaini uuesti teha ja selle jaoks koha lisada.
  2. Seitsme segmendi ekraani heledus on praegu kõige heledam, mis pole optimaalne tugevate valgustingimuste jaoks. Tahaksin korpuse ülaossa lisada fototakisti ja reguleerida 7 segmendi heledust vastavalt ümbritsevatele valgustingimustele.
  3. Aluse pragunemisel on mõned väikesed disainiprobleemid, mis samuti parandatakse.
  4. Igasugused ideed on teretulnud.

Loodan, et teile meeldis see juhendamine ja leidsite, et see on piisavalt inspireeriv, et teid edasi liikuda. Idee on pakkuda platvormi, mille abil saate oma ideid lisada. Lõbutse hästi!

Soovitan: