Სარჩევი:

Raspberry Pi– ით მონაცემთა ბლოგერის გაკეთება: 3 ნაბიჯი (სურათებით)
Raspberry Pi– ით მონაცემთა ბლოგერის გაკეთება: 3 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi– ით მონაცემთა ბლოგერის გაკეთება: 3 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi– ით მონაცემთა ბლოგერის გაკეთება: 3 ნაბიჯი (სურათებით)
ვიდეო: Raspberry Pi 3 - განხილვა ქართულად 2024, ნოემბერი
Anonim
ჟოლოს პიით მონაცემების ჩამწერი
ჟოლოს პიით მონაცემების ჩამწერი

ეს მარტივი მონაცემთა ჩამწერი რეგულარულად იღებს სინათლის გაზომვებს ანალოგური LDR (Photoresistor) და ინახავს მათ ტექსტურ ფაილში თქვენს Raspberry Pi- ზე. ეს მონაცემთა ჟურნალი გაზომავს და აღრიცხავს სინათლის დონეს ყოველ 60 წამში, რაც საშუალებას მოგცემთ აკონტროლოთ როგორ იცვლება სიკაშკაშე დიდი ხნის განმავლობაში.

თუ გვსურს Raspberry Pi– სთან ანალოგური სენსორების გამოყენება, ჩვენ უნდა შეგვეძლოს სენსორის წინააღმდეგობის გაზომვა. არდუინოსგან განსხვავებით, Raspberry Pi– ს GPIO ქინძისთავებს არ შეუძლიათ წინააღმდეგობის გაზომვა და შეუძლიათ იგრძნონ მხოლოდ იმ შემთხვევაში, თუ მათთვის მიწოდებული ძაბვა აღემატება გარკვეულ ძაბვას (დაახლოებით 2 ვოლტი). ამ საკითხის გადასაჭრელად შეგიძლიათ გამოიყენოთ ანალოგური ციფრული გადამყვანი (ADC), ან მის ნაცვლად გამოიყენოთ შედარებით იაფი კონდენსატორი.

ნაბიჯი 1: რაც დაგჭირდებათ

რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ

- Raspbian– ით უკვე დაინსტალირებული RaspberryPi. თქვენ ასევე უნდა გქონდეთ წვდომა Pi– ზე მონიტორის, მაუსის და კლავიატურის გამოყენებით ან დისტანციური სამუშაო მაგიდის საშუალებით. თქვენ შეგიძლიათ გამოიყენოთ Raspberry Pi- ს ნებისმიერი მოდელი. თუ თქვენ გაქვთ Pi Zero– ს რომელიმე მოდელი, შეიძლება დაგჭირდეთ სათაურის რამდენიმე ქინძისთავის ჩასმა GPIO პორტში.

- მსუბუქი დამოკიდებული რეზისტორი (ასევე ცნობილია როგორც LDR ან ფოტორეზისტორი)

- 1 uF კერამიკული კონდენსატორი

- Solderless Prototyping Breadboard

- ზოგიერთი მამაკაცი ქალი მდედრის მავთულები

ნაბიჯი 2: შექმენით თქვენი წრე

შექმენით თქვენი წრე
შექმენით თქვენი წრე
შექმენით თქვენი წრე
შექმენით თქვენი წრე

ააშენეთ ზემოაღნიშნული წრე თქვენს პურის დაფაზე, დარწმუნდით, რომ არც ერთი კომპონენტი არ ეხება. სინათლისგან დამოუკიდებელ რეზისტორს და კერამიკულ კონდენსატორს არ აქვთ პოლარობა, რაც ნიშნავს რომ ნეგატიური და პოზიტიური დენი შეიძლება იყოს დაკავშირებული ორივე ტყვიასთან. ამიტომ თქვენ არ გჭირდებათ ფიქრი იმაზე, თუ რა გზით იყო ეს კომპონენტები დაკავშირებული თქვენს წრეში.

მას შემდეგ რაც შეამოწმებთ თქვენს წრეს, ყურადღებით დააკავშირეთ ჯუმბერის კაბელები თქვენი Raspberry Pi– ს GPIO ქინძისთავებთან ზემოთ დიაგრამის დაცვით.

ნაბიჯი 3: შექმენით პითონის სკრიპტი თქვენი მონაცემების წასაკითხად და შესასვლელად

შექმენით პითონის სკრიპტი თქვენი მონაცემების წასაკითხად და შესასვლელად
შექმენით პითონის სკრიპტი თქვენი მონაცემების წასაკითხად და შესასვლელად

გახსენით IDLE თქვენს Raspberry Pi- ზე (მენიუ> პროგრამირება> Python 2 (IDLE)) და გახსენით ახალი პროექტი (ფაილი> ახალი ფაილი). შემდეგ ჩაწერეთ შემდეგი:

იმპორტი RPi. GPIO როგორც GPIO

იმპორტის დრო იმპორტი თარიღი დრო შესვლა = 60 #ლოგის ინტერვალი წამებში savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 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 () დაბრუნება endtime- დაწყების def defeline დრო. დრო () დიაპაზონში (1, 11): res = (გაზომვის წინააღმდეგობა (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res თუ a == 10: t = t/i ამობეჭდვა (t) Writeline (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 ხაზის შეცვლით.

გირჩევთ: