Բովանդակություն:

Raspberry Pi Barometer Եղանակի ժամացույց. 9 քայլ (նկարներով)
Raspberry Pi Barometer Եղանակի ժամացույց. 9 քայլ (նկարներով)

Video: Raspberry Pi Barometer Եղանակի ժամացույց. 9 քայլ (նկարներով)

Video: Raspberry Pi Barometer Եղանակի ժամացույց. 9 քայլ (նկարներով)
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Նոյեմբեր
Anonim
Ազնվամորի Pi բարոմետր եղանակի ժամացույց
Ազնվամորի Pi բարոմետր եղանակի ժամացույց

Այս խրատելիքում ես ձեզ ցույց կտամ, թե ինչպես կարելի է կառուցել հիմնական ջերմաչափ / բարոմետր ժամացույց ՝ օգտագործելով Raspberry Pi 2 -ը ՝ օգտագործելով Raspberry Pi 2 -ը BMP180 I2C սենսորով, որը ցուցադրվում է Adafruit- ի 4 թվանշանի 7 հատվածի I2C էկրանին: Pi- ն օգտագործում է նաև DS3231 իրական ժամանակի I2C ժամացույցի մոդուլ ՝ Pi- ի վերագործարկման ժամանակ պահելու համար:

Theամացույցը անցնում է 4 փուլով ՝ յուրաքանչյուրը 5 վայրկյան: Սկզբում այն ցույց է տալիս ջերմաստիճանը elsելսիուսում, այնուհետև Ֆարենհայտում, այնուհետև բարոմետրիկ ճնշումը kPa * - ով (այս թիվը թեքում է ձախ ՝ թվերի սահմանափակ քանակի պատճառով) և, ի վերջո, ցույց է տալիս բարոմետրիկ ճնշման փոփոխման միտում այժմվա և միջինը նախորդ ժամ.

Այս ժամացույցը տարբերվում է շատերից, այն է, որ այն օգտագործում է MySQL տվյալների բազան Pi- ում ՝ BMP180- ից տվյալները ամեն րոպե մուտքագրելու համար: Քանի որ ընթացիկ բարոմետրիկ ճնշումը ոչ այնքան արժեքավոր է, որքան դրա շարժումը դեպի վեր կամ վար որոշակի ժամանակահատվածում, այն օգտագործում է այս տվյալների բազան ՝ միջինը մեկ ժամվա ընթացքում հաշվարկելով 2 ժամից 1 ժամ առաջ, և դա համեմատում է ընթացիկ ճնշման հետ: Բարոմետրիկ ճնշման զգալի աճը սովորաբար ցույց է տալիս եղանակային պայմանների բարելավումը, իսկ մեծ անկումը կարող է նախազգուշացնել մոտալուտ փոթորկի մասին:

Clockամացույցը տեղադրված է 3D տպագրված ABS պատյանում, BMP180- ով ՝ ժամացույցի հետևի մասում, օդափոխվող կափարիչով, որպեսզի Pi- ի կողմից առաջացած ջերմությունը չազդի ջերմաստիճանի ընթերցումների վրա: Ես տրամադրում եմ Autodesk 123D Design սխեմատիկ պատկերը, եթե ցանկանում եք տպել ձեր սեփականը:

Theամացույցը սնուցվում է ստանդարտ USB պատի գորտնուկով և ընդհանուր առմամբ ձգում է մոտ 450 մԱ:

Չեմ չափազանցի մանրամասներ Pi- ի և I2C- ի հիմնական տեղադրման վերաբերյալ, քանի որ դա ընդգրկված է բազմաթիվ այլ հրահանգների մեջ, որոնց հղումները կտրամադրեմ:

Քայլ 1. Պատրաստեք Pi- ն

Պատրաստեք Pi- ն
Պատրաստեք Pi- ն

Կարգավորեք ձեր Raspberry Pi - մանրամասները Raspberrypi.org կայքում

  1. Ներբեռնեք և տեղադրեք ձեր ընտրած Linux բաշխումը SD քարտի վրա. Ես օգտագործել եմ Raspbian- ը
  2. Միացրեք pi- ն և գործարկեք այն
  3. Ես օգտագործել եմ միկրո WiFi ադապտեր ՝ pi- ն իմ երթուղիչին միացնելու համար, քանի որ ժամացույցի պատյանը ծածկում է Ethernet պորտը:
  4. Ես օգտագործել եմ անգլուխ ռեժիմ, որտեղ դուք միանում եք pi- ին ՝ օգտագործելով SSH, այնպես որ այն, ինչ ձեզ հարկավոր է միացված, հոսանքն է:
  5. Կազմաձևեք I2C- ը Pi- ում - Ես հետևեցի այս հրահանգներին Adafruit կայքում:

Քայլ 2: Ամրագրեք ամեն ինչ

Wire It All Up
Wire It All Up

Բոլոր մոդուլները, որոնք ես օգտագործում եմ այս նախագծում, 5V հանդուրժող են և օգտագործում են I2C- ը, որը 2 լարային արձանագրություն է, որն օգտագործվում է IC- ների համար միմյանց հետ հաղորդակցվելու համար, ուստի էլեկտրագծերը բավականին պարզ են: Միացրեք բոլոր VCC- ն 5V- ին, բոլոր հիմքերը միասին և SCA- ի և SCL- ի բոլոր գծերը միասին `ըստ սխեմատիկ սխեմայի: Աշխատանքը կատարված է:

Քայլ 3. Փորձարկեք ձեր I2C- ն

Փորձարկեք ձեր I2C- ն
Փորձարկեք ձեր I2C- ն

I2C տեղադրման մի մասը i2cdetect- ի գործարկումն է, որը պետք է նման լինի կցված պատկերին, եթե ամեն ինչ ճիշտ լարված է:

Ստորև ներկայացված են համապատասխան հասցեները

  1. 0x70 = 7 հատվածի ցուցադրում
  2. 0x77 = BMP180 rmերմաչափ / բարոմետր ցուցիչ
  3. 0x68 = DS3231 Իրական ժամանակի ժամացույցի մոդուլ
  4. 0x57 = DS3231 EEPROM- ի վրա տագնապի տվյալները պահելու համար:

Քայլ 4: Տեղադրեք MySQL և PhpMyAdmin

Տեղադրեք MySQL և PhpMyAdmin
Տեղադրեք MySQL և PhpMyAdmin

MySQL- ի տեղադրումը բավականին պարզ է, եթե հետևեք այստեղ տրված ձեռնարկին

sudo apt-get տեղադրել mysql-server

Ես նաև տեղադրեցի phpMyAdmin- ը, որը Apache- ի վրա աշխատող վեբ կայք է, որը կարող եք օգտագործել mySQL տվյալների շտեմարաններ ստեղծելու և կառավարելու համար: Tutorial այստեղ

sudo apt-get տեղադրել phpmyadmin

Տեղադրվելուց հետո ես ստեղծեցի տվյալների բազա `BP180 անունով, օգտագործելով phpMyAdmin- ը ՝ կառուցվածքով, ըստ նկարի:

Ես նաև օգտագործում եմ mysqlDB կոչվող python մոդուլը, որը կարող եք տեղադրել

sudo apt-get տեղադրել python-mysqldb

Քայլ 5: Տեղադրեք Python մոդուլներ

Ներբեռնեք և տեղադրեք ներքևի պիթոնի մոդուլները, որոնք կօգտագործեք սենսորներին միանալու համար:

  1. Adafruit_BMP085 մոդուլ
  2. SDL_DS3231 մոդուլ
  3. Adafruit 7 հատվածի մոդուլ

Քայլ 6: Կոդ մուտքագրեք տվյալների բազա

Ստորև բերված կոդի հատվածը օգտագործվում է ջերմաստիճանը և բարոմետրիկ ճնշումը գրանցելու համար և կոչվում է cron սցենարից (Linux պլանավորված առաջադրանքներ), որն աշխատում է 5 րոպեն մեկ: Սովորելու համար, թե ինչպես օգտագործել crond, ստուգեք այս ձեռնարկը:

NB! Մի անհանգստացեք իմ կոդավորման հմտությունները զսպելու համար, ես մշակող չեմ, ուստի, հավանաբար, դա անելու համար միլիոն ավելի լավ, ավելի արագ, հարթ և մաքուր եղանակներ կան:

Կոդում կնկատեք, որ ջերմաստիճանը նվազում է 7 աստիճանով, ինչը համարժեք է Raspberry Pi- ի արտադրած ջերմությանը, նույնիսկ BMP180- ի դեպքում, որը տեղադրված է տանիքի արտաքին մասում: Երբ ես ի սկզբանե այն ունեի բնակարանի ներսում, այն մոտ 15 աստիճան ավելի տաք էր, քան շրջապատը: Թվում է, թե բավականին գծային է, բայց ես ծայրահեղությունների փորձարկման հնարավորություն չեմ ունեցել: Ձեր փորձառությունների արձագանքը գնահատելի կլինի:

Քայլ 7: Codeուցադրման ջերմաստիճանի ծածկագիր

Կոդ ՝ ցուցադրելու ջերմաստիճանը
Կոդ ՝ ցուցադրելու ջերմաստիճանը
Կոդ `ցուցադրելու ջերմաստիճանը
Կոդ `ցուցադրելու ջերմաստիճանը
Կոդ ՝ ցուցադրելու ջերմաստիճանը
Կոդ ՝ ցուցադրելու ջերմաստիճանը
Կոդ `ցուցադրելու ջերմաստիճանը
Կոդ `ցուցադրելու ջերմաստիճանը

Այս ծածկագիրը կոչվում է շրջել ցուցադրման միջոցով `ըստ ներածության:

Կրկին, ես մշակող չեմ, այնպես որ ծածկագիրը իսկապես կոպիտ է, բայց այն աշխատում է:

Քայլ 8: 3D տպագիր պարիսպ

3D տպագիր պարիսպ
3D տպագիր պարիսպ
3D տպագիր պարիսպ
3D տպագիր պարիսպ
3D տպագիր պարիսպ
3D տպագիր պարիսպ
3D տպագիր պարիսպ
3D տպագիր պարիսպ

Հաջորդը պարիսպի ձևավորումն է: Սա բավականին դժվար էր, քանի որ ձևը հակված է ճեղքման, քանի որ արտաքին պատյանների մասերն ընդամենը 2 մմ հաստություն ունեն: Ես նախ նկարեցի Pi- ի և բոլոր մասերի ծաղրական պատկերները, այնուհետև նախագծեցի դրա շուրջը գտնվող պարիսպը: Տպումը տևեց մոտ 7 ժամ իմ RapMan 3.2 (որը բավականին դանդաղ տպիչ է) 0.25 շերտի խորության վրա:

Կցված սխեման արված է Autodesk 123D Design- ում, որը, իմ կարծիքով, ազատ ծրագրաշարի ֆանտաստիկ կտոր է:

Նկատի ունեցեք, որ Pi- ի տեղադրման համար անհրաժեշտ մի քանի անցքեր նախագծման մեջ չեն, քանի որ ավելի լավ է դրանք հետագայում փորել, եթե ձեր տպագրությունը մի փոքր թեքվի: 3 մմ տրամաչափի հաստ փափուկ ձեռքն այն է, ինչ ձեզ հարկավոր է: Նշեք բիթի խորությունը որոշ դիմակավոր ժապավենով, որպեսզի պատահաբար չանցնեք ձեր 7 ժամանոց տպագրության պես, ինչպես ես:

Քայլ 9: Անելիքներ

Գործեր որ պետք է անել
Գործեր որ պետք է անել
  1. Իրական ժամանակի ժամացույցը լրացում էր պարիսպը 5-րդ անգամ տպվելուց հետո, ուստի այն ներկայումս տաք սոսնձված է պարիսպի կողքին, որը լավ տեսք չունի, այնպես որ ես կցանկանայի նորից կատարել դիզայնը և դրա համար տեղ ավելացնել:
  2. 7 հատվածի դիսփլեյի պայծառությունը ներկայումս ամենաթեթևն է, որն օպտիմալ չէ ուժեղ լույսի պայմաններում: Ես կցանկանայի լուսանկարի դիմադրություն ավելացնել պարիսպի վերևում և հարմարեցնել 7 հատվածի պայծառությունը `ելնելով շրջակա լույսի պայմաններից:
  3. Կան որոշ փոքր նախագծային խնդիրներ բազայի ճաքերի հետ, որոնք նույնպես կլուծվեն:
  4. Ideasանկացած գաղափար ողջունելի է:

Հուսով եմ, որ ձեզ դուր եկավ այս ուսանելի ուսուցումը և այն բավական ոգեշնչող գտավ ձեզ առաջ տանելու համար: Գաղափարն այն է, որ տրամադրվի հարթակ, որը կարող եք օգտագործել ձեր սեփական գաղափարները ավելացնելու համար: Զվարճանալ!

Խորհուրդ ենք տալիս: