









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Proyecto Sensor PIR y graficacion con pytrhon
Tipo: Ejercicios
1 / 17
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!










Proyecto monitorización de sensor de proximidad. Antecedentes Computación cuántica: Python también ha incursionado en el ámbito de la computación cuántica. En este contexto, se ha desarrollado el proyecto Cirq, una biblioteca de código abierto de Google que permite la construcción, simulación y ejecución de circuitos cuánticos mediante Python. Esta integración facilita la programación y experimentación en computadoras cuánticas, aprovechando la familiaridad y versatilidad de Python en este campo emergente de la informática. Micropython: Micropython es una implementación ligera de python3. creada por el físico y programador Damien George en 2014 gracias a una exitosa campaña en Kickstarter, junto a la Pyboard, la placa oficial de micropython, desde entonces se ha portado a diferentes plataformas. A nivel de microcontroladores micropython es un sistema operativo, que incluye un subconjunto de librerías importantes de python (la librería socket es muy similar a la que usamos en un ordenador) y algunas navitvas para controlar proyectos electrónicos, además de una sheel interactiva, además micropython permite utilizar código C++ para optimizar su velocidad. Micropython trata de ser multiplataforma al tener compatibilidad con código Python normal y poder enviar tu código de la computadora al microcontrolador con total tranquilidad. Internet de las cosas: Python cuenta con una amplia gama de bibliotecas y marcos de trabajo que simplifican el desarrollo de aplicaciones IoT. Por ejemplo, bibliotecas como requestsy urllib permiten la comunicación con servicios web y la obtención de datos desde lanube. También existen bibliotecas especializadas para interactuar con diferentes protocolos de comunicación utilizados en el IoT, como MQTT (Message Queuing Telemetry Transport) y CoAP (Constrained Application Protocol). Una forma de usar Python en la programación de microcontroladores es a través de MicroPython, que es una implementación sencilla y eficiente del lenguaje de programación Python 3 que incluye un pequeño subconjunto de la biblioteca estándar de Python y está optimizado para ejecutarse en microcontroladores y en entornos restringidos.
Procedimiento El procedimiento para realizar este proyecto se puede dividir en las siguientes etapas:
Desarrollo del Código Arduino: Escribir el código en el entorno de desarrollo de Arduino para leer los datos del sensor. Implementar la lógica necesaria para transmitir estos datos a la computadora. Desarrollo del Código Python: Desarrollar un código de Python aplicando lo previamente aprendido para lograr la conexión entre el sensor Arduino y Python para así de esta manera poder recibir los datos que se necesitamos para el correcto funcionamiento Utilizar bibliotecas ya previamente desarrolladas por externos como PySerial para la comunicación serial entre Arduino y Python. Procesamiento de Datos en Python: Analizar y procesar los datos recibidos según sea necesario. Implementar la lógica para preparar los datos para el graficado. Graficado de Datos: Utilizar bibliotecas de Python como Matplotlib o Plotly para crear gráficos con los datos procesados. Configurar y personalizar los gráficos según las necesidades del proyecto. Pruebas y Depuración: Realizar pruebas exhaustivas del sistema para garantizar su correcto funcionamiento. Identificar y corregir posibles errores en el código. Resultados y correcciones: Documentar el código, el circuito y cualquier configuración específica del proyecto. Crear un informe que explique el propósito del proyecto, la metodología utilizada y los resultados obtenidos. Sensor PIR Los sensores infrarrojos pasivos (PIR) son dispositivos para la detección de movimiento. Son baratos, pequeños, de baja potencia, y fáciles de usar. Por esta razón son frecuentemente usados en juguetes, aplicaciones domóticas o sistemas de seguridad.
Este sensor también cuenta con dos potenciómetros, De acuerdo a la figura, el usuario puede ajustar tanto el tiempo de disparo de la señal de alarma de movimiento, como la distancia de detección. Los potenciómetros correspondientes deben girarse en la dirección mostrada para realizar los ajustes.
Esquema eléctrico Este es el esquema de patillaje de un sensor PIR. Nosotros podemos trabajar en 2 modos de operación: 1 solo disparo: en este modo, cuando ocurre una detección de movimiento (el cual llamaremos ‘evento’), la salida del sensor se activa durante el tiempo que se haya ajustado a través del potenciómetro correspondiente. Para efectos de ejemplo, supongamos que el tiempo de activación es de 60 segundos. Si durante esos 60 segundos ocurre un segundo evento, éste no será considerado. Disparos repetitivos: en este modo, cada evento detectado genera un nuevo tiempo de activación. Volviendo al ejemplo de tiempo de 60 segundos. Cuando ocurre el primer evento, la salida se activa. Si transcurridos 30 segundos ocurre un segundo evento, entonces se sumarán 60 segundos al tiempo transcurrido, dando un total de 90 segundos continuos con la salida activa. Y así, cada evento adicional, sumará un tiempo de 60 segundos de activación al tiempo ya transcurrido. En cualquier caso, si la salida regresa a su estado inactivo, habrá un lapso de 3 segundos durante los cuales los nuevos eventos no serán considerados. Pasados esos 3 segundos, el dispositivo regresa a su funcionamiento normal.
Procesos Python - pyserial Necesitamos aprender cómo usar la librería py-serial en Python la cual nos permitirá enviar yrecibir comandos de nuestro Arduino, o en general cualquier microcontrolador que se pueda comunicar por el puerto serial.
_1. local = "COM" + str(number) # /dev/ttyUSBx COMx
Resultados Código IDE Arduino: Definiciones Constantes: Estas líneas definen constantes para los números de pin conectados al sensor PIR (pirPin) y al LED (ledPin). En este caso, el sensor PIR está conectado al pin 2 y el LED al pin 13.
serial. También hay un retardo de 500 milisegundos entre cada iteración para controlar la frecuencia a la que se verifica el sensor. Código de Python: Importación de Bibliotecas: Esta sección importa las bibliotecas necesarias. serial se utiliza para la comunicación serie con el Arduino, y matplotlib se utiliza para la visualización de datos.
Configuración de la Comunicación Serie: Establece una conexión serie con el Arduino en el puerto especificado ('COM3') y a una velocidad de baudios de 9600. inicialización del Gráfico: Inicializa una figura y ejes de matplotlib para el gráfico. xdatos e ydatos almacenarán los puntos de datos x e y para el gráfico. Función de Animación: Esta función, animate, es llamada por la clase FuncAnimation de matplotlib.animation. Lee una línea de datos del Arduino, la convierte a un número decimal y la añade a las listas xdatos e ydatos. Luego, el gráfico se
Resultados en fisico Para finalizar, la conexión del sensor con el arduino y el programa se muestra a continuacion:
Fuentes y referencias: https://www.genbeta.com/desarrollo/que-micropython- lenguaje-programacion-que-puedes-usartu-arduino- probar-tu-navegador https://www.profetolocka.com.ar/2020/12/19/micropython-usando-el- sensor-hc-sr04/ https://www.youtube.com/watch?v=Dkg4cSvqv10&ab_ channel=cctmexico https://www.luisllamas.es/controlar-arduino-con-python- y-la-libreria-pyserial/ https://www.luisllamas.es/detector-de-movimiento-con-arduino-y-sensor-pir/ https://unprogramador.com/sensor-de-movimiento-pir-con-arduino/ https://www.luisllamas.es/controlar-arduino-con-python-y-la-libreria-pyserial/ https://www.tusclases.mx/blog/arduino-python-controlar-arduino-desde- python