Logo Studenta

Reporte Practica 7

¡Estudia con miles de materiales!

Vista previa del material en texto

Practica 7
MicroPython - Arduino - Pi pico
Valentin Rodriguez 
Anota
Duran Morales 
Alejandro
ue
Ramirez Cordoba Karim 
Ariel
Practica 7
Descripción
1.-A partir de datos proporcionados por un sensor(temperatura, ultrasónico,...) empleando la 
tarjeta Arduino, almacenar los datos generados y almacenarlos en un archivo con extensión .txt 
o .dat , desde Python leer los datos y graficarlos que apoye en la detección de patrones, 
tendencias, relaciones...
2.-A partir de datos proporcionados por un sensor(temperatura, ultrasónico,...) empleando la 
tarjeta Raspberry PiPico... graficar directamente los datos generados por el sensor.
NumPy
es una librería de Python especializada en el cálculo numérico y el análisis de datos, 
especialmente para un gran volumen de datos.
Incorpora una nueva clase de objetos llamados arrays que permite representar colecciones de 
datos de un mismo tipo en varias dimensiones, y funciones muy eficientes para su 
manipulación.
La ventaja de Numpy frente a las listas predefinidas en Python es que el procesamiento de los 
arrays se realiza mucho más rápido (hasta 50 veces más) que las listas, lo cual la hace ideal 
para el procesamiento de vectores y matrices de grandes dimensiones.
La clase de objetos array
Un array es una estructura de datos de un mismo tipo organizada en forma de tabla o cuadrícula 
de distintas dimensiones.
Las dimensiones de un array también se conocen como ejes.
https://www.numpy.org/
Matplotlib
es una librería de Python especializada en la creación de gráficos en dos dimensiones.
Permite crear y personalizar los tipos de gráficos más comunes, entre ellos
 Diagramas de barra
 Histogram
 Diagramas de sectore
 Diagramas de caja y bigote
 Diagramas de violí
 Diagramas de dispersión o punto
 Diagramas de linea
 Diagramas de area
 Diagramas de contorn
 Mapas de color
y combinaciones de todos ellos.
En la siguiente galería de gráficos pueden apreciarse todos los tipos de gráficos que pueden 
crearse con esta librería.
https://matplotlib.org/
https://matplotlib.org/gallery/index.html
En el ejercicio 1 nosotros utilizamos la libreria numPy para analizar los datos del sensor y poder 
guardarlos en el archivo Datos_Sensor.txt, donde guardamos todos los datos del sensor de gas que nos 
prorpociono a traves del arduino
Y tambien utilizamos la libreria matplotlib para poder graficar estos datos
En la variable x guardamos los segundos para graficarlo a lo largo del plot 
Despues cargamos los atributos con la libreria Numpy, utilizando la funcion loadtxt donde le ordenamos 
de donde debe agarrar los datos, que columnas y filas cargar, guardarlos en la variable y al final 
imprimir los datos con un print
Despues empezamos a utilizar la libreria matplotlib para empezar a ordenar los datos, agregamos el 
titulo, una etiqueta horizontal que mencione los segundos, otra etiqueta vertical donde estaran los 
datos del gas 
Por llamamos el plot insertando los datos de “x” y “y”; y mostrarlos con la funcion .show()
Estos son los datos del archivo 
Codigo Arduino
Conexion
Para el segundo ejercicio utilizamos la libreria dht (del sensor de temperatura), la libreria time y 
la libreria machine (para utilizar los pines del pico pi.
El sensor DHT11
El DHT11 (Digital Humidity and Temperature) combina un sensor que mide indirectamente la 
humedad del aire a partir de resistencia de un sustrato que es capaz de absorber la humedad y 
un NTC que mide la temperatura. Normalmente viene en un encapsulado de color azul con 4 
pines, aunque a veces también está disponible montado sobre una placa con sólo 3 pines. La 
distribución de las señales en los pines es la
a
El pin de Datos necesita una resistencia de PULL 
UP de 10K para funcionar correctamente. En el 
encapsulado de 3 pines esta resistencia ya está 
soldada en la placa, mientras que en el 
encapsulado de 4 pines nosotros debemos 
agregarla.
El rango cubierto al medir la humedad ambiente es entre 20% y 90% con una precisión de ±5%. 
En el caso de la temperatura, es capaz de medir entre 0 y 50 grados centígrados con una 
precisión de ±2 grados. Como se ve, la precisión no es muy alta, así que está reservado a 
aplicaciones de bajo costo donde no necesitamos mediciones muy precisas. El sensor tampoco 
es muy rápido, debiéndose esperar al menos 1 segundo antes de la primer lectura, así como 
entre lecturas. La tensión de alimentación puede estar entre 3 y 5.5V. Si se necesita un rango 
mayor de medición, o mayor precisión, puede optarse por un modelo mejorado, el DHT22 (que 
usualmente es de color blanco).
Conexiones
El siguiente es el conexionado para un Pico pi. Se alimenta al sensor con 3,3 voltios y el pin 
Datos se conecta al pin 4 (GPIO28) de la placa.
El módulo DHT de Micropython
Micropython incluye el módulo dht de manera estándar, incluido en el firmware, así que no es 
necesario grabarlo en la placa. Resuelve todos los detalles del protocolo de comunicaciones, 
que se realiza sobre un único pin (el pin Datos) y es capaz de acceder tanto al DHT11 como al 
DHT22
Lo primero entonces es importar la clase DHT11 desde el módulo dht:
Luego debemos crear un objeto de la clase DHT11. El constructor acepta como parámetro el pin 
GPIO de la placa donde se conecta la señal Datos del sensor. En este ejemplo usaremos el pin 5
Los métodos para leer el sensor son los siguientes:
measure (): Se conecta con el sensor y realiza la medición
temperature (): Devuelve el valor de temperatura medido, en grados centígrados.
humidity (): Devuelve el valor de humedad relativa medido, en porcentaje.
El que sigue es un programa de aplicación completo, que realiza mediciones cada 1 segundo y 
muestra los resultados formateados en la consola de Thonny:
Thonny, además de permitirnos ver los valores impresos en la consola incluye el 
Ploter, que muestra los mismos valores en forma gráfica. Para activarlo debemos ir a 
Visualización – Plóter

Otros materiales