Tabla de contenido:
- Paso 1: Lista de materiales
- Paso 2: Comencé a construir una base de madera y perpex
- Paso 3: el dispensador de fichas
- Paso 4: Detectar si se dispensó un token
- Paso 5: Electrónica
- Paso 6: Tablero de sensores LoRaWAN
- Paso 7: TTN - The Things Network
- Paso 8: software
- Paso 9: Arranque
- Paso 10: agregar / eliminar una etiqueta
- Paso 11: Algunos videos que muestran el funcionamiento de Coin-O-Matic
Video: Dispensador de fichas Coin-O-Matic: 11 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
En nuestra oficina tenemos una máquina expendedora que puede aceptar dinero real o fichas. La gerencia decidió que podíamos obtener algunos dulces gratis (dentro de los límites) para mantenernos felices y contentos con los bajos salarios que ganamos. El problema era, ¿cómo controlarías eso? La máquina expendedora pertenece a una empresa externa, por lo que las modificaciones a la máquina expendedora estaban fuera de discusión.
Ingrese al Frankenstein Coin-O-Matic, una creación de mi mente enferma. Al decidir cómo hacer esto, pensé que las etiquetas RFID serían las mejores, dar a cada empleado una etiqueta RFID y llevar un registro de cuántas veces se pasa la etiqueta RFID. Cuando se pasa la etiqueta, se dispensa una ficha para usar con la máquina expendedora (una ventilación libre). Cada vez que se pase el TAG, registre la información en una tarjeta SD. El número TAG también se carga en la "nube" usando LoraWAN. Ya he estado jugando con LoRaWAN y thethingsnetwork (TTN) con algunos sensores de temperatura y humedad, así que tenemos un Gateway TTN. El TTN Gateway es un Raspberry PI 3 con un concentrador IMST conectado a TTN.
Paso 1: Lista de materiales
- Algunos metacrilato de 3 mm
- Algunos plexiglás de 1 mm
- Arduino Mega
- Arduino Pro Mini
- Radio Lora RFM95
- Tiny RTC DS1307 Módulo I2C de reloj en tiempo real
- Gráfica LCD TFT en color de 2,2 "240x320 ILI9341
- Convertidores de nivel bidireccional de 2 x 4 canales
- Anillo NeoPixel 24 - LED RGB WS2812
- Kit de inicio RFID 13,56 MHz
- Módulo WiFi de la placa de prueba ESP8266 ESP12
- Módulo de tarjeta SD
- 5 x pulsadores
- 2 x LED tricolor
- Montones, montones de bridas para cables
- Muchos puentes de tablero
- Madera de 40 mm x 40 mm
- Módulo de relé de 2 canales 5V 10 AMP
-
Módulo de sensor fotoeléctrico de haz de luz infrarroja de 5VDC
Paso 2: Comencé a construir una base de madera y perpex
Comenzó con la construcción de una caja para albergar todos los componentes electrónicos de Perspex de 3 mm, el Perspex y el logotipo se cortaron con una máquina CNC. La tapa frontal de la caja alberga la pantalla, los botones y algunos LED parpadeantes. Los LED son LED tricolores normales que alternan entre los colores, consulte la lista de materiales
Luego utilicé un bloque de madera de 40 mm x 40 mm para construir un lugar para el dispensador de monedas y una rampa para que cayera la ficha. El dispensador de fichas consta de 3 placas redondas Perspex, la superior e inferior son Perspex de 3 mm y la del medio que lleva la ficha es Perspex de 1 mm. La forma en que funciona es que la placa del medio gira y toma una ficha de la pila y la arrastra hasta el agujero en la placa inferior y la ficha cae en el conducto de fichas hasta las manos sucias de algún empleado hambriento que espera.
El apilador de fichas es un viejo tubo de riego que tenía por ahí y el diámetro era exactamente el mismo que el de las fichas. Perforé algunos agujeros en el tubo del rociador para que pudieras ver cuántas fichas se apilan para rellenar si es necesario. El tubo del aspersor estaba superpegado a la placa superior de Perspex.
Paso 3: el dispensador de fichas
El motor para accionar la placa intermedia es un motor síncrono de 220 V CA de…. No tengo ni idea, lo encontré en mi caja de repuestos, siempre que sea lento y fuerte. El eje se pegó a la placa central con un poco de pegamento epoxi llamado Pratex. El módulo de relé se activa y el cable vivo se conecta para hacer que el motor funcione. Perforé algunos agujeros en la placa inferior para contrarrestar la fricción, si hay alguna diferencia, no lo sé. Se cortaron 2 agujeros a ambos lados de la placa del medio para "agarrar" las fichas. El diámetro de los agujeros es un poco más grande que el diámetro de las fichas, por lo que hay cierto margen de error al agarrar las fichas.
Paso 4: Detectar si se dispensó un token
Usé un módulo de sensor fotoeléctrico para esto, no queremos excluir a un empleado, si no recibió un token después de escanear una etiqueta. ahora lo haríamos ?. El registro solo se escribe en la tarjeta SD, cuando la detección del token es exitosa, si no se detectó ningún token, la pantalla se enfurece, culpando al servicio en la empresa y que el servicio apesta.. No se escribe ningún registro en el caso en el que no hay fichas para dispensar. Pegué el fototransistor en la parte inferior de la rampa para que la ficha rompa el rayo cuando pase a través del rayo.
Paso 5: Electrónica
Arduino Mega: este es el cerebro de Coin-o-Matic, todos los sensores, etc.están conectados al Mega
Arduino Pro Mini y RFM95 Lora Radio: el Arduino Pro Mini y el Arduino Mega están conectados entre sí a través del bus serial, cuando se escanea una etiqueta, el número de etiqueta se envía en el bus serial desde Mega al Pro Mini. El Pro Mini está en un bucle todo el tiempo, tan pronto como se recibe algo en el bus serie del Pro Mini, el número de etiqueta se carga en la red de cosas (TTN) usando LoraWan. No he realizado ninguna integración sobre eso, pero el plan sería tener una instancia de AWS para almacenar y ordenar la información. Consulte el siguiente paso para obtener más información.
Tiny RTC DS1307 Módulo I2C de reloj en tiempo real: cuando el Coin-O-Matic se inicia, iniciará sesión en la red WiFi y obtendrá la hora de un servidor NTP a través del módulo WiFi de la placa de prueba ESP8266 ESP12 y luego establecerá la hora RTC en consecuencia.
Gráfica Color 2.2 TFT LCD 240x320 ILI93412 - La pantalla principal, normalmente muestra un reloj y le dará algunas palabras al usuario.
Convertidores de nivel bidireccional de 4 canales: como los pines digitales de Mega son de 5 V, necesitaba que los convertidores se comunicaran a un nivel seguro con algunos de los módulos
NeoPixel Ring 24 RGB LED WS2812 - Haz un poco de luz para aturdir y confundir al usuario
Kit de inicio RFID 13.56MHz - El lector RFID
Módulo de tarjeta SD: escriba el número de etiqueta, la fecha y la hora para cada etiqueta deslizada
Botones pulsadores: el administrador que tiene la etiqueta maestra cargará etiquetas nuevas y yo uso uno de los botones para pausar la visualización hasta que puedan copiar el número de etiqueta y registrar quién tiene la etiqueta. Los otros 4 botones están conectados pero no se utilizan en este momento
LED tricolor: más luz para aturdir y confundir a los usuarios
Montones, montones de bridas: intente ordenar todos los cables
Un montón de puentes de tablero: conecte las cosas
Módulo de relé de 2 canales 5V 10 AMP 5VDC: un relé se usa para alimentar el motor del dispensador de monedas y el otro para encender el módulo ESP8266, el programa del módulo ESP8266 también está en un bucle, tan pronto como reciba energía, lo hará inicie sesión en la red WiFi y realice una llamada de tiempo NTP. Para minimizar las llamadas de tiempo NTP, decidí encenderlo con el relé, IE activar el relé, activar el módulo ESP, el módulo ESP obtiene el tiempo y el relé apaga el módulo nuevamente … Y también hace buenos sonidos de clic
Módulo de sensor fotoeléctrico de haz de luz infrarroja: para detectar si se dispensó una ficha
Paso 6: Tablero de sensores LoRaWAN
Los archivos de diseño de Eagle están adjuntos, la placa es de mi creación, pero utilizo una empresa para producir la placa en sí. Esta placa también se puede utilizar como placa de sensor LoRAWAN, es extremadamente pequeña, ~ 37 mm x 54 mm, admite un sensor de temperatura y humedad DHT 22 o DHT 11 tal como está.
Paso 7: TTN - The Things Network
Hay mucha información sobre esto en
www.thethingsnetwork.org/
Básicamente, el Coin-O-Matic habla vía LoraWAN (El Arduino Pro Mini con la radio RFM95) a una pasarela (Raspberry Pi con concentrador IMST) que está conectada a TTN vía internet, desde TTN puedes hacer muchas integraciones, IE Swagger, AWS, http, etc., la imagen de arriba muestra algunos deslizamientos de etiquetas en la oficina
Paso 8: software
El software se divide en 3 partes
getNTPtime_instructables: el programa ESP8266, debe cambiar el ssid, la contraseña y ntpServerName antes de cargar. Utilizo un programador básico FTDI, conecto tierra, TX y RX. Recuerde elegir el módulo ESP en el IDE de Arduino y ordenar los pines en el ESP para ponerlo en modo de programación
Coin-O-Matic_instructables - El programa Coin-O-Matic. Esto se carga en el Arduino Mega, los cambios necesarios aquí es el número de etiqueta maestra:
byte masterCard [cardSize] = {121, 178, 151, 26};
pro_mini_instructables - El programa LoRaWAN. Esto se carga en el Pro Mini, consulte el esquema para obtener más detalles sobre cómo conectar la radio y qué PIN utilizar. La dirección del dispositivo, la clave de sesión de red y la clave de sesión de la aplicación deben cambiarse después de que se realiza el registro del dispositivo en TTN, si va a utilizar ABP
PROGMEM const estática u1_t NWKSKEY [16] = {}; s]
estática const u1_t PROGMEM APPSKEY [16] = {};
estática const u4_t DEVADDR = 0x; // <- ¡Cambie esta dirección para cada nodo!
Paso 9: Arranque
El video muestra que el relé se activa (relé 1), el módulo ESP8266 se conecta a la red WiFi, envía una señal de tiempo getNTP y obtiene la hora del servidor NTP, después de que la hora se haya actualizado correctamente, el relé se desactiva y desconecta la alimentación del ESP8266. Si algo sale mal y no se actualiza correctamente la hora, Arduino Mega se reinicia y vuelve a intentarlo. El módulo ESP8266 y el Arduino Mega están conectados entre sí a través de los puertos serie (Serial2 en el Mega), el Arduino Mega escucha una respuesta del ESP8266, el mensaje se ve así "UNX [y la marca de tiempo de la época]", Estoy en GMT + 2, así que en el código Arduino Mega, agrego GMT + 2 de la siguiente manera
time_t gmtTimeVar = newTimeVar + 7200;
rtc.adjust (DateTime (gmtTimeVar));
Paso 10: agregar / eliminar una etiqueta
La etiqueta maestra se escanea y la pantalla indica que esta es la etiqueta maestra. La nueva etiqueta se escanea y el número de etiqueta se muestra en la pantalla y le da al usuario tiempo para anotar el número y registrar quién tiene la nueva etiqueta. El número de etiqueta se escribirá en la base de datos tan pronto como el usuario presione el botón izquierdo. Se sigue el mismo procedimiento para eliminar una etiqueta de la base de datos.
Paso 11: Algunos videos que muestran el funcionamiento de Coin-O-Matic
Usé node-red para integrarme con Telegram, node-red tiene un módulo de integración a TTN, entonces, ¿qué sucede cuando escanea una etiqueta?
- La etiqueta se escanea
- txt en la tarjeta SD se lee para ver si es una etiqueta válida
- Si la etiqueta es válida, se escribe una marca de tiempo con el número de etiqueta en un archivo txt en la tarjeta SD
- El número de etiqueta se envía a través de LoRaWAN y Raspberry PI Gateway a la red TTN
- Node-red se suscribe a los mensajes MQTT en la red TTN
- Node-Red envía el número de etiqueta HEX a DEC decodificado a un archivo de script bash que se ejecuta en un servidor localmente
- El script bash escanea un archivo txt con NÚMEROS DE ETIQUETA y NOMBRES
- El archivo de script bash carga el mensaje en un Telegram BOT con curl que contiene el NÚMERO DE ETIQUETA y el nombre de la persona
Agradable y complejo, me encanta cómo una tarea tan simple se vuelve tan compleja
Déjame saber lo que piensas en los comentarios a continuación.
Recomendado:
Dispensador automático de desinfectante de manos para bricolaje: 6 pasos
Dispensador automático de desinfectante para manos de bricolaje: en este proyecto, construiremos un dispensador automático de desinfectante para manos. Este proyecto utilizará Arduino, sensor ultrasónico, bomba de agua y desinfectante de manos. Se usa un sensor ultrasónico para verificar la presencia de manos debajo de la salida de la máquina desinfectante
Dispensador Automático de Alcohol en Gel con Esp32: 9 Pasos
Dispensador Automático de Alcohol en Gel con Esp32: En tutorial veremos cómo hacer un prototipo completo, para montar un dispensador automático de alcohol en gel con esp32, incluirá el montaje paso a paso, circuito electrónico y también el código fuente explicado todo paso a paso. paso
Fichas manos libres: 15 pasos (con imágenes)
Fichas de manos libres: Hola, geeks, ahora estoy estudiando en +2, lo que equivale a 12 ° grado. Estoy muy interesado en la informática y también mi asignatura principal es esa. Pasé mucho tiempo desarrollando proyectos Embedded. Tengo alrededor de 3 años de experiencia en el embedde
IMPULSAR CONVERTIDOR UTILIZANDO COIN CELL: 4 Pasos
BOOST CONVERTER US COIN CELL: Hola chicos … Aquí está mi nuevo instructable.Las celdas de batería se utilizan en la vida cotidiana como fuentes de energía para alimentar dispositivos electrónicos portátiles.La principal desventaja de las celdas es el voltaje de funcionamiento. La batería de litio típica tiene un voltaje normal de 3,7 V pero
Fichas del carrito de la compra: 8 pasos
Fichas de carro de la compra: - Este tutorial le mostrará cómo crear una ficha de carro de la compra impresa en 3D o cortada con láser simple pero eficaz - Este producto es útil para tenerlo en sus llaves o como regalo para familiares y amigos.- Este producto se hace mejor en Tinker CAD espec