Taula de continguts:

Fer un registrador de dades amb el Raspberry Pi: 3 passos (amb imatges)
Fer un registrador de dades amb el Raspberry Pi: 3 passos (amb imatges)

Vídeo: Fer un registrador de dades amb el Raspberry Pi: 3 passos (amb imatges)

Vídeo: Fer un registrador de dades amb el Raspberry Pi: 3 passos (amb imatges)
Vídeo: Праздник. Новогодняя комедия 2024, Desembre
Anonim
Fer un registrador de dades amb el Raspberry Pi
Fer un registrador de dades amb el Raspberry Pi

Aquest senzill registrador de dades pren mesures regulars de llum amb un LDR (Photoresistor) analògic i les emmagatzema en un fitxer de text al vostre Raspberry Pi. Aquest registrador de dades mesurarà i registrarà el nivell de llum cada 60 segons, cosa que us permetrà controlar com canvia la brillantor al llarg del temps.

Si volem utilitzar sensors analògics amb el Raspberry Pi, hauríem de poder mesurar la resistència del sensor. A diferència de l'Arduino, els pins GPIO del Raspberry Pi no poden mesurar la resistència i només poden detectar si el voltatge que se'ls subministra és superior a un voltatge determinat (aproximadament 2 volts). Per superar aquest problema, podeu utilitzar un convertidor analògic a digital (ADC) o bé utilitzar un condensador relativament barat.

Pas 1: què necessiteu

El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu
El que necessitareu

- Un RaspberryPi amb Raspbian ja instal·lat. També haureu de poder accedir al Pi mitjançant un monitor, un ratolí i un teclat o mitjançant un escriptori remot. Podeu utilitzar qualsevol model de Raspberry Pi. Si teniu algun dels models Pi Zero, és possible que vulgueu soldar alguns pins de capçalera al port GPIO.

- Una resistència dependent de la llum (també coneguda com a LDR o fotoresistència)

- Un condensador ceràmic de 1 uF

- Un tauler de prototipat sense soldadura

- Alguns cables de pont masculí a femení

Pas 2: creeu el vostre circuit

Construeix el teu circuit
Construeix el teu circuit
Construeix el teu circuit
Construeix el teu circuit

Construïu el circuit anterior a la taula de verificació assegurant-vos que cap dels cables de components es toqui. La resistència dependent de la llum i el condensador de ceràmica no tenen polaritat, cosa que significa que es pot connectar un corrent negatiu i positiu a qualsevol dels cables. Per tant, no us haureu de preocupar de quina manera s'han connectat aquests components al vostre circuit.

Un cop comprovat el circuit, connecteu acuradament els cables del pont als pins GPIO del vostre Raspberry Pi seguint el diagrama anterior.

Pas 3: creeu un script Python per llegir i registrar les vostres dades

Creeu un script Python per llegir i registrar les vostres dades
Creeu un script Python per llegir i registrar les vostres dades

Obriu IDLE al vostre Raspberry Pi (Menú> Programació> Python 2 (IDLE)) i obriu un projecte nou (File> New File). A continuació, escriviu el següent:

importar RPi. GPIO com a GPIO

importació temps importació data i hora loginterval = 60 # interval de registre en segons savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 0.000001 # 1uf adj = 2.130620985

resistència de mesura per def (mpin, tpin):

GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, fals) GPIO.output (tpin, fals) time.sleep (0,2) GPIO.setup (mpin, GPIO. IN) time.sleep (0.2) GPIO.output (tpin, True) starttime = time.time () endtime = time.time () mentre que (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () Return endtime-starttime def writing (txt, fn): f = open (fn, 'a') f.write (txt + '\ n') f.close () i = 0 t = 0 mentre que True: stime = time.time () per a un rang (1, 11): res = (mesura de la resistència (SensorPin, TriggerPin) / cap) * adj i = i + 1 t = t + res si a == 10: t = t / i print (t) writeline (str (datetime.datetime.now ()) + "," + str (t), savefilename) i = 0 t = 0 mentre que stime + loginterval> time.time (): #espera fins que el logtime tingui temps passat.sleep (0.0001)

Deseu el vostre projecte com a datalogger.py (Fitxer> Desa com a) a la carpeta Documents.

Ara obriu Terminal (Menú> Accessoris> Terminal) i escriviu l'ordre següent:

python datalogger.py

El script crearà un fitxer de text anomenat "lightlevels.txt" i l'actualitzarà cada 60 segons. Podeu canviar aquest nom de fitxer a la línia 6. També podeu ajustar la freqüència amb què s’actualitza el registre de dades canviant la línia 5.

Recomanat: