Sadržaj:

Izrada zapisivača podataka s Raspberry Pi: 3 koraka (sa slikama)
Izrada zapisivača podataka s Raspberry Pi: 3 koraka (sa slikama)

Video: Izrada zapisivača podataka s Raspberry Pi: 3 koraka (sa slikama)

Video: Izrada zapisivača podataka s Raspberry Pi: 3 koraka (sa slikama)
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Juli
Anonim
Izrada zapisnika podataka s Raspberry Pi
Izrada zapisnika podataka s Raspberry Pi

Ovaj jednostavan zapisnik podataka redovito vrši mjerenje svjetlosti s analognim LDR -om (fotootpornik) i pohranjuje ih u tekstualnu datoteku na vašem Raspberry Pi. Ovaj zapisnik podataka će mjeriti i bilježiti nivo svjetlosti svakih 60 sekundi, omogućavajući vam da pratite kako se osvjetljenje mijenja kroz duži period.

Ako želimo koristiti analogne senzore s Raspberry Pi, morali bismo moći mjeriti otpor senzora. Za razliku od Arduina, GPIO pinovi Raspberry Pi ne mogu mjeriti otpor i mogu osjetiti samo ako je napon koji im se daje iznad određenog napona (približno 2 volta). Da biste riješili ovaj problem, možete upotrijebiti analogno -digitalni pretvarač (ADC) ili umjesto toga relativno jeftin kondenzator.

Korak 1: Šta će vam trebati

Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati

- RaspberryPi sa već instaliranim Raspbian -om. Takođe ćete morati imati pristup Pi -u pomoću monitora, miša i tastature ili putem udaljene radne površine. Možete koristiti bilo koji model Raspberry Pi. Ako imate jedan od modela Pi Zero, možda ćete htjeti lemiti neke pinove zaglavlja na GPIO port.

- Otpornik ovisan o svjetlu (poznat i kao LDR ili fotootpornik)

- Keramički kondenzator od 1 uF

- Matična ploča za izradu prototipa bez lemljenja

- Neke muške do ženske kratkospojnice

Korak 2: Izgradite svoj krug

Izgradite svoj krug
Izgradite svoj krug
Izgradite svoj krug
Izgradite svoj krug

Izgradite gornji krug na matičnoj ploči pazeći da se niti jedan od dijelova komponenti ne dodiruje. Otpornik ovisan o svjetlosti i keramički kondenzator nemaju polaritet što znači da se negativna i pozitivna struja mogu spojiti na bilo koji od vodiča. Stoga ne morate brinuti o načinu na koji su ove komponente spojene u vašem krugu.

Nakon što provjerite svoj krug, pažljivo spojite kratkospojne kabele na GPIO pinove vašeg Raspberry Pi -a slijedeći gornji dijagram.

Korak 3: Kreirajte Python skriptu za čitanje i evidentiranje vaših podataka

Napravite Python skriptu za čitanje i evidentiranje vaših podataka
Napravite Python skriptu za čitanje i evidentiranje vaših podataka

Otvorite IDLE na svom Raspberry Pi -u (Meni> Programiranje> Python 2 (IDLE)) i otvorite novi projekt (Datoteka> Nova datoteka). Zatim upišite sljedeće:

uvezite RPi. GPIO kao GPIO

vrijeme uvoza datum datuma ulaska loginterval = 60 #log interval u sekundama savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

Način rada GPIO.set (GPIO. BCM)

cap = 0.000001 #1uf adj = 2.130620985

def mjera otpor (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 () vrati endtime-starttime def writeline (txt, fn): f = open (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 dok je True: stime = time.time () za a u rasponu (1, 11): res = (mjerenje otpora (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res ako je a == 10: t = t/i print (t) lineline write (str (datetime.datetime.now ())+","+str (t), savefilename) i = 0 t = 0 while stime+loginterval> time.time (): #sačekajte da logtime ima proteklo vrijeme.spavanje (0.0001)

Sačuvajte svoj projekat kao datalogger.py (Datoteka> Sačuvaj kao) u fascikli Dokumenti.

Sada otvorite Terminal (Menu> Accessories> Terminal) i upišite sljedeću naredbu:

python datalogger.py

Skripta će stvoriti tekstualnu datoteku pod nazivom "lightlevels.txt" i ažurirati je svakih 60 sekundi. Ovaj naziv datoteke možete promijeniti u retku 6. Također možete podesiti koliko često se datalogger ažurira promjenom 5. reda.

Preporučuje se: