Sommario:

Realizzare un Data Logger con il Raspberry Pi: 3 Passaggi (con Immagini)
Realizzare un Data Logger con il Raspberry Pi: 3 Passaggi (con Immagini)

Video: Realizzare un Data Logger con il Raspberry Pi: 3 Passaggi (con Immagini)

Video: Realizzare un Data Logger con il Raspberry Pi: 3 Passaggi (con Immagini)
Video: GUIDA: Cloud Server (NAS) con Raspberry Pi 2024, Luglio
Anonim
Realizzare un data logger con il Raspberry Pi
Realizzare un data logger con il Raspberry Pi

Questo semplice data logger effettua misurazioni della luce regolari con un LDR (fotoresistenza) analogico e le memorizza in un file di testo sul tuo Raspberry Pi. Questo data logger misurerà e registrerà il livello di luce ogni 60 secondi, consentendoti di monitorare come la luminosità cambia per un periodo di tempo.

Se vogliamo utilizzare sensori analogici con il Raspberry Pi, dovremmo essere in grado di misurare la resistenza del sensore. A differenza dell'Arduino, i pin GPIO del Raspberry Pi non sono in grado di misurare la resistenza e possono rilevare solo se la tensione fornita loro è superiore a una certa tensione (circa 2 volt). Per ovviare a questo problema, potresti usare un convertitore analogico-digitale (ADC), oppure potresti usare un condensatore relativamente economico.

Passaggio 1: cosa ti servirà

Cosa ti servirà
Cosa ti servirà
Cosa ti servirà
Cosa ti servirà
Cosa ti servirà
Cosa ti servirà
Cosa ti servirà
Cosa ti servirà

- Un RaspberryPi con Raspbian già installato. Dovrai anche essere in grado di accedere al Pi utilizzando un monitor, un mouse e una tastiera o tramite Desktop remoto. Puoi usare qualsiasi modello di Raspberry Pi. Se hai uno dei modelli Pi Zero, potresti voler saldare alcuni pin di intestazione alla porta GPIO.

- Un resistore dipendente dalla luce (noto anche come LDR o fotoresistenza)

- Un condensatore ceramico da 1 uF

- Un tagliere di prototipazione senza saldatura

- Alcuni ponticelli maschio-femmina

Passaggio 2: costruisci il tuo circuito

Costruisci il tuo circuito
Costruisci il tuo circuito
Costruisci il tuo circuito
Costruisci il tuo circuito

Costruisci il circuito sopra sulla tua breadboard assicurandoti che nessuno dei cavi dei componenti si tocchi. Il resistore dipendente dalla luce e il condensatore ceramico non hanno polarità, il che significa che è possibile collegare una corrente negativa e positiva a entrambi i cavi. Pertanto non è necessario preoccuparsi del modo in cui questi componenti sono stati collegati nel circuito.

Dopo aver controllato il circuito, collega con attenzione i cavi jumper ai pin GPIO del tuo Raspberry Pi seguendo lo schema sopra.

Passaggio 3: crea uno script Python per leggere e registrare i tuoi dati

Crea uno script Python per leggere e registrare i tuoi dati
Crea uno script Python per leggere e registrare i tuoi dati

Apri IDLE sul tuo Raspberry Pi (Menu > Programmazione > Python 2 (IDLE)) e apri un nuovo progetto (File > Nuovo file). Quindi digitare quanto segue:

importa RPi. GPIO come GPIO

import time import datetime loginterval=60 #log intervallo in secondi savefilename="lightlevels.txt" SensorPin=17 TriggerPin=27

GPIO.setmode(GPIO. BCM)

cap=0.000001 #1uf adj=2.130620985

def misuraresistenza(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 () return endtime-starttime def writeline(txt, fn): f = open(fn, 'a') f.write(txt+'\n') f.close() i=0 t=0 while True: stime= time.time() per a in range(1, 11): res=(measureresistance(SensorPin, TriggerPin)/cap)*adj i=i+1 t=t+res if a==10: t=t/i print(t) writeline(str(datetime.datetime.now())+", "+str(t), savefilename) i=0 t=0 while sti+loginterval>time.time(): #wait fino a quando il logtime ha tempo passato.sonno(0.0001)

Salva il tuo progetto come datalogger.py (File > Salva con nome) nella cartella Documenti.

Ora apri Terminale (Menu> Accessori> Terminale) e digita il seguente comando:

python datalogger.py

Lo script creerà un file di testo denominato "lightlevels.txt" e lo aggiornerà ogni 60 secondi. È possibile modificare questo nome file sulla riga 6. È inoltre possibile regolare la frequenza con cui il registratore dati si aggiorna modificando la riga 5.

Consigliato: