Satura rādītājs:
- 1. darbība: sagatavojiet Pi
- 2. solis: visu pieslēdziet vadam
- 3. darbība: pārbaudiet savu I2C
- 4. darbība: instalējiet MySQL un PhpMyAdmin
- 5. darbība: instalējiet Python moduļus
- 6. darbība: kods, lai reģistrētos datu bāzē
- 7. solis: koda rādīšanas temperatūra
- 8. solis: 3D drukāts korpuss
- 9. solis: lietas, kas jādara
Video: Raspberry Pi barometra laika pulkstenis: 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Šajā pamācībā es jums parādīšu, kā izveidot pamata termometra / barometra pulksteni, izmantojot Raspberry Pi 2 ar BMP180 I2C sensoru, kas tiek parādīts Adafruit 4 ciparu 7 segmenta I2C displejā. Pi izmanto arī DS3231 reālā laika I2C pulksteņa moduli, lai saglabātu laiku, kad Pi tiek restartēts.
Pulkstenis darbojas 4 posmos 5 sekundes. Vispirms tas parāda temperatūru Celsija grādos, pēc tam Fārenheitā, tad barometrisko spiedienu kPa *(ierobežoto ciparu skaita dēļ šis skaitlis iet pa kreisi) un, visbeidzot, parāda barometriskā spiediena izmaiņu tendenci no šī brīža līdz vidējam iepriekšējā stunda.
Šis pulkstenis atšķiras no vairuma ar to, ka tas izmanto MySQL datu bāzi Pi, lai katru minūti reģistrētu datus no BMP180. Tā kā pašreizējais barometriskais spiediens nav tik vērtīgs kā tā kustība uz augšu vai uz leju noteiktā laika periodā, tā izmanto šo datu bāzi, lai aprēķinātu vidējo stundas intervālu no 2 stundām līdz 1 stundai un salīdzinātu to ar pašreizējo spiedienu. Ievērojams barometriskā spiediena pieaugums parasti liecināja par laika apstākļu uzlabošanos, bet liels kritums varētu brīdināt par gaidāmo vētru.
Pulkstenis ir ievietots 3D drukātā ABS korpusā ar BMP180 ventilējamā vāciņā pulksteņa aizmugurē, lai novērstu Pi radītā siltuma ietekmi uz temperatūras rādījumiem. Es sniegšu Autodesk 123D Design shēmu, ja vēlaties izdrukāt savu.
Pulkstenis tiek darbināts ar standarta USB sienas kārpu, un tas kopā patērē aptuveni 450 mA.
Es pārāk bieži neiedziļināšos Pi un I2C pamata iestatījumos, jo tas ir aprakstīts daudzās citās pamācībās, uz kurām es sniegšu saites.
1. darbība: sagatavojiet Pi
Iestatiet savu Raspberry Pi - sīkāku informāciju vietnē Raspberrypi.org
- Lejupielādējiet un instalējiet izvēlēto Linux izplatīšanu SD kartē - es izmantoju Raspbian
- Pievienojiet pi un ielādējiet to
- Es izmantoju mikro WiFi adapteri, lai savienotu pi ar savu maršrutētāju, jo pulksteņa korpuss aizsedz Ethernet portu.
- Es izmantoju bezgalvaino režīmu, kur izveidojat savienojumu ar pi, izmantojot SSH, tāpēc viss, kas jums nepieciešams, ir pievienots elektrībai.
- Konfigurējiet I2C Pi - es sekoju šiem norādījumiem Adafruit vietnē.
2. solis: visu pieslēdziet vadam
Visi moduļi, kurus es izmantoju šajā projektā, ir izturīgi pret 5 V spriegumu un izmanto I2C, kas ir divu vadu protokols, ko izmanto IC, lai sazinātos savā starpā, tāpēc elektroinstalācija ir diezgan vienkārša. Savienojiet visu VCC ar 5 V, visu zemējumu kopā un visas SCA un SCL līnijas kopā saskaņā ar shēmu. Darbs padarīts.
3. darbība: pārbaudiet savu I2C
Daļa no I2C instalācijas ir palaist i2cdetect, kam vajadzētu izskatīties kā pievienotajam attēlam, ja viss ir pareizi savienots.
Tālāk ir norādītas atbilstošās adreses
- 0x70 = 7 segmentu displejs
- 0x77 = BMP180 termometra / barometra sensors
- 0x68 = DS3231 Reālā laika pulksteņa modulis
- 0x57 = DS3231 borta EEPROM trauksmes datu glabāšanai.
4. darbība: instalējiet MySQL un PhpMyAdmin
MySQL instalēšana ir diezgan vienkārša, ja sekojat apmācībai šeit
sudo apt-get install mysql-server
Es arī instalēju phpMyAdmin, kas ir vietne, kas darbojas Apache un kuru varat izmantot, lai izveidotu un pārvaldītu mySQL datu bāzes. Apmācība šeit
sudo apt-get instalēt phpmyadmin
Pēc instalēšanas es izveidoju datu bāzi ar nosaukumu BP180, izmantojot phpMyAdmin ar struktūru atbilstoši attēlam.
Es arī izmantoju python moduli ar nosaukumu mysqlDB, kuru varat instalēt, izmantojot
sudo apt-get install python-mysqldb
5. darbība: instalējiet Python moduļus
Lejupielādējiet un instalējiet tālāk norādītos python moduļus, kurus izmantosit, lai izveidotu savienojumu ar sensoriem.
- Adafruit_BMP085 modulis
- SDL_DS3231 modulis
- Adafruit 7 segmenta modulis
6. darbība: kods, lai reģistrētos datu bāzē
Zemāk redzamais koda fragments tiek izmantots, lai reģistrētu temperatūru un barometrisko spiedienu, un tas tiek izsaukts no cron skripta (Linux plānotie uzdevumi), kas darbojas ik pēc 5 minūtēm. Lai uzzinātu, kā izmantot crond, skatiet šo apmācību.
NB! Neuztraucieties izmest savas kodēšanas prasmes, es neesmu izstrādātājs, tāpēc jā, iespējams, ir miljons labāku, ātrāku, gludāku un tīrāku veidu, kā to izdarīt
Kodā jūs pamanīsit, ka temperatūra tiek samazināta par 7 grādiem, kas ir līdzvērtīgs Raspberry Pi radītajam siltumam, pat ja BMP180 ir uzstādīts uz korpusa ārpuses. Kad man sākotnēji tas bija korpusā, tas bija par 15 grādiem karstāks nekā apkārtējais. Šķiet, ka tas ir diezgan lineārs, bet man nav bijusi iespēja pārbaudīt galējības. Atsauksmes par jūsu pieredzi būtu pateicīgas.
7. solis: koda rādīšanas temperatūra
Šis kods tiek aicināts pārvietoties displejā saskaņā ar ievadu.
Atkal es neesmu izstrādātājs, tāpēc kods ir patiešām aptuvens, bet tas darbojas
8. solis: 3D drukāts korpuss
Nākamais ir korpusa dizains. Tas bija diezgan izaicinoši, jo forma ir pakļauta deformācijai, jo ārējā apvalka daļas ir tikai 2 mm biezas. Vispirms uzzīmēju Pi un visu detaļu maketus un pēc tam izveidoju korpusu ap to. Manā RapMan 3.2 (kas ir diezgan lēns printeris) drukāšana aizņēma apmēram 7 stundas 0,25 slāņa dziļumā.
Pievienotā shēma ir veidota Autodesk 123D Design, kas, manuprāt, ir fantastiska bezmaksas programmatūras daļa.
Ņemiet vērā, ka daži caurumi, piemēram, tie, kas nepieciešami Pi montāžai, nav iekļauti dizainā, jo labāk tos vēlāk urbt, ja drukāšana nedaudz deformējas. Nepieciešama stabila roka ar 3 mm urbi. Atzīmējiet uzgaļa dziļumu ar kādu maskēšanas lenti, lai nejauši neizietu taisni caur 7 stundu izdruku, kā es to darīju.
9. solis: lietas, kas jādara
- Reālā laika pulkstenis bija papildinājums pēc tam, kad korpuss tika izdrukāts piekto reizi, tāpēc tas pašlaik ir karsti pielīmēts pie korpusa sāniem, kas neizskatās labi, tāpēc es vēlētos vēlreiz noformēt dizainu un pievienot tam vietu.
- 7 segmentu displeja spilgtums pašlaik ir iestatīts uz vieglāko, kas nav optimāls spēcīgam apgaismojumam. Es vēlos korpusa augšpusē pievienot foto rezistoru un pielāgot 7 segmenta spilgtumu, ņemot vērā apkārtējās gaismas apstākļus.
- Ar pamatnes plaisāšanu ir dažas nelielas dizaina problēmas, kuras arī tiks novērstas.
- Jebkuras idejas ir laipni gaidītas.
Es ceru, ka jums patika šī pamācība un jūs atradāt to pietiekami iedvesmojošu, lai jūs turpinātu. Ideja ir nodrošināt platformu, kuru varat izmantot, lai pievienotu savas idejas. Izklaidējieties!
Ieteicams:
Plūdmaiņu un laika pulkstenis: 9 soļi (ar attēliem)
Plūdmaiņu un laika pulksteņi: Lai gan jūs varat iegādāties analogus plūdmaiņu pulksteņus ar vienu roku, kas norāda, vai plūdmaiņa ir augsta vai zema, vai kaut kur pa vidu, tas, ko es gribēju, man pateiks, kad būs plūdmaiņa. Es gribēju kaut ko, uz ko varētu paskatīties uz q
Tīkla laika digitālais pulkstenis, izmantojot ESP8266: 4 soļi (ar attēliem)
Tīkla laika digitālais pulkstenis, izmantojot ESP8266: Mēs uzzinām, kā izveidot jauku mazu ciparu pulksteni, kas sazinās ar NTP serveriem un parāda tīkla vai interneta laiku. Mēs izmantojam WeMos D1 mini, lai izveidotu savienojumu ar WiFi tīklu, iegūtu NTP laiku un parādītu to OLED modulī. Iepriekš redzamais video
WiFi pulkstenis, taimeris un laika stacija, kontrolēta Blynk: 5 soļi (ar attēliem)
WiFi pulkstenis, taimeris un laika stacija, kontrolēts Blynk: Šis ir Morphing digitālais pulkstenis (pateicoties Hari Wiguna par koncepciju un morfēšanas kodu), tas ir arī analogs pulkstenis, laika ziņošanas stacija un virtuves taimeris. To pilnībā kontrolē Blynk lietotne viedtālrunī, izmantojot WiFi. Lietotne ļauj
Laika stacija ar Arduino, BME280 un displeju, lai redzētu tendenci pēdējo 1-2 dienu laikā: 3 soļi (ar attēliem)
Laika stacijas ar Arduino, BME280 un displeju, lai redzētu tendenci pēdējo 1-2 dienu laikā: Sveiki! Šeit ir norādījumi par laika apstākļiem, kas jau ir ieviesti. Tie parāda pašreizējo gaisa spiedienu, temperatūru un mitrumu. Līdz šim viņiem trūka kursa prezentācijas pēdējo 1-2 dienu laikā. Šim procesam būtu
Laika zobrats un ķēdes pulkstenis - gandrīz bez maksas!: 5 soļi (ar attēliem)
Laika pārnesums un ķēdes pulkstenis - gandrīz bez maksas! Cerams, ka, mainot automašīnas laika iestatījumu komplektu, jūs nemētājāt vecos pārnesumus un ķēdi. Es gandrīz to darīju, bet sieva man parādīja šo: http://www.uncommongoods.com/product/auto-timing-chain-and-gears-wall-clock 125 USD ASV plus piegāde.