Sommario:

Leggere e rappresentare graficamente i dati del sensore di luce e temperatura con Raspberry Pi: 5 passaggi
Leggere e rappresentare graficamente i dati del sensore di luce e temperatura con Raspberry Pi: 5 passaggi

Video: Leggere e rappresentare graficamente i dati del sensore di luce e temperatura con Raspberry Pi: 5 passaggi

Video: Leggere e rappresentare graficamente i dati del sensore di luce e temperatura con Raspberry Pi: 5 passaggi
Video: Arduino e Processing: LFS - Light Follower Sensor. Sensore ad Inseguimento di Luce autocostruito. 2024, Dicembre
Anonim
Leggere e rappresentare graficamente i dati dei sensori di luce e temperatura con Raspberry Pi
Leggere e rappresentare graficamente i dati dei sensori di luce e temperatura con Raspberry Pi

In questo Instructable imparerai come leggere un sensore di luce e temperatura con raspberry pi e convertitore analogico-digitale ADS1115 e graficarlo usando matplotlib. Iniziamo con i materiali necessari.

Forniture

  1. Raspberry pi (qualcuno lo farà, anche se sto usando un 4)
  2. Scheda MicroSD con Raspbian installato (buon tutorial:
  3. Monitor HDMI e fonte di alimentazione
  4. Cavo micro USB
  5. Convertitore analogico-digitale Adafruit ADS 1115:
  6. Ponticelli
  7. sensore di luce (LDR)
  8. termometro
  9. potenziometro x2 (il valore sarà il punto medio dell'intervallo di resistenza dei sensori di temperatura e luce, che misureremo in seguito)
  10. tagliere

Passaggio 1: configura il tuo Raspberry Pi

1. Segui questo tutorial per configurare il tuo raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Abilita I2C: fai clic sul simbolo raspberry pi in alto a sinistra. Vai su preferenze > configurazione raspberry pi > interfacce > e seleziona la casella "abilita" su I2C. Quindi fare clic su OK.3. Ora apri una finestra di terminale. Sulla riga di comando digita:

sudo apt-get upgrade

sudo pip3 install adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Passaggio 2: misura i sensori di luce e temperatura

Ora avremo bisogno di misurare la resistenza dei sensori di luce e temperatura. Prendi un voltmetro sull'impostazione della misurazione della resistenza e misura attraverso i cavi del sensore di luce alla luce e al buio. Registra i valori. Ora prendi il tuo voltmetro sui cavi del tuo sensore di temperatura nel caldo e nel freddo (ho usato l'acqua). Registra i valori. Li useremo più avanti nel nostro circuito.

Passaggio 3: collegare il circuito

Collega il tuo circuito
Collega il tuo circuito

1. Raccogliere i materiali elencati nell'elenco dei materiali di consumo. Per i potenziometri utilizzare un valore che sia la media degli alti e dei bassi (chiaro e scuro, caldo e freddo).

(alto-basso) / 2

2. Seguire lo schema del circuito sopra:

  1. Collegare SDA sul convertitore da analogico a digitale a SDA sul pi
  2. Collegare SCL sul convertitore da analogico a digitale a SCL sul pi
  3. Collegare VDD sul convertitore analogico-digitale a 3.3v sul pi
  4. Collegare GND sul convertitore da analogico a digitale a massa sul pi
  5. Collegare il resto dei componenti secondo lo schema elettrico.

Passaggio 4: codice

1. Digitare nel terminale:

nano digital.py

2. Incolla il codice che ho sotto o su Github nell'editor di testo che dovrebbe apparire.

importa matplotlib.pyplot come plt

import numpy as np import board import busio import time import adafruit_ads1x15.ads1115 as ADS from adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C(board. SCL, board. SDA) ads = ADS. ADS1115(i2c) x = 0 light = AnalogIn (annunci, ADS. P0) temp = AnalogIn(annunci, ADS. P1) X1 = X2 = Y1 = Y2 = plt.ylim(-50, 1000) plt.plot(X1, Y1, label = "light", color = '#0069af') plt.plot(X2, Y2, label = "Temp", color = '#ff8000') plt.xlabel('Time(minutes)') plt.ylabel(' Level') plt.title('Light and temp over time') plt.legend() while True: x += 5 Y1.append(light.value/30) X1.append(x) Y2.append(temp.value /3) X2.append(x) plt.plot(X1, Y1, label = "light", color = '#0069af') plt.plot(X2, Y2, label = "Temp", color = '#ff8000') plt.pausa(300)

3. Ora premi CTRL+X per uscire, premi y per salvare, quindi premi invio.

Esegui il tuo programma digitando nel terminale:

sudo python3 digital.py

4. Regolare i potenziometri in modo che il grafico mostri un'ampia gamma di valori. Prova a puntare una luce sul sensore e a spegnere le luci nella stanza per assicurarti che il grafico mostri un'ampia gamma di valori.

Se uno dei valori scende al di sotto del minimo, provare ad abbassare il divisore corrispondente (riga 29 e 31).

Se uno dei valori supera il massimo, provare ad aumentare il divisore corrispondente (riga 29 e 31).

Passaggio 5: risoluzione dei problemi

1. Ricontrolla tutti i collegamenti rispetto allo schema elettrico

2. Rilevamento I2C: ti mostrerà tutti i dispositivi collegati tramite i2c:

Digita nel terminale:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Consigliato: