Innehållsförteckning:

Skapa en dataloggare med Raspberry Pi: 3 steg (med bilder)
Skapa en dataloggare med Raspberry Pi: 3 steg (med bilder)

Video: Skapa en dataloggare med Raspberry Pi: 3 steg (med bilder)

Video: Skapa en dataloggare med Raspberry Pi: 3 steg (med bilder)
Video: Skapa en hit 2024, Juli
Anonim
Skapa en dataloggare med Raspberry Pi
Skapa en dataloggare med Raspberry Pi

Denna enkla datalogger tar regelbundna ljusmätningar med en analog LDR (fotoresistor) och lagrar dem i en textfil på din Raspberry Pi. Denna datalogger mäter och registrerar ljusnivån var 60: e sekund, så att du kan övervaka hur ljusstyrkan ändras under en längre tid.

Om vi vill använda analoga sensorer med Raspberry Pi, skulle vi behöva kunna mäta sensorns motstånd. Till skillnad från Arduino kan Raspberry Pi: s GPIO -stift inte mäta motstånd och kan bara känna om spänningen som levereras till dem är över en viss spänning (cirka 2 volt). För att lösa detta problem kan du använda en analog till digital omvandlare (ADC), eller så kan du använda en relativt billig kondensator istället.

Steg 1: Vad du behöver

Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva

- En RaspberryPi med Raspbian redan installerad. Du måste också kunna komma åt Pi med en bildskärm, mus och tangentbord eller via fjärrskrivbord. Du kan använda vilken modell som helst av Raspberry Pi. Om du har en av Pi Zero -modellerna kanske du vill löda några rubrikstift till GPIO -porten.

- En ljusberoende motstånd (även känd som en LDR eller fotoresistor)

- En 1 uF keramisk kondensator

- En lödlös prototypbrödbräda

- Några tröjor från man till kvinna

Steg 2: Bygg din krets

Bygg din krets
Bygg din krets
Bygg din krets
Bygg din krets

Bygg ovanstående krets på din brödbräda och se till att ingen av komponentledningarna rör vid varandra. Den ljusberoende motståndet och den keramiska kondensatorn har ingen polaritet, vilket innebär att en negativ och positiv ström kan anslutas till någon av ledningarna. Därför behöver du inte oroa dig för hur dessa komponenter har anslutits i din krets.

När du har kontrollerat din krets, anslut försiktigt bygelkablarna till din Raspberry Pi: s GPIO -stift genom att följa diagrammet ovan.

Steg 3: Skapa ett Python -skript för att läsa och logga dina data

Skapa ett Python -skript för att läsa och logga dina data
Skapa ett Python -skript för att läsa och logga dina data

Öppna IDLE på din Raspberry Pi (Meny> Programmering> Python 2 (IDLE)) och öppna ett nytt projekt (Arkiv> Ny fil). Skriv sedan följande:

importera 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ätmotstånd (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 () endtime = time.time () medan (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () returnera sluttid-starttid def-skrivlinje (txt, fn): f = öppen (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 medan True: stime = time.time () för ett intervall (1, 11): res = (mätmotstånd (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res om a == 10: t = t/i print (t) skrivlinje (str (datetime.datetime.now ())+","+str (t), spara filnamn) i = 0 t = 0 medan stime+loginterval> time.time (): #vänta tills logtime har gått tid. sover (0,0001)

Spara ditt projekt som datalogger.py (Arkiv> Spara som) i mappen Dokument.

Öppna nu Terminal (Meny> Tillbehör> Terminal) och skriv följande kommando:

python datalogger.py

Skriptet skapar en textfil med namnet "lightlevels.txt" och uppdaterar den var 60: e sekund. Du kan ändra detta filnamn på rad 6. Du kan också justera hur ofta datalogger uppdateras genom att ändra rad 5.

Rekommenderad: