Turinys:
- 1 žingsnis: Paruoškite „Pi“
- 2 žingsnis: prijunkite viską
- 3 žingsnis: išbandykite savo I2C
- 4 veiksmas: įdiekite „MySQL“ir „PhpMyAdmin“
- 5 veiksmas: įdiekite „Python“modulius
- 6 veiksmas: kodas prisijungti prie duomenų bazės
- 7 žingsnis: kodo rodymo temp
- 8 žingsnis: 3D spausdintas gaubtas
- 9 žingsnis: Ką daryti
Video: „Raspberry Pi“barometro oro laikrodis: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Š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“
Nustatykite „Raspberry Pi“- išsami informacija Raspberrypi.org
- Atsisiųskite ir įdiekite pasirinktą „Linux Distribution“į SD kortelę - aš naudoju „Raspbian“
- Prijunkite „pi“ir paleiskite
- Aš prijungiau „micro WiFi“adapterį, kad prijungčiau „pi“prie savo maršrutizatoriaus, nes laikrodžio korpusas uždengia „Ethernet“prievadą.
- Aš naudoju režimą be galvos, kai prisijungiate prie pi naudodami SSH, todėl viskas, ko jums reikia prijungti, yra maitinimas.
- Konfigūruokite „I2C“„Pi“- laikiausi šių nurodymų „Adafruit“svetainėje.
2 žingsnis: prijunkite 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
„I2C“diegimo dalis yra paleisti „i2cdetect“, kuris turėtų atrodyti kaip pridėtas vaizdas, jei viskas bus tinkamai prijungta.
Žemiau yra atitinkami adresai
- 0x70 = 7 segmentų ekranas
- 0x77 = BMP180 termometro / barometro jutiklis
- 0x68 = DS3231 realaus laiko laikrodžio modulis
- 0x57 = DS3231, esantis EEPROM, skirtas aliarmo duomenims saugoti.
4 veiksmas: į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ų.
- „Adafruit_BMP085“modulis
- SDL_DS3231 modulis
- „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
Š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
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
- 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ą.
- 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.
- Yra keletas nedidelių dizaino problemų, susijusių su pagrindo įtrūkimu, kuris taip pat bus pašalintas.
- 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:
Švytintis oro burbuliukų laikrodis; Powered by ESP8266: 7 žingsniai (su nuotraukomis)
Švytintis oro burbuliukų laikrodis; „Powered by ESP8266“: „švytintis oro burbuliukų laikrodis“rodo laiką ir kai kurias grafikas apšviestais skysčio oro burbulais. Skirtingai nuo LED matricos ekrano, lėtai slenkantys ir žėrintys oro burbuliukai man leidžia atsipalaiduoti. 90-ųjų pradžioje aš įsivaizdavau „burbulų ekraną“. Neįmanoma
„Vortex“laikrodis: „Infinity Mirror“rankinis laikrodis: 10 žingsnių (su nuotraukomis)
„Vortex Watch“: begalybės veidrodinis laikrodis: Šio projekto tikslas buvo sukurti nešiojamą begalybės veidrodžio laikrodžio versiją. Jis naudoja savo RGB šviesos diodus, norėdamas nurodyti laiką, priskirdamas valandas, minutes ir sekundes atitinkamai raudonai, žaliai ir mėlynai šviesai ir sutampa su šiais atspalviais
Oro taršos aptikimas + oro filtravimas: 4 žingsniai
Oro taršos aptikimas ir oro filtravimas: Vokietijos Šveicarijos tarptautinės mokyklos studentai (Aristobulus Lam, Victor Sim, Nathan Rosenzweig ir Declan Loges) kartu su „MakerBay“darbuotojais sukūrė integruotą oro taršos matavimo ir oro filtravimo efektyvumo sistemą. Ši
HRV (namų oro keitiklis) „Arduino“valdiklis su oro ekonomizatoriumi: 7 žingsniai (su nuotraukomis)
HRV (namų oro keitiklis) „Arduino“valdiklis su oro taupymo priemone: „HRV Arduino“valdiklis su oro ekonomizatoriumi Nenorėjau mokėti 200 USD už naują. Visada norėjau kažko, kas nuodėmė oro ekonomizatorių
Oro laikrodis: 11 žingsnių (su nuotraukomis)
Orų laikrodis: atnaujinimas naudojant elektros schemą ir „Fritzing“schemą. Aš sukuriu dvi prielaidas: tai mano pirmasis nurodymas. Aš esu neišmanėlis italas, kuris nesimokė anglų kalbos mokykloje, todėl paprašiau pagalbos: https: //translate.google.itStart su ačiū