Cuprins:

Citirea și graficarea datelor senzorului de lumină și temperatură cu Raspberry Pi: 5 pași
Citirea și graficarea datelor senzorului de lumină și temperatură cu Raspberry Pi: 5 pași

Video: Citirea și graficarea datelor senzorului de lumină și temperatură cu Raspberry Pi: 5 pași

Video: Citirea și graficarea datelor senzorului de lumină și temperatură cu Raspberry Pi: 5 pași
Video: Recensământul în România este în plină desfăsurare | coNEcTat 2024, Iulie
Anonim
Citirea și graficarea datelor senzorului de lumină și temperatură cu Raspberry Pi
Citirea și graficarea datelor senzorului de lumină și temperatură cu Raspberry Pi

În acest Instructable veți învăța cum să citiți un senzor de lumină și temperatură cu raspberry pi și convertizor analogic digital ADS1115 și să-l graficați folosind matplotlib. Să începem cu materialele necesare.

Provizii

  1. Raspberry pi (oricine o va face, deși eu folosesc un 4)
  2. Card MicroSD cu Raspbian instalat (tutorial bun:
  3. Monitor HDMI și sursă de alimentare
  4. Cablu micro USB
  5. Convertor analogic digital Adafruit ADS 1115:
  6. Sârme de jumper
  7. senzor de lumină (LDR)
  8. senzor de temperatura
  9. potențiometrul x2 (valoarea va fi punctul mediu al gamei de rezistență a senzorilor dvs. de temperatură și lumină, pe care o vom măsura mai târziu)
  10. Pană de pâine

Pasul 1: configurați Raspberry Pi

1. Urmați acest tutorial pentru a configura raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Activați I2C: faceți clic pe simbolul zmeură pi din stânga sus. Mergeți la preferințe> configurație raspberry pi> interfețe> și bifați caseta „activați” pe I2C. Apoi faceți clic pe OK. Acum deschideți o fereastră de terminal. Pe linia de comandă tastați:

sudo apt-get upgrade

sudo pip3 instalați adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Pasul 2: Măsurați senzorii de lumină și temperatură

Acum va trebui să măsurăm rezistența senzorilor de lumină și temperatură. Luați un voltmetru pentru setarea măsurării rezistenței și măsurați cablurile senzorului de lumină în lumină și întuneric. Înregistrați valorile. Acum, luați voltmetrul pe cablurile senzorului de temperatură la cald și la rece (am folosit apă). Înregistrați valorile. Le vom folosi mai târziu în circuitul nostru.

Pasul 3: conectați-vă circuitul

Conectați-vă circuitul
Conectați-vă circuitul

1. Adunați materialele enumerate în lista de consumabile. Pentru potențiometre, utilizați o valoare care este media maximelor și minimelor (lumină și întuneric, cald și rece).

(mare-mic) / 2

2. Urmați schema de circuit de mai sus:

  1. Conectați SDA pe convertorul analogic digital la SDA pe pi
  2. Conectați SCL pe convertorul analogic la digital la SCL pe pi
  3. Conectați VDD pe convertorul analogic la digital la 3.3v pe pi
  4. Conectați GND la convertorul analogic la digital la masă pe pi
  5. Conectați restul componentelor conform schemei de circuit.

Pasul 4: Cod

1. Tastați terminalul:

nano digital.py

2. Lipiți codul pe care îl am mai jos sau pe Github în editorul de text care ar trebui să apară.

importați matplotlib.pyplot ca 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 (ads, ADS. P0) temp = AnalogIn (ads, 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 ('Timp (minute)') plt.ylabel (' Nivel ') plt.title (' Lumina și temperatura în timp ') plt.legend () în timp ce 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.pause (300)

3. Apăsați CTRL + X pentru a ieși, apăsați y pentru a salva, apoi apăsați Enter.

Rulați programul tastând terminalul:

sudo python3 digital.py

4. Reglați potențiometrele astfel încât graficul să prezinte o gamă largă de valori. Încercați să luminați senzorul și să opriți luminile din cameră pentru a vă asigura că graficul prezintă o gamă largă de valori.

Dacă oricare dintre valori scade sub partea inferioară, încercați să coborâți divizorul corespunzător (rândurile 29 și 31).

Dacă oricare dintre valori depășește partea de sus, încercați să măriți divizorul corespunzător (rândurile 29 și 31).

Pasul 5: Depanare

1. Verificați dublu toate conexiunile în raport cu schema circuitului

2. I2C detect - Vă va arăta toate dispozitivele conectate prin i2c:

Tastați terminalul:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Recomandat: