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

Raspberry Pi- ի միջոցով տվյալների գրանցման պատրաստում. 3 քայլ (նկարներով)
Raspberry Pi- ի միջոցով տվյալների գրանցման պատրաստում. 3 քայլ (նկարներով)

Video: Raspberry Pi- ի միջոցով տվյալների գրանցման պատրաստում. 3 քայլ (նկարներով)

Video: Raspberry Pi- ի միջոցով տվյալների գրանցման պատրաստում. 3 քայլ (նկարներով)
Video: Ավտոմատ օրացույցի հերթափոխի պլանավորող Excel-ում 2024, Նոյեմբեր
Anonim
Raspberry Pi- ի միջոցով տվյալների գրանցման պատրաստում
Raspberry Pi- ի միջոցով տվյալների գրանցման պատրաստում

Այս պարզ տվյալների գրանցամատյանը կանոնավոր չափումներ է կատարում անալոգային LDR (Photoresistor) սարքով և պահում դրանք Raspberry Pi- ի տեքստային ֆայլում: Տվյալների գրանցամատյանը յուրաքանչյուր 60 վայրկյանում չափելու և գրանցելու է լուսավորության մակարդակը ՝ հնարավորություն տալով վերահսկել, թե ինչպես է պայծառությունը փոխվում երկար ժամանակ:

Եթե մենք ցանկանում ենք Raspberry Pi- ի հետ օգտագործել անալոգային տվիչներ, ապա պետք է կարողանանք չափել սենսորի դիմադրությունը: Ի տարբերություն Arduino- ի, Raspberry Pi- ի GPIO կապումներն ի վիճակի չեն չափել դիմադրությունը և կարող են զգալ միայն այն դեպքում, երբ նրանց մատակարարվող լարումը որոշակի լարումից բարձր է (մոտավորապես 2 վոլտ): Այս խնդիրը հաղթահարելու համար կարող եք օգտագործել Անալոգային թվային փոխարկիչ (ADC), կամ դրա փոխարեն կարող եք օգտագործել համեմատաբար էժան կոնդենսատոր:

Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի

Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա

- Raspbian- ով արդեն տեղադրված RaspberryPi: Դուք նաև պետք է կարողանաք Pi- ին մուտք գործել ՝ օգտագործելով մոնիտոր, մկնիկ և ստեղնաշար կամ Հեռակա աշխատասեղանի միջոցով: Դուք կարող եք օգտագործել Raspberry Pi- ի ցանկացած մոդել: Եթե ունեք Pi Zero մոդելներից մեկը, գուցե ցանկանաք վերնագրի որոշ կապեր կպցնել GPIO նավահանգստին:

- Լույսի վրա կախված դիմադրություն (հայտնի է նաև որպես LDR կամ լուսակայուն)

- 1 uF կերամիկական կոնդենսատոր

- A Solderless Prototyping Breadboard

- Արականից իգական սեռի որոշ լարեր

Քայլ 2: Կառուցեք ձեր շրջանը

Կառուցեք ձեր շրջանը
Կառուցեք ձեր շրջանը
Կառուցեք ձեր շրջանը
Կառուցեք ձեր շրջանը

Կառուցեք վերը նշված սխեման ձեր սեղանի վրա `համոզվելով, որ բաղադրիչներից ոչ մեկը չի դիպչում: Լույսի կախվածության դիմադրիչը և կերամիկական կոնդենսատորը չունեն բևեռականություն, ինչը նշանակում է, որ բացասական և դրական հոսանքը կարող է կապված լինել կապարի կամ միացման հետ: Հետևաբար, կարիք չկա անհանգստանալու, թե այս բաղադրիչներն ինչ եղանակով են միացված ձեր շղթայում:

Շղթան ստուգելուց հետո զգուշորեն միացրեք ցատկող մալուխները ձեր Raspberry Pi- ի GPIO կապումներին ՝ հետևելով վերը նշված գծապատկերին:

Քայլ 3: Ստեղծեք Python սցենար `ձեր տվյալները կարդալու և մուտքագրելու համար

Ստեղծեք Python սցենար `ձեր տվյալները կարդալու և մուտքագրելու համար
Ստեղծեք Python սցենար `ձեր տվյալները կարդալու և մուտքագրելու համար

Բացեք IDLE- ը ձեր Raspberry Pi- ում (Ընտցնկ> mingրագրավորում> Python 2 (IDLE)) և բացեք նոր նախագիծ (Ֆայլ> Նոր ֆայլ): Այնուհետև մուտքագրեք հետևյալը.

ներմուծեք RPi. GPIO- ն որպես GPIO

ներմուծման ժամանակ

GPIO.setmode (GPIO. BCM)

կափարիչ = 0.000001 #1uf adj = 2.130620985

def չափիչ դիմադրություն (mpin, tpin):

GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO) IN) time.sleep (0.2) GPIO.output (tpin, True) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () վերադարձ վերջ-սկիզբ def գրագիր (txt, fn). f = բաց (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 while True: stime = time.time () a միջակայքում (1, 11). res = (չափման դիմադրություն (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res եթե a == 10: t = t/i տպել (t) գրագիր (str (datetime.datetime.now ())+","+str (t), savefilename) i = 0 t = 0 մինչդեռ stime+loginterval> time.time (): #սպասել, մինչև որ ժամանակի ժամանակը լինի անցած ժամանակ. քուն (0.0001)

Պահեք ձեր նախագիծը որպես datalogger.py (Ֆայլ> Պահել որպես) ձեր Փաստաթղթերի թղթապանակում:

Այժմ բացեք Տերմինալը (Մենյու> Աքսեսուարներ> Տերմինալ) և մուտքագրեք հետևյալ հրամանը.

python datalogger.py

Սցենարը կստեղծի «lightlevels.txt» անունով տեքստային ֆայլ և այն կթարմացնի յուրաքանչյուր 60 վայրկյանը մեկ: Դուք կարող եք փոխել այս ֆայլի անունը տողում 6 -ում: Կարող եք նաև ճշգրտել, թե որքան հաճախակի է թարմացվում տվյալների գրառումը `փոխելով 5 -րդ տողը:

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