Índice:

Distribuidor de Token Coin-O-Matic: 11 etapas
Distribuidor de Token Coin-O-Matic: 11 etapas

Vídeo: Distribuidor de Token Coin-O-Matic: 11 etapas

Vídeo: Distribuidor de Token Coin-O-Matic: 11 etapas
Vídeo: Calcio Storico Fiorentino 2023 💙🤍 2024, Julho
Anonim
Image
Image

Em nosso escritório, temos uma máquina de venda automática que pode receber dinheiro de verdade ou fichas. A gerência decidiu que poderíamos conseguir alguns doces grátis (dentro dos limites) para nos manter felizes e contentes com os baixos salários que ganhamos. O problema era: como você controlaria isso? A máquina de venda automática pertence a uma empresa externa, portanto, modificações na máquina de venda automática estavam fora de questão.

Digite o Frankenstein Coin-O-Matic, uma criação da minha mente doente. Decidindo como fazer isso, pensei que as etiquetas RFID seriam o melhor, dar a cada funcionário uma etiqueta RFID e manter um registro de quantas vezes a etiqueta RFID é passada. Quando a etiqueta é passada, um token é distribuído para uso com a máquina de venda automática (um respiradouro livre). Cada vez que o TAG for passado, registre as informações em um cartão SD. O número TAG também é carregado para a "nuvem" usando LoraWAN. Já estou brincando com LoRaWAN e thethingsnetwork (TTN) com alguns sensores de temperatura e umidade, então temos um Gateway TTN. O Gateway TTN é um Raspberry PI 3 com um concentrador IMST conectado ao TTN.

Etapa 1: Lista de materiais

  1. Algum Perspex de 3 mm
  2. Algum Perspex de 1 mm
  3. Arduino Mega
  4. Arduino Pro Mini
  5. RFM95 Lora Radio
  6. Módulo I2C de relógio em tempo real Tiny RTC DS1307
  7. Gráfico TFT LCD de 2,2 "em cores 240x320 ILI9341
  8. Conversores de nível bidirecional de 2 x 4 canais
  9. Anel NeoPixel 24 - RGB LED WS2812
  10. RFID Starter Kit 13,56 MHz
  11. ESP8266 ESP12 Módulo WiFi da placa de teste
  12. Módulo de cartão SD
  13. 5 x botões de pressão
  14. 2 x LED tricolor
  15. Muitas e muitas abraçadeiras
  16. Muitos jumpers de breadboard
  17. 40mm x 40mm de madeira
  18. Módulo de relé de 2 canais 5V 10 AMP
  19. Módulo sensor fotoelétrico de feixe de luz infravermelho 5VDC

Etapa 2: começou a construir uma base de madeira e Perpex

Começou a construir uma base de madeira e Perpex
Começou a construir uma base de madeira e Perpex

Começou com a construção de uma caixa para abrigar todos os eletrônicos do Perspex 3mm, o Perspex e o logotipo foram cortados em uma máquina CNC. A tampa frontal da caixa abriga a tela, botões e alguns LEDs piscando. Os LEDs são LEDs normais de três cores que alternam entre as cores, consulte BOM

Usei então um bloco de madeira de 40 x 40 mm para construir um lugar para o distribuidor de moedas e uma rampa para a ficha cair. O dispensador de fichas consiste em 3 placas redondas de Perspex, a superior e a inferior são de Perspex de 3 mm e a do meio que contém a ficha é de Perspex de 1 mm. A maneira como funciona é que a placa do meio vira e pega um token da pilha e arrasta para o buraco no prato inferior e o token cai na rampa de token nas mãos sujas de algum funcionário faminto.

O empilhador de tokens é um tubo de sprinkler antigo que eu tinha ao redor e o diâmetro era exatamente o mesmo dos tokens. Fiz alguns furos no tubo do sprinkler para que você pudesse ver quantas fichas estão empilhadas para serem recarregadas, se necessário. O tubo do sprinkler foi supercolado na placa de Perspex superior.

Etapa 3: O Distribuidor de Token

O Distribuidor de Token
O Distribuidor de Token
O Distribuidor de Token
O Distribuidor de Token
O Distribuidor de Token
O Distribuidor de Token

O motor para acionar a placa do meio é um motor síncrono de 220 Vca de…. Não tenho ideia, encontrei-o na minha caixa de sobressalentes, desde que seja lento e forte. O eixo foi colado à placa do meio com um pouco de cola epóxi chamada Pratex. O módulo de relé é acionado e o fio energizado é conectado para fazer o motor funcionar. Fiz uns furos na placa de fundo para conter o atrito, se faz diferença, não sei. 2 orifícios foram cortados em ambos os lados da placa do meio para "agarrar" as fichas. O diâmetro dos orifícios é apenas um pouco maior do que o diâmetro dos tokens, de modo que há alguma margem de erro ao agarrar os tokens.

Etapa 4: Detectando se um token foi dispensado

Detectando se um token foi dispensado
Detectando se um token foi dispensado
Detectando se um token foi dispensado
Detectando se um token foi dispensado

Usei um Módulo Sensor Fotoelétrico para isso, não queremos ostracizar um funcionário, se ele não recebeu um token após escanear uma tag. agora nós faríamos ?. O registro só é gravado no cartão SD, quando a detecção do token é bem-sucedida, se nenhum token for detectado, o display enlouquece, culpando o serviço na empresa e que o serviço é uma merda. Nenhum registro é gravado no o caso em que não há tokens para dispensar. Colei o fototransistor na parte inferior da rampa para que o token quebre o feixe quando passar pelo feixe

Etapa 5: Eletrônica

Eletrônicos
Eletrônicos

Arduino Mega - Este é o cérebro do Coin-o-Matic, todos os sensores etc estão conectados ao Mega

Arduino Pro Mini e RFM95 Lora Radio - O Arduino Pro Mini e o Arduino Mega são conectados um ao outro através do barramento serial, quando uma tag é digitalizada, o número da tag é enviado no barramento serial do Mega para o Pro Mini. O Pro Mini está em loop o tempo todo, assim que algo é recebido no barramento serial do Pro Mini, o número da tag é carregado na rede things (TTN) usando LoraWan. Não fiz nenhuma integração sobre isso, mas o plano seria ter uma instância AWS para armazenar e classificar as informações. Consulte a próxima etapa para obter mais informações.

Módulo I2C de relógio em tempo real Tiny RTC DS1307 - Quando o Coin-O-Matic é inicializado, ele se conectará à rede WiFi e obterá a hora de um servidor NTP através do módulo WiFi da placa de teste ESP8266 ESP12 e, em seguida, definirá a hora RTC de acordo

Gráfico TFT LCD de 2,2 240x320 ILI93412 em cores - O display principal, normalmente mostra um relógio e dará algumas palavras para o usuário

Conversores de nível bidirecional de 4 canais - Como os pinos digitais do Mega são 5V, eu precisava que os conversores me comunicassem em um nível seguro com alguns dos módulos

NeoPixel Ring 24 RGB LED WS2812 - Faça um pouco de luz para deslumbrar e confundir o usuário

RFID Starter Kit 13,56 MHz - O leitor RFID

Módulo de cartão SD - Escreva o número da etiqueta, data e hora para cada passagem de etiqueta

Botões de pressão - o administrador que possui a tag mestre carregará novas tags e eu uso um dos botões para pausar a exibição até que eles possam copiar o número da tag e registrar quem tem a tag. Os outros 4 botões estão conectados, mas não estão sendo usados no momento

LED tricolor - Mais luz para deslumbrar e confundir os usuários

Muitas e muitas braçadeiras de cabos - tente obter uma ordem para todos os fios

Muitos jumpers de placa de ensaio - conecte o material

Módulo de relé de 2 canais 5V 10 AMP 5VDC - Um relé é usado para alimentar o motor do dispensador de moedas e o outro para alimentar o módulo ESP8266, o programa do módulo ESP8266 também está em um loop, assim que receber energia, ele irá entre na rede WiFi e faça uma chamada de tempo NTP. Para minimizar as chamadas de tempo NTP, decidi alimentá-lo com o relé, ou seja, ativar o relé, ativar o módulo ESP, o módulo ESP obter o tempo e relé desligar o módulo novamente … E também faz sons de cliques agradáveis

Módulo Sensor Fotoelétrico de Feixe de Luz Infravermelho - Para detectar se um token foi dispensado

Etapa 6: Placa do sensor LoRaWAN

Placa de sensor LoRaWAN
Placa de sensor LoRaWAN

Os arquivos de design da Eagle estão anexados, a placa é minha, mas eu uso uma empresa para produzir a própria placa. Esta placa também pode ser usada como uma placa de sensor LoRAWAN, é extremamente pequena, ~ 37 mm x 54 mm, ela atende a um sensor de temperatura e umidade DHT 22 ou DHT 11 como está.

Etapa 7: TTN - a rede Things

TTN - the Things Network
TTN - the Things Network

Há muitas informações sobre isso em

www.thethingsnetwork.org/

Basicamente, o Coin-O-Matic fala via LoraWAN (O Arduino Pro Mini com o rádio RFM95) para um gateway (Raspberry Pi com concentrador IMST) que está conectado ao TTN via internet, do TTN você pode fazer várias integrações, IE Swagger, AWS, http etc, a imagem acima mostra alguns swipes de tags no escritório

Etapa 8: Software

O software está dividido em 3 partes

getNTPtime_instructables - O programa ESP8266, você tem que alterar o ssid, senha e ntpServerName antes de fazer o upload. Eu uso um programador básico FTDI, conecto aterramento, TX e RX. Lembre-se de escolher o módulo ESP no IDE do Arduino e separar os pinos no ESP para colocá-lo no modo de programação

Coin-O-Matic_instructables - O programa Coin-O-Matic. Isso é carregado no Arduino Mega, as mudanças necessárias aqui é o número do Tag Master -

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

pro_mini_instructables - O programa LoRaWAN. Isso é carregado no Pro Mini, consulte o esquema para obter mais detalhes sobre como conectar o rádio e quais PINs usar. O endereço do dispositivo, a chave de sessão de rede e a chave de sessão do aplicativo devem ser alterados após o registro do dispositivo ser feito no TTN, se você for usar ABP

Const estática PROGMEM u1_t NWKSKEY [16] = {}; s]

const estático u1_t PROGMEM APPSKEY [16] = {};

const estático u4_t DEVADDR = 0x; // <- Altere este endereço para cada nó!

Etapa 9: inicializar

O vídeo mostra o relé sendo ativado (relé 1), o módulo ESP8266 se conecta à rede WiFi, envia um sinal de horário getNTP e obtém o horário do servidor NTP, após o horário ser atualizado com sucesso, o relé desativa e remove a energia do ESP8266. Se algo der errado e não houver uma atualização de horário bem-sucedida, o Arduino Mega será reinicializado e tentará novamente. O módulo ESP8266 e o Arduino Mega são conectados um ao outro por meio das portas seriais (Serial2 no Mega), o Arduino Mega escuta uma resposta do ESP8266, a mensagem é semelhante a "UNX [e o carimbo de data e hora]", Estou no GMT + 2, portanto, no código do Arduino Mega, adiciono GMT + 2 da seguinte forma

time_t gmtTimeVar = newTimeVar + 7200;

rtc.adjust (DateTime (gmtTimeVar));

Etapa 10: Adicionar / remover uma tag

Image
Image

A tag mestre é digitalizada e o display indica que esta é a tag mestre. A nova tag é digitalizada e o número da tag é exibido na tela e dá ao usuário tempo para anotar o número e registrar quem tem a nova tag. O número da tag será gravado no banco de dados assim que o usuário pressionar o botão esquerdo. O mesmo procedimento é seguido para remover uma tag do banco de dados

Etapa 11: alguns vídeos mostrando a operação do Coin-O-Matic

Usei node-red para integração com Telegram, node-red tem um módulo de integração para TTN, então o que acontece quando você faz a varredura de uma tag?

  • Tag é escaneada
  • O arquivo txt no cartão SD é lido para ver se é uma etiqueta válida
  • Se a tag for válida, um carimbo de hora com o número da tag é gravado em um arquivo txt no cartão SD
  • O número da etiqueta é enviado via LoRaWAN e Raspberry PI Gateway para a rede TTN
  • Node-red assina as mensagens MQTT na rede TTN
  • Node-Red envia o HEX decodificado para o número da tag DEC para um arquivo de script bash rodando em um servidor localmente
  • O script bash verifica um arquivo txt com NÚMEROS DE TAG e NOMES
  • O arquivo de script bash carrega a mensagem para um BOT do Telegram com curl contendo o NÚMERO DA TAG e o nome da pessoa

Agradável e complexo, adoro como uma tarefa tão simples se torna tããão complexa

Deixe-me saber o que você acha nos comentários abaixo

Recomendado: