Taula de continguts:

Distribuïdor de tokens Coin-O-Matic: 11 passos
Distribuïdor de tokens Coin-O-Matic: 11 passos

Vídeo: Distribuïdor de tokens Coin-O-Matic: 11 passos

Vídeo: Distribuïdor de tokens Coin-O-Matic: 11 passos
Vídeo: Untouched for 25 YEARS ~ Abandoned Home of the American Flower Lady! 2024, Juliol
Anonim
Image
Image

A la nostra oficina tenim una màquina expenedora que pot agafar diners reals o fitxes. La direcció va decidir que podríem obtenir dolços gratuïts (dins dels límits) per mantenir-nos contents i satisfets amb els baixos salaris que guanyàvem. El problema era, com controlaríeu això? La màquina expenedora pertany a una empresa externa, de manera que les modificacions de la màquina expenedora quedaven fora de dubte.

Entra a la Frankenstein Coin-O-Matic, una creació de la meva ment malalta. En decidir com fer-ho, vaig pensar que les etiquetes RFID serien les millors, donaríeu a cada empleat una etiqueta RFID i fer un registre de la quantitat de vegades que es passés l’etiqueta RFID. Quan es llisca l’etiqueta, es dispensa un testimoni per utilitzar-lo amb la màquina expenedora (un respirador gratuït). Cada cop que es passa el TAG, registreu la informació en una targeta SD. El número TAG també es penja al "núvol" mitjançant LoraWAN. Ja he estat jugant amb LoRaWAN i thethingsnetwork (TTN) amb alguns sensors de temperatura i humitat, de manera que tenim un TTN Gateway. El TTN Gateway és un Raspberry PI 3 amb un concentrador IMST connectat a TTN.

Pas 1: llista de materials

  1. Alguns Perspex de 3 mm
  2. Una mica de píxel d'1 mm
  3. Arduino Mega
  4. Arduino Pro Mini
  5. RFM95 Lora Radio
  6. Tiny RTC DS1307 Mòdul de rellotge en temps real I2C
  7. Color gràfic LCD TFT de 2,2 "240x320 ILI9341
  8. Convertidors de nivell bidireccional de 2 x 4 canals
  9. Anell NeoPixel 24 - LED RGB WS2812
  10. Kit d'inici RFID a 13,56 MHz
  11. Mòdul WiFi ESP8266 ESP12 Test Board
  12. Mòdul de targeta SD
  13. 5 botons polsadors
  14. 2 x LED tricolor
  15. Molts i molts llaços de cable
  16. Molts ponts de taula
  17. Fusta de 40 mm x 40 mm
  18. Mòdul de relé 2 canals 5V 10 AMP
  19. Mòdul de sensor fotoelèctric de feix de llum infraroig de 5VDC

Pas 2: Començar a construir una base de fusta i perímetre

Va començar a construir una base de fusta i pèrpex
Va començar a construir una base de fusta i pèrpex

Va començar amb la construcció d'una caixa per allotjar tota l'electrònica de Perspex de 3 mm, el Perspex i el logotip es van tallar mitjançant una màquina CNC. La tapa frontal de la caixa conté la pantalla, els botons i alguns LED intermitents. Els LED són LED tricolors normals que circulen a través dels colors, vegeu la llista de materials

Aleshores vaig fer servir un bloc de fusta de 40 mm x 40 mm per construir un lloc per al dispensador de monedes i un canal per deixar caure la fitxa. El dispensador de fitxes consta de 3 plaques rodones de Perspex, la superior i la inferior són de Perspex de 3 mm i la mitjana que porta la fitxa és de Perspex d’1 mm. La forma en què funciona és que la placa central gira i agafa una fitxa de la pila i l’arrossega fins al forat de la placa inferior i la fitxa cau a la canaleta de fitxes fins a les mans malhumorades d’espera d’algun empleat famolenc.

L’apilador de fitxes és un antic tub d’aspersió que tenia al voltant i el diàmetre era exactament el mateix que les fitxes. He foradat alguns forats al tub de l’aspersor per poder veure quantes fitxes s’apilen per tornar-les a omplir si cal. El tub de l’aspersor es va enganxar a la placa superior de Perspex.

Pas 3: el dispensador de token

El dispensador de tokens
El dispensador de tokens
El dispensador de tokens
El dispensador de tokens
El dispensador de tokens
El dispensador de tokens

El motor per accionar la placa central és un motor síncron de 220V CA de … No en tinc ni idea, la vaig trobar a la meva caixa de recanvis, sempre que sigui lenta i forta. L'eix es va enganxar a la placa mitjana amb una mica de cola epoxi anomenada Pratex. S'activa el mòdul de relé i es connecta el cable actiu per fer funcionar el motor. He foradat alguns forats a la placa inferior per contrarestar la fricció, si ho fa, no ho sé. Es van tallar 2 forats a banda i banda de la placa central per "agafar" les fitxes. El diàmetre dels forats és una mica més gran que el diàmetre de les fitxes, de manera que hi ha un marge d’error en agafar les fitxes.

Pas 4: detectar si s'ha dispensat un testimoni

Detectant si s'ha dispensat un testimoni
Detectant si s'ha dispensat un testimoni
Detectant si s'ha dispensat un testimoni
Detectant si s'ha dispensat un testimoni

Vaig fer servir un mòdul de sensor fotoelèctric per a això, no volem deixar de banda un empleat si no va rebre cap testimoni després d’escanejar una etiqueta. ara ho faríem ?. El registre només s’escriu a la targeta SD, quan la detecció del testimoni és correcta, si no s’ha detectat cap testimoni, la pantalla s’enfada, culpant el servei de l’empresa i que el servei no funciona. No s’escriu cap registre en el cas en què no hi hagi fitxes per dispensar. He enganxat el transistor fotogràfic a la part inferior de la canaleta perquè la fitxa trenqui el feix quan travessi el feix

Pas 5: electrònica

Electrònica
Electrònica

Arduino Mega: aquest és el cervell del Coin-o-Matic, tots els sensors, etc. estan connectats al Mega

Arduino Pro Mini i RFM95 Lora Radio: l’Arduino Pro Mini i l’Arduino Mega es connecten entre si mitjançant el bus sèrie, quan s’escaneja una etiqueta, el número d’etiqueta s’envia al bus sèrie des del Mega fins al Pro Mini. El Pro Mini està en un bucle tot el temps, tan aviat com es rep alguna cosa al bus serial del Pro Mini, el número de l’etiqueta es penja a la xarxa thethingsings (TTN) mitjançant LoraWan. No hi he fet cap integració, però el pla seria tenir una instància AWS per emmagatzemar i ordenar la informació. Consulteu el següent pas per obtenir més informació.

Tiny RTC DS1307 Real Time Clock I2C Module - Quan arrenca el Coin-O-Matic, iniciarà sessió a la xarxa WiFi i obtindrà l’hora d’un servidor NTP a través del mòdul WiFi ESP8266 ESP12 Test Board i, a continuació, establirà l’hora RTC en conseqüència

TFT LCD de color gràfic de 2,2 240x320 ILI93412 - La pantalla principal, normalment mostra un rellotge i donarà algunes paraules de pensament a l'usuari

Convertidors de nivell bidireccional de 4 canals: com que els pins digitals del Mega són de 5 V, necessitava que els convertidors es comuniquessin a un nivell segur amb alguns dels mòduls

NeoPixel Ring 24 RGB LED WS2812 - Feu una mica de llum per atordir i confondre l'usuari

Kit d'inici RFID 13,56 MHz - El lector RFID

Mòdul de targeta SD: escriviu el número, la data i l’hora de l’etiqueta per a cada lliscament d’etiqueta

Polsadors: l'administrador que té l'etiqueta mestra carregarà etiquetes noves i faig servir un dels botons per posar en pausa la pantalla fins que puguin copiar el número de l'etiqueta i registrar qui en té l'etiqueta. Els altres 4 botons estan connectats però no s’utilitzen en aquest moment

LED tricolor: més llum per atordir i confondre els usuaris

Molts i molts llaços de cable: proveu d’aconseguir una mica de comanda a tots els cables

Molts ponts de taulers de taula: connecteu les coses

Mòdul de relé de 2 canals 5V 10 AMP 5VDC: un relé s’utilitza per alimentar el motor del dispensador de monedes i l’altre per encendre el mòdul ESP8266; inicieu sessió a la xarxa WiFi i feu una trucada horària NTP. Per minimitzar les trucades de temps NTP, vaig decidir alimentar-lo amb el relé, és a dir, activar el relé, activar el mòdul ESP, el mòdul ESP reduir el temps i apagar el mòdul de nou … I també fa bons sons de clic

Mòdul de sensor fotoelèctric de feix de llum infraroja: per detectar si es va dispensar un testimoni

Pas 6: placa del sensor LoRaWAN

Taula de sensors LoRaWAN
Taula de sensors LoRaWAN

Els fitxers de disseny Eagle s’adjunten, el tauler és d’elaboració meva, però faig servir una empresa per produir el tauler mateix. Aquesta placa també es pot utilitzar com a placa sensor LoRAWAN, és extremadament petita, ~ 37 mm x 54 mm, serveix per a un sensor de temperatura i humitat DHT 22 o DHT 11 tal com és.

Pas 7: TTN: la xarxa de coses

TTN: la xarxa de les coses
TTN: la xarxa de les coses

Hi ha molta informació sobre això a

www.thethingsnetwork.org/

Bàsicament, la xerrada Coin-O-Matic a través de LoraWAN (l’Arduino Pro Mini amb la ràdio RFM95) a una passarel·la (Raspberry Pi amb concentrador IMST) que es connecta a TTN a través d’Internet, des de TTN podeu fer moltes integracions, IE Swagger, AWS, http, etc., la imatge superior mostra alguns cops d'etiquetes a l'oficina

Pas 8: programari

El programari es divideix en 3 parts

getNTPtime_instructables: el programa ESP8266, heu de canviar el ssid, la contrasenya i ntpServerName abans de carregar-lo. Faig servir un programador bàsic FTDI, connecto terra, TX i RX. Recordeu escollir el mòdul ESP a l'IDE Arduino i ordenar els pins de l'ESP per posar-lo al mode de programació

Coin-O-Matic_instructables: el programa Coin-O-Matic. Això es carrega a l'Arduino Mega, els canvis necessaris aquí són el número de l'etiqueta principal -

byte masterCard [cardSize] = {121, 178, 151, 26};

pro_mini_instructables: el programa LoRaWAN. Això es carrega al Pro Mini; consulteu l’esquema per obtenir més detalls sobre com connectar la ràdio i quins PIN cal utilitzar. L'adreça del dispositiu, la clau de sessió de xarxa i la clau de sessió de l'aplicació s'han de canviar després de fer el registre del dispositiu a TTN, si utilitzeu ABP

static const PROGMEM u1_t NWKSKEY [16] = {}; s]

static const u1_t PROGMEM APPSKEY [16] = {};

static const u4_t DEVADDR = 0x; // <- Canvieu aquesta adreça per a cada node.

Pas 9: arrencada

El vídeo mostra que el relé està activat (relé 1), el mòdul ESP8266 inicia sessió a la xarxa WiFi, envia un senyal horari getNTP i obté l’hora del servidor NTP. ESP8266. Si alguna cosa no funciona i no hi ha cap actualització horària correcta, l'Arduino Mega es reinicia i torna a intentar-ho. El mòdul ESP8266 i l’Arduino Mega estan connectats entre si mitjançant els ports sèrie (Serial2 al Mega), l’Arduino Mega escolta una resposta des de l’ESP8266, el missatge té l’aspecte d’aquest "UNX [i el segell de temps d’època]", Estic a GMT + 2, de manera que al codi Arduino Mega afegeixo GMT + 2 com segueix

time_t gmtTimeVar = newTimeVar + 7200;

rtc.adjust (DateTime (gmtTimeVar));

Pas 10: afegir o eliminar una etiqueta

Image
Image

L'etiqueta mestra s'escaneja i la pantalla indica que aquesta és l'etiqueta mestra. S'escaneja la nova etiqueta i es mostra el número de l'etiqueta a la pantalla i permet a l'usuari temps per eliminar el número i registrar qui té la nova etiqueta. El número de l’etiqueta s’escriurà a la base de dades tan bon punt l’usuari premi el botó esquerre. Es segueix el mateix procediment per eliminar una etiqueta de la base de dades

Pas 11: Alguns vídeos que mostren el funcionament de Coin-O-Matic

He utilitzat node-red per integrar-me amb Telegram, node-red té un mòdul d’integració a TTN, així que què passa quan s’escaneja una etiqueta?

  • S'escaneja l'etiqueta
  • es llegeix el fitxer txt de la targeta SD per veure si és una etiqueta vàlida
  • Si l'etiqueta és vàlida, s'escriu un segell de temps amb el número de l'etiqueta en un fitxer txt de la targeta SD
  • El número de l’etiqueta s’envia a través de LoRaWAN i el Raspberry PI Gateway a la xarxa TTN
  • Node-red es subscriu als missatges MQTT de la xarxa TTN
  • Node-Red envia l'hex descodificat al número d'etiqueta DEC a un fitxer de script bash que s'executa en un servidor localment
  • L'escriptura bash escaneja un fitxer txt amb NOMBRES D'ETIQUETES i NOMS
  • El fitxer script bash penja el missatge a un BOT de Telegram amb un rínxol que conté el NÚMERO ETIQUETA i el nom de la persona

Bonic i complex, m'encanta com una tasca tan senzilla es torna tan complexa

Feu-me saber què en penseu als comentaris a continuació

Recomanat: