Turinys:

„Raspberry Pi“barometro oro laikrodis: 9 žingsniai (su nuotraukomis)
„Raspberry Pi“barometro oro laikrodis: 9 žingsniai (su nuotraukomis)

Video: „Raspberry Pi“barometro oro laikrodis: 9 žingsniai (su nuotraukomis)

Video: „Raspberry Pi“barometro oro laikrodis: 9 žingsniai (su nuotraukomis)
Video: El smartwatch gama alta más completo | Samsung Galaxy Watch review en español 2024, Liepa
Anonim
„Raspberry Pi“barometro orų laikrodis
„Raspberry Pi“barometro orų laikrodis

Šioje pamokoje parodysiu, kaip sukurti pagrindinį termometro / barometro laikrodį naudojant „Raspberry Pi 2“su BMP180 I2C jutikliu, rodomu „Adafruit“4 skaitmenų 7 segmentų I2C ekrane. „Pi“taip pat naudoja DS3231 realaus laiko I2C laikrodžio modulį, kad išlaikytų laiką, kai „Pi“paleidžiamas iš naujo.

Laikrodis eina per 4 etapus po 5 sekundes. Pirmiausia ji rodo temperatūrą Celsijaus laipsniais, tada Farenheito laipsniu, tada barometrinį slėgį kPa *(šis skaičius eina į kairę dėl riboto skaitmenų skaičiaus) ir galiausiai parodo barometrinio slėgio kitimo tendenciją nuo dabar iki vidutinio praėjusią valandą.

Šis laikrodis daugeliui skiriasi tuo, kad jis naudoja „MySQL“duomenų bazę „Pi“, kad kas minutę registruotų duomenis iš BMP180. Kadangi dabartinis barometrinis slėgis nėra toks vertingas, kaip jo judėjimas aukštyn arba žemyn per tam tikrą laikotarpį, ji naudoja šią duomenų bazę, kad apskaičiuotų valandos vidurkį nuo 2 valandų iki 1 valandos ir palygintų jį su dabartiniu slėgiu. Žymus barometrinio slėgio padidėjimas paprastai rodo oro sąlygų pagerėjimą, o didelis kritimas gali įspėti apie artėjančią audrą.

Laikrodis sumontuotas 3D atspausdintame ABS korpuse, o BMP180 - ventiliuojamame dangtelyje laikrodžio gale, kad Pi generuojama šiluma nepaveiktų temperatūros rodmenų. Pateikiu „Autodesk 123D Design“schemą, jei norite atspausdinti savo.

Laikrodis maitinamas naudojant standartinę USB sieninę karpą ir iš viso sunaudoja apie 450 mA.

Nenoriu per daug išsamiai susipažinti su pagrindine „Pi“ir „I2C“sąranka, nes tai buvo aprašyta daugelyje kitų instrukcijų, į kurias pateiksiu nuorodas.

1 žingsnis: Paruoškite „Pi“

Paruoškite Pi
Paruoškite Pi

Nustatykite „Raspberry Pi“- išsami informacija Raspberrypi.org

  1. Atsisiųskite ir įdiekite pasirinktą „Linux Distribution“į SD kortelę - aš naudoju „Raspbian“
  2. Prijunkite „pi“ir paleiskite
  3. Aš prijungiau „micro WiFi“adapterį, kad prijungčiau „pi“prie savo maršrutizatoriaus, nes laikrodžio korpusas uždengia „Ethernet“prievadą.
  4. Aš naudoju režimą be galvos, kai prisijungiate prie pi naudodami SSH, todėl viskas, ko jums reikia prijungti, yra maitinimas.
  5. Konfigūruokite „I2C“„Pi“- laikiausi šių nurodymų „Adafruit“svetainėje.

2 žingsnis: prijunkite viską

Sujunkite viską
Sujunkite viską

Visi šiame projekte naudojami moduliai yra atsparūs 5 V įtampai ir naudoja I2C, kuris yra 2 laidų protokolas, naudojamas IC bendrauti tarpusavyje, todėl laidai yra gana paprasti. Prijunkite visus VCC prie 5 V, visus įžeminimus kartu ir visas SCA ir SCL linijas kartu, kaip nurodyta schemoje. Darbas atliktas.

3 žingsnis: išbandykite savo I2C

Išbandykite savo I2C
Išbandykite savo I2C

„I2C“diegimo dalis yra paleisti „i2cdetect“, kuris turėtų atrodyti kaip pridėtas vaizdas, jei viskas bus tinkamai prijungta.

Žemiau yra atitinkami adresai

  1. 0x70 = 7 segmentų ekranas
  2. 0x77 = BMP180 termometro / barometro jutiklis
  3. 0x68 = DS3231 realaus laiko laikrodžio modulis
  4. 0x57 = DS3231, esantis EEPROM, skirtas aliarmo duomenims saugoti.

4 veiksmas: įdiekite „MySQL“ir „PhpMyAdmin“

Įdiekite „MySQL“ir „PhpMyAdmin“
Įdiekite „MySQL“ir „PhpMyAdmin“

„MySQL“diegimas yra gana paprastas, jei laikotės čia pateiktos pamokos

sudo apt-get install mysql-server

Taip pat įdiegiau „phpMyAdmin“- tai svetainė, veikianti „Apache“, kurią galite naudoti kurdami ir valdydami „MySQL“duomenų bazes. Pamoka čia

sudo apt-get install phpmyadmin

Įdiegęs sukūriau duomenų bazę BP180, naudodamas „phpMyAdmin“, kurio struktūra atitinka vaizdą.

Aš taip pat naudoju „python“modulį, vadinamą „mysqlDB“, kurį galite įdiegti naudodami

sudo apt-get install python-mysqldb

5 veiksmas: įdiekite „Python“modulius

Atsisiųskite ir įdiekite žemiau esančius „python“modulius, kuriuos naudosite prisijungdami prie jutiklių.

  1. „Adafruit_BMP085“modulis
  2. SDL_DS3231 modulis
  3. „Adafruit 7“segmentų modulis

6 veiksmas: kodas prisijungti prie duomenų bazės

Žemiau pateiktas kodo fragmentas naudojamas temperatūrai ir barometriniam slėgiui registruoti ir yra iškviečiamas iš „cron“scenarijaus („Linux“suplanuotos užduotys), kuri vykdoma kas 5 minutes. Norėdami sužinoti, kaip naudoti „crond“, peržiūrėkite šią pamoką.

NB! Nesivaržykite išmesti savo kodavimo įgūdžių, nesu kūrėjas, todėl taip, turbūt yra milijonas geresnių, greitesnių, sklandesnių ir švaresnių būdų tai padaryti

Kode pastebėsite, kad temperatūra sumažėja 7 laipsniais, o tai prilygsta „Raspberry Pi“skleidžiamai šilumai, net jei BMP180 yra sumontuotas korpuso išorėje. Kai iš pradžių turėjau jį korpuso viduje, jis buvo apie 15 laipsnių karštesnis nei aplinkos. Atrodo, kad tai gana linijiška, bet aš neturėjau galimybės išbandyti jokių kraštutinumų. Atsiliepimai apie jūsų patirtį būtų dėkingi.

7 žingsnis: kodo rodymo temp

Kodo rodymo temp
Kodo rodymo temp
Kodo rodymo temp
Kodo rodymo temp
Kodo rodymo temp
Kodo rodymo temp
Kodo rodymo temp
Kodo rodymo temp

Šis kodas yra raginamas cikliškai perjungti ekraną pagal įvadą.

Vėlgi, nesu kūrėjas, todėl kodas tikrai grubus, bet jis veikia

8 žingsnis: 3D spausdintas gaubtas

3D spausdintas gaubtas
3D spausdintas gaubtas
3D spausdintas gaubtas
3D spausdintas gaubtas
3D spausdintas gaubtas
3D spausdintas gaubtas
3D spausdintas gaubtas
3D spausdintas gaubtas

Kitas yra korpuso dizainas. Tai buvo gana sudėtinga, nes forma gali deformuotis, nes išorinio apvalkalo dalys yra tik 2 mm storio. Pirmiausia nupiešiau „Pi“ir visų jo dalių maketus, o tada suplanavau aptvarą aplink jį. Spausdinimas užtruko apie 7 valandas mano „RapMan 3.2“(kuris yra gana lėtas spausdintuvas), esant 0,25 sluoksnio gyliui.

Pridedama schema padaryta naudojant „Autodesk 123D Design“, kuri, manau, yra fantastiška nemokamos programinės įrangos dalis.

Atkreipkite dėmesį, kad kai kurios skylės, tokios kaip tos, kurios reikalingos Pi montavimui, nėra suprojektuotos, nes geriau jas išgręžti vėliau, jei spausdinimas šiek tiek deformuotųsi. Jums tereikia 3 mm gręžtuvo antgalio. Pažymėkite antgalio gylį tam tikra maskavimo juostele, kad netyčia neperžiūrėtumėte 7 valandų spaudinio, kaip aš.

9 žingsnis: Ką daryti

Dalykai, kuriuos reikia padaryti
Dalykai, kuriuos reikia padaryti
  1. Realaus laiko laikrodis buvo priedas po to, kai korpusas buvo išspausdintas 5 kartą, todėl šiuo metu jis yra karštai priklijuotas prie korpuso šono, kuris neatrodo gerai, todėl norėčiau iš naujo padaryti dizainą ir pridėti jam vietą.
  2. 7 segmentų ekrano ryškumas šiuo metu nustatytas kaip pats šviesiausias, kuris nėra optimalus esant stipriam apšvietimui. Norėčiau pridėti foto rezistorių prie korpuso viršaus ir sureguliuoti 7 segmento ryškumą pagal aplinkos apšvietimo sąlygas.
  3. Yra keletas nedidelių dizaino problemų, susijusių su pagrindo įtrūkimu, kuris taip pat bus pašalintas.
  4. Bet kokios idėjos laukiamos.

Tikiuosi, kad jums patiko šis pamokymas ir kad jis buvo pakankamai įkvepiantis, kad galėtumėte pradėti. Idėja yra sukurti platformą, kurią galite naudoti norėdami pridėti savo idėjų. Pasilinksmink!

Rekomenduojamas: