Tabla de contenido:

Lectura y representación gráfica de datos de sensores de luz y temperatura con Raspberry Pi: 5 pasos
Lectura y representación gráfica de datos de sensores de luz y temperatura con Raspberry Pi: 5 pasos

Video: Lectura y representación gráfica de datos de sensores de luz y temperatura con Raspberry Pi: 5 pasos

Video: Lectura y representación gráfica de datos de sensores de luz y temperatura con Raspberry Pi: 5 pasos
Video: Visualización de datos provenientes de sensor BME280 con Grafana y base de datos MySQL Raspberry Pi 2024, Noviembre
Anonim
Lectura y representación gráfica de datos de sensores de luz y temperatura con Raspberry Pi
Lectura y representación gráfica de datos de sensores de luz y temperatura con Raspberry Pi

En este Instructable, aprenderá a leer un sensor de luz y temperatura con raspberry pi y un convertidor analógico a digital ADS1115 y graficarlo usando matplotlib. Comencemos con los materiales necesarios.

Suministros

  1. Raspberry pi (cualquiera servirá, aunque estoy usando un 4)
  2. Tarjeta MicroSD con Raspbian instalado (buen tutorial:
  3. Monitor HDMI y fuente de alimentación
  4. Cable micro USB
  5. Convertidor de analógico a digital Adafruit ADS 1115:
  6. Cables de puente
  7. sensor de luz (LDR)
  8. sensor de temperatura
  9. potenciómetro x2 (el valor será el punto medio del rango de resistencia de tus sensores de temperatura y luz, que mediremos más adelante)
  10. Tablero de circuitos

Paso 1: configura tu Raspberry Pi

1. Siga este tutorial para configurar su raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Habilitar I2C: haga clic en el símbolo raspberry pi en la esquina superior izquierda. Vaya a preferencias> configuración de raspberry pi> interfaces> y marque la casilla "habilitar" en I2C. Luego haga clic en Aceptar 3. Ahora abre una ventana de terminal. En la línea de comando, escriba:

sudo apt-get upgrade

sudo pip3 instalar adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Paso 2: Mida sus sensores de luz y temperatura

Ahora vamos a necesitar medir la resistencia de los sensores de luz y temperatura. Tome un voltímetro en la configuración de medición de resistencia y mida a través de los cables de su sensor de luz en la luz y en la oscuridad. Registre los valores. Ahora tome su voltímetro en los cables de su sensor de temperatura en caliente y en frío (usé agua). Registre los valores. Los usaremos más adelante en nuestro circuito.

Paso 3: Conecte su circuito

Conecte su circuito
Conecte su circuito

1. Reúna los materiales enumerados en la lista de suministros. Para los potenciómetros, use un valor que sea el promedio de los altos y bajos (claro y oscuro, caliente y frío).

(alto-bajo) / 2

2. Siga el diagrama de circuito anterior:

  1. Conecte SDA en el convertidor analógico a digital a SDA en el pi
  2. Conecte SCL en el convertidor analógico a digital a SCL en el pi
  3. Conecte VDD en el convertidor analógico a digital a 3.3v en el pi
  4. Conecte GND en el convertidor analógico a digital a tierra en el pi
  5. Conecte el resto de componentes de acuerdo con el diagrama de circuito.

Paso 4: Código

1. Escriba terminal:

nano digital.py

2. Pegue el código que tengo a continuación o en Github en el editor de texto que debería aparecer.

importar matplotlib.pyplot como plt

import numpy as np import board import busio import time import adafruit_ads1x15.ads1115 como ADS de adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C (board. SCL, board. SDA) ads = ADS. ADS1115 (i2c) x = 0 light = AnalogIn (anuncios, ADS. P0) temp = AnalogIn (anuncios, 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 ('Tiempo (minutos)') plt.ylabel (' Nivel ') plt.title (' Luz y temperatura a lo largo del tiempo ') 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. Ahora presione CTRL + X para salir, presione y para guardar, luego presione enter.

Ejecute su programa escribiendo en la terminal:

sudo python3 digital.py

4. Ajuste los potenciómetros para que el gráfico muestre una amplia gama de valores. Intente iluminar el sensor con una luz y apague las luces de la habitación para asegurarse de que el gráfico muestre una amplia gama de valores.

Si alguno de los valores cae por debajo de la parte inferior, intente bajar el divisor correspondiente (línea 29 y 31).

Si alguno de los valores va por encima de la parte superior, intente aumentar el divisor correspondiente (línea 29 y 31).

Paso 5: solución de problemas

1. Verifique todas las conexiones con el diagrama del circuito.

2. Detección de I2C: le mostrará todos los dispositivos conectados a través de i2c:

Escriba terminal:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Recomendado: