Mostrando entradas con la etiqueta laser. Mostrar todas las entradas
Mostrando entradas con la etiqueta laser. Mostrar todas las entradas

martes, 16 de febrero de 2021

Contenedor Inteligente

 

Contenedor inteligente con Arduino y ThingSpeak

DATOS

Master Universitario en Profesor de Educación Secundaria Obligatoria, Bachillerato, Formación Profesional y Enseñanza de Idiomas.

Universidad de Salamanca

Asignatura: Innovación Docente en la Especialidad de Tecnología.

Curso: 2020/2021

Autor: Álvaro Lozano Murciego

CONTEXTO 

La actividad se enmarca como un proyecto a desarrollar a lo largo de varias sesiones en la asignatura de Tecnología de 4ºESO de Aplicadas. Se parte de unos conocimientos mínimos previos de electrónica y se podrá enseñar programación con Arduino y temas más avanzados relacionados con la conexión con servicios de Internet.

Se encuentra enmarcado en el Bloque Robótica y Control.

ENUNCIADO

El objetivo de este proyecto es el desarrollo de un contenedor "inteligente" que presente las siguientes características:

  • Se pueda abrir su tapa sin contacto y sin esfuerzo: Se accionará con un sensor de ultrasonidos cuando la distancia con un obstáculo sea menor que cierto valor.
  • Monitorice y muestre el nivel de llenado y lo publique en un sitio web: el porcentaje de llenado deberá estar accesible tanto de forma online como localmente en el propio dispositivo.

MATERIALES NECESARIOS Y REQUISITOS PREVIOS

Para llevar a cabo el siguiente proyecto serán necesarios los siguientes materiales:
  • 1 x Cubo de basura comercial: shorturl.at/AHIW5. La idea principal es modificarlo para hacerlo "inteligente" con distintos sensores. Este apartado es libre.
  • 1 x Sensor de ultrasonidos HC-SR04: Tendrá la función de sensor de distancia para aproximar el porcentaje del contenedor, en este caso el sensor apuntará hacia el interior del contendor para tal fin.
  • 1 x Sensor de distancia Time of Flight (ToF): Se trata de un sensor de distancia más preciso que el de ultrasonidos y sin tanto rango de apertura. Este sensor será el empleado para accionar la apertura de la tapa del contenedor si se detecta una distancia menor a un umbral definido.

  • 1 x MicroServo 9g : Este actuador será el encargado de abrir la tapa del contenedor.



  • 1 x M5Stick C Plus: En este caso se empleará este dispositivo como microcontrolador. Este dispositivo esta basado en el microcontrolador ESP32 (de la empresa Espressiff) y forma parte de la empresa M5Stack, empresa de hardware electrónico educativo. La diferencia fundamental con Arduino UNO (ATMega328p) consiste en que el microcontrolador ESP32 posee conexión WiFi y Bluetooth BLE, un factor que lo hace perfecto para Internet de las Cosas (IoT) a la vez de su bajo coste, unos 5 euros un ESP32. Por lo demás, es posible utilizar el Core de Arduino (el lenguaje de programación Arduino y sus bibliotecas) con este microcontrolador. Para instalar esta placa en el IDE de Arduino es sumamente sencillo, basta seguir los pasos que se indican AQUI. Una vez instalado ya podemos seleccionar la placa en el IDE de Arduino. Una vez explicado qué es el ESP32, podemos abordar el M5Stick C Plus, dispositivo con distintos periféricos (Pantalla LED, Micrófono, Acelerómetro, etc.) Esto es muy útil ya que permite realizar muchas prácticas con el mismo dispositivo, sin embargo puede quedarse algo corto en cuanto a pines disponibles, M5Stack posee más dispositivos como el M5Stack Core Basic.

  • N x Cableado: Serán necesarios varios cables y jumpers para el prototipo en la protoboard y posteriormente para instalar el cableado en la papelera.
  • Pegamento termofusible: Necesario para fijar toda la parte de cableado y la caja en la parte de la tapa del contenedor.
Además de estos materiales, será necesario contar con el siguiente software/cuentas:
  • Arduino IDE y con placa ESP32 instalada:  Seguir los pasos descritos AQUI.
  • Cuenta en ThingSpeak: Será necesario crear una cuenta en https://thingspeak.com/ aquí podremos crear hasta 4 "channels" o canales donde podremos publicar la información del sensor. Con crear un solo canal será necesario. Posteriormente en el código se detallarán los pasos a seguir.
  • ThingSpeak Arduino: Será necesario instalar la biblioteca de ThingSpeak para Arduino en el IDE desde el gestor de bibliotecas.
  • M5Stick C Plus: Instalar la biblioteca con este nombre desde el gestor de bibliotecas.

DESCRIPCIÓN DE LOS MECANISMOS DEL PROTOTIPO Y DEL FUNCIONAMIENTO

La idea principal del proyecto consiste en conseguir desarrollar un programa que se accione un motor para poder abrir la tapadera durante unos segundos y posteriormente pasar a cerrarla. Por tanto, deberemos realizar un mecanismo con el que abrir la tapa como se muestra a continuación:


Por otro lado, el programa del microcontrolador también deberá medir la distancia desde la parte superior del contenedor de tal forma que se pueda aproximar el volumen de llenado del contenedor.

La información de llenado se enviará a ThingSpeak a través de una petición HTTP utilizando la biblioteca de Arduino para tal servicio. En ThingSpeak será necesario configurar un canal en el que recibir los datos y mostrar una visualización de éstos en una gráfica:

DISEÑO DEL CIRCUITO ELECTRÓNICO (TINKERCAD y Diagrams.net)



DIAGRAMA DE FLUJO DEL PROGRAMA



CÓDIGO ARDUINO, BIBLIOTECAS Y REPOSITORIO GITHUB

Bibliotecas Necesarias:

  • ESP32Servo
  • ThingSpeak Arduino ESP32
  • Wire
  • Wifi
Repositorio:

IMAGEN DEL PROTOTIPO




VIDEO DEMOSTRATIVO







lunes, 12 de febrero de 2018

PROYECTO ARDU-RADAR: RADAR CONTROLADO POR ARDUINO

DESCRIPCIÓN

El proyecto consiste en un radar controlado por Arduino Uno R3, movido por un servomotor y con detección de objetos a través de un sensor de ultrasonidos HC-SR04. Cuenta además con un display LCD 1602, un led RGB para señalizar los distintos modos de funcionamiento activos (amarillo: modo manual; verde: modo auto; rojo:deteccion de intruso), relé y módulo láser, un sensor de temperatura LM35 que nos dará una lectura de la temperatura ambiente, un joystick y un pulsador.

Por su complejidad tanto de programación como de montaje, se trata de un proyecto posiblemente más orientado a Bachillerato o a determinados Ciclos de Formación Profesional.



REALIZADO POR

Alberto Regalado López
Abraham Sánchez Roldán

Como proyecto de la asignatura:  Innovación docente en la especialidad de tecnología. Incluida en el Máster de Profesor de Educación Secundaria Obligatoria y Bachillerato, Formación Profesional y Enseñanzas de Idiomas. Curso 2017-2018.


COMPONENTES








ESQUEMA CON FRITZING




CÓDIGO

Enlace Arduradar_FinalVersion.ino




FUNCIONAMIENTO

El radar dispone de dos modos de funcionamiento:

Manual: se activa al alimentar Arduino. Permite mover con el joystick el servo y con el pulsador del propio joystick (presionando hacia adentro), activa el relé y el módulo láser durante 2,5 segundos. En la pantalla LCD se muestra el ángulo en el que se encuentra el servomotor y la distancia medida por el sensor de ultrasonidos. El led RGB se ilumina en amarillo. Este modo se utilizará como modo de mantenimiento típico en máquinas automáticas (ideal para calibrados, ajustes, pruebas, detección de averías, etc.)

Automático: se activa cuando desde el modo manual se acciona un pulsador de cambio de modo. Desde ese momento, en la pantalla LCD se muestra un mensaje indicando que el modo automático se ha activado, la temperatura y la distancia medida. El servo realiza barridos desde 15 a 165 grados (limitación dada por el mecanismo realizado con piezas de LEGO) de forma continua, comprobando que el área cubierta por el radar esté libre de objetos

En el caso de que existiera algún objeto por debajo de 20 cm, el servomotor se detiene, led RGB pasa a color rojo, y en el LCD se muestra que se ha detectado un intruso y a qué distancia. Se activan también de forma intermitente el zumbador, láser apuntando al objeto, y el relé, el cuál desactiva la iluminación general de la zona de trabajo del radar (en nuestro caso, un flexo de escritorio a 230VAC). Una vez el objeto sea retirado, el sistema vuelve al modo automático.

La detección se produce cuando el objeto se encuentra a una determinada distancia o menos del radar (20 cm, pudiendo cambiarse en programa). 



VÍDEO





GALERÍA DE IMÁGENES