Tabla de contenido:
- Paso 1: Piezas y componentes
- Paso 2: el sensor
- Paso 3: personalización del reloj en tiempo real
- Paso 4: Otros varios a bordo
- Paso 5: esquema
- Paso 6: software y lógica
Video: Postino: ¿El cartero entregó algo ?: 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Ni una idea mía: un día un amigo me pidió una forma de comprobar de forma remota si había algún correo en su buzón. El buzón no está en el camino hacia su puerta, así que, como es un niño vago, se preguntó si un dispositivo tecnológico debería poder advertirle de cualquier carta en el buzón. Eché un vistazo al mercado y no pude encontrar ningún dispositivo listo para usar que se adaptara a sus necesidades, así que me planteé un desafío: ¿por qué no diseñarlo y construirlo?
Las limitaciones fueron:
- funciona con batería con una vida útil razonable entre cambios de batería;
- Comunicación WiFi;
- verifique solo una vez al día si hubo correo o no;
La pregunta principal era: ¿qué tipo de sensor podría adaptarse a mis necesidades? Un sensor de proximidad no podía funcionar, ya que la verificación tenía que realizarse solo una vez al día y no en tiempo real; tampoco un sensor de peso, ya que esto habría añadido problemas de complejidad y sensibilidad (una hoja de papel podría resultar muy ligera). Mi elección aterrizó en un sensor de tiempo de vuelo (un micro láser). Una vez calibrado para el tamaño del buzón, ¡cualquier cosa que estuviera en el medio habría activado el sensor! Teniendo en cuenta las 3 limitaciones, decidí usar un ESP8266 (ejecutando el software y vinculándolo a WiFi), un sensor de tiempo de vuelo VL6180 para la medición y un reloj de tiempo real DS3231 para activar todos los circuitos una vez al día: así fue como ¡Postino nació!
Paso 1: Piezas y componentes
- ESP8266-01 (o ESP-12E NodeMCU)
- Sensor de tiempo de vuelo VL6108
- Reloj en tiempo real DS3231
- MosFET de canal N IRLZ44
- Transistor BC547
- Resistencias
- Batería CR123
Paso 2: el sensor
El corazón del sistema es el sensor VL6180. Se trata de una tecnología innovadora que permite medir la distancia absoluta independientemente de la reflectancia del objetivo. En lugar de estimar la distancia midiendo la cantidad de luz reflejada desde el objeto (que está significativamente influenciada por el color y la superficie), el VL6180X mide con precisión el tiempo que la luz tarda en viajar al objeto más cercano y reflejarse en el sensor (Tiempo -luz apagada). Combinando un emisor de infrarrojos, un sensor de rango y un sensor de luz ambiental en un paquete reflowable listo para usar tres en uno, el VL6180X es fácil de integrar y ahorra al fabricante del producto final optimizaciones de diseño ópticas y mecánicas largas y costosas.
El módulo está diseñado para un funcionamiento de baja potencia. Usé la placa de ruptura Pololu que tiene reguladores de voltaje a bordo que le permiten trabajar en un rango de voltaje de entrada de 2.7 V a 5.5 V.
El sensor permite 3 factores de escala válidos que establecen el rango máximo de medición de 20 a 60 cm, con diferentes sensibilidades. Al configurar un factor de escala de rango, el rango máximo potencial del sensor se puede aumentar a costa de una resolución más baja. Establecer el factor de escala en 2 proporciona un rango de hasta 40 cm con una resolución de 2 mm, mientras que un factor de escala de 3 proporciona un rango de hasta 60 cm con una resolución de 3 mm. Tienes que probar las 3 escalas con las dimensiones de tu buzón. Como el mío era de 25 cm (H), utilicé el factor de escala = 1.
Paso 3: personalización del reloj en tiempo real
Para el RTC utilicé una placa de conexión DS3231 que incluye una EEPROM (inútil para mi propósito) y una batería del tamaño de una moneda. Cuando decidí alimentar el RTC a través de la batería del dispositivo principal (una CR123 de 3v), quité la batería tipo moneda; para ahorrar energía, también quité la EEPROM (cortando con cuidado sus pines) y el led integrado.
La batería de moneda no me resultó útil porque no necesitaba mantener la fecha / hora / minuto / segundo en tiempo real, pero el RTC solo tenía que contar durante 24 horas y luego activar la alarma para encender el dispositivo.
Paso 4: Otros varios a bordo
El encendido del dispositivo se logra mediante un transistor y un circuito MosFET, activado por la alarma RTC. Una vez que se restablece la alarma, el circuito corta la energía al dispositivo por otro ciclo de 24 horas. Cuando se alcanza la alarma, el DS3231 cambia un pin de alto a bajo: en condiciones normales, el transistor está saturado y cortocircuita la puerta del MosFET a tierra. Una vez que la alarma lleva la base del transistor a tierra, se abre y permite que el MosFET cierre el circuito y dé energía al resto de los componentes.
Además, agregué un puente de "prueba-1M". El propósito de este conmutador es, si está activado, cambiar el ciclo de una vez al día a una vez por minuto, para ejecutar pruebas de implementación. Para cambiar el intervalo de un día a un minuto, primero debe cerrar el puente “Test-C” durante unos 15 segundos, para evitar el período de activación de la alarma del reloj y encender el dispositivo. Cuando terminen las pruebas, abra los puentes y reinicie el dispositivo (apague y encienda).
Paso 5: esquema
Paso 6: software y lógica
Durante las pruebas utilicé (por razones prácticas) un controlador NodeMCU, por lo que el software se encarga de esto configurando la variable CHIP en “NodeMCU” o “esp8266”.
El boceto implementa la biblioteca WiFiManager para permitir que el dispositivo se conecte a un AP WiFi válido durante la primera ejecución. En tal caso, el dispositivo entra en modo AP, lo que le permite conectarse y elegir la red WiFi adecuada para unirse. Después de eso, la configuración de la red se guarda en la EPROM para los ciclos posteriores.
La variable REST_MSG contiene el mensaje http para enviar cuando el sensor encuentra un objeto en el buzón. En mi caso, envía un mensaje a un servidor REST domótico, pero puedes cambiarlo como prefieras: un mensaje BOT de Telegram, un evento IFTTT WebHook, etc.
El resto del boceto está todo en la función setup (), ya que nunca se alcanza el bucle. Después de las configuraciones necesarias para las distintas bibliotecas, el software establece la hora del reloj en 00:00:01 y la alarma en una vez al día (o una vez por minuto si el puente “test-1M” está activado). Luego realiza la medida, envía la notificación (si se encuentra algún objeto en el buzón) y resetea el pin de alarma, apagando el dispositivo. Al final del ciclo, solo se enciende el RTC, contando durante 24 horas. El jumper Test-1M se conecta al pin RX del ESP8266, utilizado como GPIO-3 mediante el ajuste: setMode (PIN, FUNCTION_3). Debido a esto, no puede usar el monitor serial mientras ejecuta el ESP8266: la línea “#define DEBUG” (que permite todas las impresiones seriales en el boceto) se usa solo cuando se instala un NodeMCU en lugar de un ESP8266.
El ESP8266 maneja la comunicación I2C con el RTC y el sensor a través de sus pines GPIO-0 y GPIO-2, inicializados en la biblioteca Wire.
El código completo se puede descargar desde este enlace.
Finalista en el concurso de tecnología de asistencia
Recomendado:
Renegade-i (probador de circuitos integrados programable que se siente como algo real): 3 pasos (con imágenes)
Renegade-i (Probador de IC programable que se siente como algo real): EL SUEÑO DEL MILLÓN DE DÓLARES. ¿Alguna vez has soñado con tener tu propio probador de IC en casa? No solo un dispositivo que puede probar IC, sino una máquina "programable" que se siente como uno de los productos estrella de los principales actores de la industria de pruebas de semiconductores, como
ESP algo: 6 pasos
Algo ESP: Mi propósito aquí es compartir mi experiencia con el ESP8266 a través de los módulos ESP-01, ESP-12 y NodeMCU. Explicaré: 1. Cómo conectar el ESP-01 a su computadora 2. Vuelva a cargar el firmware AT 3. Utilice Arduino IDE para programar el chip 4. Experiencia de nodo MCU 5
Haz algo agradable con una consola de juegos rota: 6 pasos
Haz algo agradable con una consola de juegos rota: Hace un tiempo, mi amigo me dio su vieja PS2 que ya no funciona. Desafortunadamente, como no soy ingeniero eléctrico, no puedo arreglar la consola, pero puedo usar mi conocimiento de RetroPie para crear un nuevo sistema de juego. (Para este instructable yo
Cómo modificar un motor de CC en algo asombroso: 5 pasos
Cómo modificar un motor de CC en algo asombroso: Hola amigos en este instructivo, hice una modificación asombrosa de mi antiguo motor de CC en el que se quitó el cuerpo del motor y la rotación del rotor es claramente visible … Continuar leyendo
Convierta un dispositivo de plástico genérico en algo un poco más hermoso: 14 pasos (con imágenes)
Convierta un artilugio de plástico genérico en algo un poco más hermoso: Motivación: durante el verano estoy navegando o trabajando en proyectos en nuestro pequeño jardín / granja. El invierno está sobre nosotros aquí en Boston y estoy listo para comenzar a atacar la larga lista de proyectos que he pospuesto para los 'meses de interior'. Sin embargo, tengo