Innholdsfortegnelse:

Lag en datalogger med Raspberry Pi: 3 trinn (med bilder)
Lag en datalogger med Raspberry Pi: 3 trinn (med bilder)

Video: Lag en datalogger med Raspberry Pi: 3 trinn (med bilder)

Video: Lag en datalogger med Raspberry Pi: 3 trinn (med bilder)
Video: DIY Temperature Data Logger, 4 - channels 2024, November
Anonim
Lag en datalogger med Raspberry Pi
Lag en datalogger med Raspberry Pi

Denne enkle dataloggeren tar regelmessige lysmålinger med en analog LDR (fotoresistor) og lagrer dem i en tekstfil på din Raspberry Pi. Denne dataloggeren måler og registrerer lysnivået hvert 60. sekund, slik at du kan overvåke hvordan lysstyrken endres over lengre tid.

Hvis vi ønsker å bruke analoge sensorer med Raspberry Pi, må vi måle sensorens motstand. I motsetning til Arduino kan ikke Raspberry Pi GPIO -pinnene måle motstand og kan bare kjenne om spenningen som leveres til dem er over en viss spenning (ca. 2 volt). For å løse dette problemet kan du bruke en analog til digital omformer (ADC), eller du kan bruke en relativt billig kondensator i stedet.

Trinn 1: Hva du trenger

Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger

- En RaspberryPi med Raspbian allerede installert. Du må også ha tilgang til Pi ved hjelp av en skjerm, mus og tastatur eller via eksternt skrivebord. Du kan bruke hvilken som helst modell av Raspberry Pi. Hvis du har en av Pi Zero -modellene, kan det være lurt å lodde noen toppnål til GPIO -porten.

- En lysavhengig motstand (også kjent som en LDR eller fotoresistor)

- En 1 uF keramisk kondensator

- Et loddfritt prototypebrødbrett

- Noen mannlige til kvinnelige hoppetråder

Trinn 2: Bygg kretsen din

Bygg kretsen din
Bygg kretsen din
Bygg kretsen din
Bygg kretsen din

Bygg kretsen ovenfor på brødbrettet og sørg for at ingen av komponentledningene berører. Den lysavhengige motstanden og den keramiske kondensatoren har ingen polaritet, noe som betyr at en negativ og positiv strøm kan kobles til begge ledninger. Derfor trenger du ikke bekymre deg for hvilken måte disse komponentene er koblet til i kretsen din.

Når du har sjekket kretsen din, kobler du jumperkablene forsiktig til Raspberry Pi's GPIO -pinner ved å følge diagrammet ovenfor.

Trinn 3: Lag et Python -script for å lese og logge dataene dine

Lag et Python -script for å lese og logge dataene dine
Lag et Python -script for å lese og logge dataene dine

Åpne IDLE på Raspberry Pi (Meny> Programmering> Python 2 (IDLE)) og åpne et nytt prosjekt (Fil> Ny fil). Skriv deretter inn følgende:

importer RPi. GPIO som GPIO

importtid import datetime loginterval = 60 #loggintervall i sekunder savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 0.000001 #1uf adj = 2.130620985

def målerresistens (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) starttid = time.time () sluttid = time.time () mens (GPIO.input (mpin) == GPIO. LOW): sluttid = time.time () returner sluttid-starttid def-skriftlinje (txt, fn): f = open (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 mens True: stime = time.time () for et intervall (1, 11): res = (måleresistens (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res hvis a == 10: t = t/i print (t)wreline (str (datetime.datetime.now ())+","+str (t), lagringsnavn) i = 0 t = 0 mens stime+loginterval> time.time (): #vent til loggetid har gått tid. sov (0,0001)

Lagre prosjektet som datalogger.py (Fil> Lagre som) i Dokumenter -mappen.

Åpne nå Terminal (Meny> Tilbehør> Terminal) og skriv inn følgende kommando:

python datalogger.py

Skriptet vil opprette en tekstfil som heter "lightlevels.txt" og oppdatere den hvert 60. sekund. Du kan endre dette filnavnet på linje 6. Du kan også justere hvor ofte dataloggeren oppdateres ved å endre linje 5.

Anbefalt: