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, Srpanj
Anonim
Izrada zapisivača podataka s Raspberry Pi
Izrada zapisivača podataka s Raspberry Pi

Ovaj jednostavni 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 mjerit će i bilježiti razinu svjetlosti svakih 60 sekundi, omogućujući vam da pratite kako se svjetlina mijenja kroz dulje vrijeme.

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 prevladali ovaj problem, mogli biste upotrijebiti analogno -digitalni pretvarač (ADC) ili umjesto toga upotrijebiti relativno jeftin kondenzator.

Korak 1: Ono što će vam trebati

Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati

- RaspberryPi s već instaliranim Raspbian -om. Također ćete morati pristupiti Pi -u pomoću monitora, miša i tipkovnice 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 igle zaglavlja na GPIO port.

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

- Keramički kondenzator od 1 uF

- Tlocrt za izradu prototipa bez lemljenja

- Neke žice kratkospojnika muško - žensko

Korak 2: Izgradite svoj krug

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

Izgradite gornji krug na svojoj 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 na koji su način 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: Izradite Python skriptu za čitanje i evidentiranje vaših podataka

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

Otvorite IDLE na svom Raspberry Pi (Izbornik> 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)

kapa = 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 = (mjere otpor (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res ako je a == 10: t = t/i print (t) writeline (str (datetime.datetime.now ())+","+str (t), savefilename) i = 0 t = 0 while stime+loginterval> time.time (): #čekajte dok logtime ima proteklo vrijeme.spavanje (0.0001)

Spremite svoj projekt kao datalogger.py (Datoteka> Spremi kao) u mapu Dokumenti.

Sada otvorite Terminal (Izbornik> Pribor> 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 se često zapisnik ažurira promjenom retka 5.

Preporučeni: