
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48



is maith a scéalaí an aimir (Եղանակը լավ պատմող է)
Գլոբալ տաքացման և կլիմայի փոփոխության խնդիրներով, եղանակի գլոբալ օրինաչափությունը դառնում է անկանոն մեր աշխարհում, ինչը հանգեցնում է եղանակային պայմանների մի շարք բնական աղետների (երաշտներ, ծայրահեղ ջերմաստիճաններ, ջրհեղեղներ, փոթորիկներ և անտառային հրդեհներ): չարիք տանը: Դուք շատ բան եք սովորում հիմնական էլեկտրոնիկայի մասին եղանակային կայանի նախագծից ՝ օգտագործելով մի քանի էժան մասեր և տվիչներ: Դա բավականին հեշտ է կարգավորել, և ոչ մի ժամանակում այն չեք կարող ունենալ:
Քայլ 1. Պարտադիր սարքավորումների հաշիվ



1. Ազնվամորի Պի
Ձեռք բերեք Raspberry Pi տախտակին: Raspberry Pi- ն Linux- ով աշխատող մեկ տախտակ ունեցող համակարգիչ է: Raspberry Pi- ն իսկապես էժան, փոքր և բազմակողմանի է ՝ կառուցված մատչելի և ֆունկցիոնալ համակարգչից, որը սովորողների համար կիրառում է ծրագրավորման և ծրագրային ապահովման զարգացման հիմունքները:
2. I2C Shield ազնվամորու Pi- ի համար
INPI2- ը (I2C ադապտեր) ապահովում է Raspberry Pi 2/3 և I²C պորտը I2C բազմաթիվ սարքերով օգտագործելու համար: Այն հասանելի է DCUBE խանութում:
3. Թվային խոնավության, ճնշման և ջերմաստիճանի ցուցիչ, BME280
BME280- ը խոնավության, ճնշման և ջերմաստիճանի ցուցիչ է, որն ունի արագ արձագանքման ժամանակ և ընդհանուր բարձր ճշգրտություն: Մենք գնել ենք այս տվիչը DCUBE Store- ից:
4. I2C միացնող մալուխ
Մենք օգտագործել ենք այստեղ DCUBE Store- ում առկա I²C մալուխը:
5. Միկրո USB մալուխ
Միկրո USB մալուխ Էլեկտրամատակարարումը իդեալական ընտրություն է Raspberry Pi- ի սնուցման համար:
6 Ինտերնետ հասանելիության մեկնաբանում EthernetCable/WiFi ադապտերի միջոցով
Ինտերնետ հասանելիությունը կարելի է միացնել տեղական ցանցին և ինտերնետին միացված Ethernet մալուխի միջոցով: Այլապես, կարող եք միանալ անլար ցանցին ՝ օգտագործելով USB անլար կապ, որը կպահանջի կազմաձևում:
7. HDMI մալուխ (ցուցադրման և միացման մալուխ)
HDանկացած HDMI/DVI մոնիտոր և ցանկացած հեռուստատեսություն պետք է աշխատեն որպես ցուցադրում Pi- ի համար: Այլապես, SSH- ի միջոցով կարող եք հեռակա մուտք գործել Pi ՝ մերժելով մոնիտորի անհրաժեշտությունը (միայն առաջադեմ օգտվողներին):
Քայլ 2: Սարքավորման միացումներ շրջանի համար


Կատարեք սխեման ըստ ցուցադրված սխեմատիկայի: Ընդհանուր առմամբ, կապերը շատ պարզ են: Հանգստացեք և հետևեք վերը նշված հրահանգներին և պատկերներին, և դուք չպետք է խնդիրներ ունենաք: Սովորելիս մենք մանրամասնորեն ծանոթացանք էլեկտրոնիկայի հիմունքներին `կապված ապարատային և ծրագրային ապահովման գիտելիքների հետ: Մենք ցանկանում էինք այս նախագծի համար կազմել էլեկտրոնիկայի պարզ սխեմատիկա: Էլեկտրոնային սխեմաները նման են նախագծերի: Մշակեք նախագիծ և ուշադիր հետևեք ձևին: Էլեկտրոնիկայի մի քանի հիմնական հասկացություններ կարող են օգտակար լինել այստեղ:
Raspberry Pi- ի և I2C Shield- ի միացում
Նախ վերցրեք Raspberry Pi- ն և դրա վրա տեղադրեք I²C Shield- ը: Մեղմորեն սեղմեք Վահանը, և մենք ավարտեցինք այս քայլը նույնքան հեշտ, որքան կարկանդակը (տես նկարը):
Սենսորային և ազնվամորու Pi- ի միացում
Վերցրեք սենսորը և միացրեք I²C մալուխը դրա հետ: Համոզվեք, որ I²C ելքը ՄԻՇՏ միանում է I²C մուտքին: Նույնը պետք է հետևել Raspberry Pi- ի համար, երբ I²C վահանը տեղադրված է GPIO կապում: Մենք խորհուրդ ենք տալիս օգտագործել I²C մալուխները, քանի որ այն մերժում է նույնիսկ ամենափոքր սայթաքումից առաջացած քորոցների, զոդման և վատառողջության կարիքը:. Այս պարզ միացման և խաղալու մալուխի միջոցով կարող եք հեշտությամբ տեղադրել, փոխանակել տախտակները կամ ծրագրին ավելացնել ավելի շատ տախտակներ:
Նշում. Շագանակագույն մետաղալարը միշտ պետք է հետևի Ground (GND) կապին մի սարքի ելքի և մեկ այլ սարքի մուտքի միջև:
Ինտերնետ կապը բանալին է
Դուք այստեղ ունեք երկու ընտրություն: Կամ դուք կարող եք միացնել Raspberry Pi- ն ցանցին `օգտագործելով Ethernet մալուխ, կամ օգտագործել USB- ի WiFi ադապտեր` WIFI միացման համար: Ամեն դեպքում, քանի դեռ այն միացված է ինտերնետին, դուք ապահովագրված եք:
Շղթայի հզորացում
Միացրեք Micro USB մալուխը Raspberry Pi- ի սնուցման վարդակին: Unchարճացրեք և վոիլա: Մեր թիմը տեղեկատվական է:
Միացում էկրանին
Մենք կարող ենք կամ HDMI մալուխը միացնել մոնիտորին, կամ հեռուստացույցին: Բացի այդ, մենք կարող ենք մուտք գործել Raspberry Pi ՝ առանց այն հեռակառավարման միջոցով մոնիտորին միացնելու: SSH- ը հարմար գործիք է անվտանգ հեռավոր մուտքի համար: Դրա համար կարող եք օգտագործել նաև PUTTY ծրագրակազմը: Այս տարբերակը առաջադեմ օգտվողների համար է, այնպես որ մենք այն մանրամասն չենք լուսաբանի այստեղ:
Դա տնտեսական մեթոդ է, եթե չեք ցանկանում շատ ծախսել:
Քայլ 3: Raspberry Pi ծրագրավորում Python- ում

Raspberry Pi- ի և BME280 ցուցիչի Python ծածկագիրը: Այն հասանելի է մեր Github շտեմարանում:
Նախքան ծածկագրին անցնելը, համոզվեք, որ կարդացել եք Readme ֆայլում տրված հրահանգները և ըստ դրա կարգավորեք ձեր Raspberry Pi- ն: Մի փոքր ժամանակ ձեզ պատրաստ կլինի կարգավորման: Եղանակային կայանը ցամաքային կամ ծովային հաստատություն է, որն ունի մթնոլորտային պայմանները չափող գործիքներ և սարքավորումներ `եղանակի կանխատեսումների համար տեղեկատվություն տրամադրելու և եղանակի ու կլիմայի ուսումնասիրման համար:
Կոդն ակնհայտորեն ձեր առջև է և այն ամենապարզ ձևով, որը դուք կարող եք պատկերացնել, և դուք չպետք է խնդիրներ ունենաք: Դեռևս հարցրեք, թե որևէ մեկը (նույնիսկ եթե դուք հազար բան գիտեք, միևնույն է հարցրեք ինչ -որ մեկին, ով գիտի):
Այս սենսորի համար կարող եք պատճենել նաև աշխատող Python ծածկագիրը այստեղից:
# Տարածված է ազատ կամքի լիցենզիայի միջոցով: # BME280 # Այս կոդը նախատեսված է BME280_I2CS I2C մինի մոդուլի հետ աշխատելու համար, որը հասանելի է ControlEverything.com կայքում: #
ներմուծել smbus
ներմուծման ժամանակը
# Ձեռք բերեք I2C ավտոբուս
ավտոբուս = smbus. SMBus (1)
# BME280 հասցե, 0x76 (118)
# Կարդացեք տվյալները 0x88 (136), 24 բայթ b1 = bus.read_i2c_block_data (0x76, 0x88, 24)
# Փոխակերպեք տվյալները
# Pերմաստիճանի գործակիցներ dig_T1 = b1 [1] * 256 + b1 [0] dig_T2 = b1 [3] * 256 + b1 [2] եթե dig_T2> 32767: dig_T2 -= 65536 dig_T3 = b1 [5] * 256 + b1 [4] եթե dig_T3> 32767: dig_T3 -= 65536
# Ureնշման գործակիցներ
dig_P1 = b1 [7] * 256 + b1 [6] dig_P2 = b1 [9] * 256 + b1 [8] եթե dig_P2> 32767: dig_P2 -= 65536 dig_P3 = b1 [11] * 256 + b1 [10] եթե dig_P3 > 32767: dig_P3 -= 65536 dig_P4 = b1 [13] * 256 + b1 [12] եթե dig_P4> 32767: dig_P4 -= 65536 dig_P5 = b1 [15] * 256 + b1 [14] եթե dig_P5> 32767: dig_P5 -= 65536 dig_P6 = b1 [17] * 256 + b1 [16] եթե dig_P6> 32767: dig_P6 -= 65536 dig_P7 = b1 [19] * 256 + b1 [18] եթե dig_P7> 32767: dig_P7 -= 65536 dig_P8 = b1 [21] * 256 + b1 [20] եթե dig_P8> 32767: dig_P8 -= 65536 dig_P9 = b1 [23] * 256 + b1 [22] եթե dig_P9> 32767: dig_P9 -= 65536
# BME280 հասցե, 0x76 (118)
# Կարդացեք տվյալները 0xA1 (161), 1 բայթ dig_H1 = bus.read_byte_data (0x76, 0xA1)
# BME280 հասցե, 0x76 (118)
# Կարդացեք տվյալները 0xE1- ից (225), 7 բայթ b1 = bus.read_i2c_block_data (0x76, 0xE1, 7)
# Փոխակերպեք տվյալները
# Խոնավության գործակիցներ dig_H2 = b1 [1] * 256 + b1 [0] եթե dig_H2> 32767: dig_H2 -= 65536 dig_H3 = (b1 [2] & 0xFF) dig_H4 = (b1 [3] * 16) + (b1 [4] & 0xF) եթե dig_H4> 32767: dig_H4 -= 65536 dig_H5 = (b1 [4] / 16) + (b1 [5] * 16) եթե dig_H5> 32767: dig_H5 -= 65536 dig_H6 = b1 [6] եթե dig_H6> 127: dig_H6 -= 256
# BME280 հասցե, 0x76 (118)
# Ընտրեք կառավարման խոնավության գրանցամատյան, 0xF2 (242) # 0x01 (01) Խոնավության գերբարձրացում = 1 ավտոբուս: գրեք_տվյալներ (0x76, 0xF2, 0x01) # BME280 հասցե, 0x76 (118) # Ընտրեք կառավարման չափման գրանցամատյան, 0xF4 (244) # 0x27 (39) ureնշման եւ ջերմաստիճանի գերբեռնման արագություն = 1 # Նորմալ ռեժիմ ավտոբուս. Գրեք_բայթ_տվյալներ (0x76, 0xF4, 0x27) # BME280 հասցե, 0x76 (118) # Ընտրեք կազմաձևման գրանցամատյան, 0xF5 (245) # 0xA0 (00) Սպասման սպասման ժամանակ = 1000 ms ավտոբուս.write_byte_data (0x76, 0xF5, 0xA0)
ժամանակ. քուն (0.5)
# BME280 հասցե, 0x76 (118)
# Կարդացեք տվյալները 0xF7- ից (247), 8 բայթ # ureնշում MSB, ճնշում LSB, ճնշում xLSB, ջերմաստիճան MSB, ջերմաստիճան LSB # ջերմաստիճան xLSB, խոնավություն MSB, խոնավություն LSB տվյալներ = bus.read_i2c_block_data (0x76, 0xF7, 8)
# Փոխարկեք ճնշման և ջերմաստիճանի տվյալները 19 բիթ
adc_p = ((տվյալները [0] * 65536) + (տվյալները [1] * 256) + (տվյալները [2] և 0xF0)) / 16 adc_t = ((տվյալները [3] * 65536) + (տվյալները [4] * 256) + (տվյալներ [5] և 0xF0)) / 16
# Փոխարկեք խոնավության տվյալները
adc_h = տվյալներ [6] * 256 + տվյալներ [7]
# Peratերմաստիճանի փոխհատուցման հաշվարկներ
var1 = ((adc_t) / 16384.0 - (dig_T1) / 1024.0) * (dig_T2) var2 = (((adc_t) / 131072.0 - (dig_T1) / 8192.0) * ((adc_t) /131072.0 - (dig_T1) /8192.0)) * (dig_T3) t_fine = (var1 + var2) cTemp = (var1 + var2) / 5120.0 fTemp = cTemp * 1.8 + 32
# Ureնշման փոխհատուցման հաշվարկներ
var1 = (t_fine / 2.0) - 64000.0 var2 = var1 * var1 * (dig_P6) / 32768.0 var2 = var2 + var1 * (dig_P5) * 2.0 var2 = (var2 / 4.0) + ((dig_P4) * 65536.0) var1 = ((dig_P3) * var1 * var1 / 524288.0 + (dig_P2) * var1) / 524288.0 var1 = (1.0 + var1 / 32768.0) * (dig_P1) p = 1048576.0 - adc_p p = (p - (var2 / 4096.0)) * 6250.0 / var1 var1 = (dig_P9) * p * p / 2147483648.0 var2 = p * (dig_P8) / 32768.0 ճնշում = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100
# Խոնավության փոխհատուցման հաշվարկներ
var_H = ((t_fine) - 76800.0) var_H = (adc_h - (dig_H4 * 64.0 + dig_H5 / 16384.0 * var_H)) * (dig_H2 / 65536.0 * (1.0 + dig_H6 / 67108864.0 * var_H * (1.0 + dig_H3 / 67108864.0 *))) խոնավություն = var_H * (1.0 - dig_H1 * var_H / 524288.0), եթե խոնավություն> 100.0: խոնավություն = 100.0 էլիֆ խոնավություն <0.0: խոնավություն = 0.0
# Ելքի տվյալները էկրանին
տպել «peratերմաստիճանը Celsius:
Քայլ 4: Գործող օրենսգիրք

Այժմ, ներբեռնեք (կամ git pull) ծածկագիրը և բացեք այն Raspberry Pi- ում:
Գործարկեք տերմինալում կոդը կազմելու և վերբեռնելու հրամանները և արդյունքը տեսեք Displayուցադրման վրա: Մի քանի վայրկյան անց այն կցուցադրի բոլոր պարամետրերը: Համոզվելուց հետո, որ ամեն ինչ հիանալի է աշխատում, կարող եք զարգացնել ևս մի քանի հետաքրքիրը:
Քայլ 5: Օգտագործումը գործնական աշխարհում
BME280- ը բարձր արդյունավետության է հասնում բոլոր այն ծրագրերում, որոնք պահանջում են խոնավության և ճնշման չափում: Այս առաջացող ծրագրերը համատեքստի իրազեկում են, օրինակ. Մաշկի հայտնաբերում, սենյակի փոփոխության հայտնաբերում, Ֆիթնեսի մոնիտորինգ / բարեկեցություն, Չորության կամ բարձր ջերմաստիճանի վերաբերյալ նախազգուշացում, umeավալի և օդի հոսքի չափում, Տան ավտոմատացման հսկողություն, Heեռուցման հսկողություն, օդափոխություն, օդորակիչ (HVAC), Իրերի ինտերնետ (IoT), GPS- ի բարելավում (օրինակ ՝ ժամանակի առաջին ուղղման բարելավում, մեռած հաշվարկ, լանջի հայտնաբերում), ներքին նավարկություն (հատակի հայտնաբերման փոփոխություն, վերելակի հայտնաբերում), բացօթյա նավարկություն, ժամանցի և սպորտային ծրագրեր, եղանակի կանխատեսում և ուղղահայաց արագության ցուցում (բարձրացում/սուզվել Արագություն):
Քայլ 6: Եզրակացություն
Հուսով եմ, որ այս նախագիծը ոգեշնչում է հետագա փորձերին: Ավելի բարդ եղանակային կայան պատրաստելը կարող է ներառել ավելի շատ տվիչներ, ինչպիսիք են Անձրևաչափը, Լույսի ցուցիչը, անեմոմետրը (քամու արագությունը) և այլն: Դուք կարող եք դրանք ավելացնել և փոփոխել ծածկագիրը: Մենք ունենք YouTube- ի վիդեո ձեռնարկ, որն ունի Rasp Pi- ի հետ I²C սենսորի հիմնական գործառույթը: Իրոք զարմանալի է տեսնել I²C հաղորդակցության արդյունքներն ու աշխատանքը: Ստուգեք այն նաև: funվարճացեք կառուցելով և սովորելով: Խնդրում ենք մեզ տեղեկացնել, թե ինչ եք կարծում այս ուսանելիի մասին: Անհրաժեշտության դեպքում մենք կցանկանայինք կատարելագործումներ կատարել:
Խորհուրդ ենք տալիս:
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով. 8 քայլ (նկարներով)

NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվեց ճիշտ ճանապարհով. 2 տարբեր վայրերում 1 տարվա հաջող աշխատանքից հետո ես կիսում եմ իմ արևային էներգիայով աշխատող եղանակային կայանի նախագծի ծրագրերը և բացատրում, թե ինչպես այն վերածվեց համակարգի, որն իսկապես կարող է գոյատևել երկար ժամանակ: արևային էներգիայի ժամանակաշրջաններ: Եթե հետևեք
Սենյակի եղանակային կայան ՝ օգտագործելով Arduino և BME280: 4 քայլ

Սենյակի եղանակային կայան ՝ օգտագործելով Arduino և BME280. Նախկինում ես կիսում էի մի պարզ եղանակային կայան, որը ցուցադրում էր տեղական տարածքի ջերմաստիճանը և խոնավությունը: Դրա խնդիրն այն էր, որ ժամանակ կպահանջվեր թարմացնելու համար, և տվյալները ճշգրիտ չէին: Այս ձեռնարկում մենք կկազմենք փակ եղանակի մոնիտոր
Լրացրեք DIY Raspberry Pi եղանակային կայանը `ծրագրակազմով. 7 քայլ (նկարներով)

Լրացրեք DIY Raspberry Pi եղանակային կայանը ծրագրակազմով. Դեռ փետրվարի վերջին ես տեսա այս գրառումը Raspberry Pi կայքում: http://www.raspberrypi.org/school-weather-station-.. Նրանք դպրոցների համար ստեղծել էին Raspberry Pi եղանակային կայաններ: Ես լիովին ուզում էի մեկը: Բայց այն ժամանակ (և ես հավատում եմ, որ դեռ գրված է
Ամբողջական Raspberry Pi եղանակային կայանը. 14 քայլ (նկարներով)

Ամբողջական Raspberry Pi եղանակային կայանը. Բարև բոլորին, սա իմ առաջին հրահանգն է: Այս ձեռնարկում ես ձեզ կառաջնորդեմ Raspberry Pi եղանակային կայան պատրաստել ՝ իր սեփական տվյալների բազայով և կայքով: Այս եղանակային կայանը ես պատրաստել եմ դպրոցական առաջադրանքի համատեքստում, իմ ոգեշնչումը ստացել եմ Ins
Acurite 5 in 1 եղանակային կայան ՝ օգտագործելով Raspberry Pi և Weewx (այլ եղանակային կայաններ համատեղելի են). 5 քայլ (նկարներով)

Acurite 5 in 1 եղանակային կայան ՝ օգտագործելով Raspberry Pi և Weewx (այլ եղանակային կայաններ համատեղելի են). Երբ ես գնել էի Acurite 5 in 1 օդերևութաբանական կայանը, ես ցանկանում էի, որ կարողանայի ստուգել եղանակը իմ տանը, երբ ես հեռու էի: Երբ տուն հասա և տեղադրեցի, հասկացա, որ կամ պետք է միացնեմ համակարգչին կամ գնեմ նրանց խելացի հանգույցը