Cuprins:

Distribuitor de jetoane Coin-O-Matic: 11 pași
Distribuitor de jetoane Coin-O-Matic: 11 pași

Video: Distribuitor de jetoane Coin-O-Matic: 11 pași

Video: Distribuitor de jetoane Coin-O-Matic: 11 pași
Video: Dispenser jetoane numerar si card pentru spalatorii self service 2024, Noiembrie
Anonim
Image
Image

La biroul nostru avem un distribuitor automat care poate lua bani reali sau jetoane. Conducerea a decis că putem primi niște dulciuri gratuite (în limite) pentru a ne menține fericiți și mulțumiți de salariile mici pe care le câștigăm. Problema era, cum ai controla asta? Distribuitorul aparține unei companii externe, astfel încât modificările aduse distribuitorului nu au putut fi discutate.

Intrați în Frankenstein Coin-O-Matic, o creație a minții mele bolnave. Decizând cum să fac acest lucru, m-am gândit că etichetele RFID ar fi cele mai bune, să le ofere fiecărui angajat o etichetă RFID și să țină evidența timpului de trecere a etichetei RFID. Când eticheta este glisată, un jeton este eliberat pentru a fi utilizat cu distribuitorul automat (un singur ventilator). De fiecare dată când TAG-ul este glisat, înregistrați informațiile pe un card SD. Numărul TAG este, de asemenea, încărcat în „nor” folosind LoraWAN. M-am jucat deja cu LoRaWAN și thethingsnetwork (TTN) cu niște senzori de temperatură și umiditate, așa că avem un Gateway TTN. TTN Gateway este un Raspberry PI 3 cu un concentrator IMST conectat la TTN.

Pasul 1: Lista materialelor

  1. Unele Perspex de 3 mm
  2. Unele Perspex de 1 mm
  3. Arduino Mega
  4. Arduino Pro Mini
  5. RFM95 Lora Radio
  6. Tiny RTC DS1307 Modul I2C cu ceas în timp real
  7. Color grafic 2.2 "TFT LCD 240x320 ILI9341
  8. Convertoare de nivel bidirecțional 2 x 4 canale
  9. NeoPixel Ring 24 - LED RGB WS2812
  10. Kit de pornire RFID 13,56MHz
  11. ESP8266 ESP12 Test Board Module WiFi
  12. Modul card SD
  13. 5 x butoane
  14. 2 x LED tri-color
  15. Multe, multe legături de cablu
  16. O mulțime de săritori de panouri
  17. Lemn de 40mm x 40mm
  18. Modul releu 2 canale 5V 10 AMP
  19. Modul senzor fotoelectric cu fascicul de lumină infraroșu 5VDC

Pasul 2: A început construirea unei baze din lemn și perpex

Am început să construiesc o bază din lemn și perpex
Am început să construiesc o bază din lemn și perpex

Început cu construirea unei cutii pentru a găzdui toate componentele electronice de la Perspex de 3 mm, Perspex și sigla au fost tăiate cu ajutorul unei mașini CNC. Capacul frontal al cutiei găzduiește ecranul, butoanele și câteva LED-uri intermitente. LED-urile sunt LED-uri tricolore normale, care ciclează deși culorile, a se vedea BOM

Apoi am folosit niște blocuri de lemn de 40 mm x 40 mm pentru a construi un loc pentru distribuitorul de monede și un jgheab în care să cadă jetonul. Distribuitorul de jetoane este format din 3 plăci rotunde Perspex, cel de sus și de jos sunt Perspex de 3 mm, iar cel din mijloc care poartă jetonul este 1 mm Perspex. Modul în care funcționează este că placa de mijloc se întoarce și apucă un jeton din stivă și îl trage în gaura din placa de jos, iar jetonul cade în jgheabul jetonului în mâinile murdare de așteptare ale unui angajat flămând.

Stivuitorul de jetoane este un vechi tub de aspersoare pe care l-am așezat și diametrul era exact același cu jetoanele. Am făcut câteva găuri în tubul sprinklerului, astfel încât să puteți vedea câte jetoane sunt stivuite pentru reumplere, dacă este necesar. Tubul de aspersor a fost lipit pe placa superioară de Perspex.

Pasul 3: Dispenserul de jetoane

Dispenserul de jetoane
Dispenserul de jetoane
Dispenserul de jetoane
Dispenserul de jetoane
Dispenserul de jetoane
Dispenserul de jetoane

Motorul pentru acționarea plăcii de mijloc este un motor sincron 220V AC de la…. Habar n-am, l-am găsit în cutia mea de rezervă, atâta timp cât este lent și puternic. Arborele a fost lipit de placa de mijloc cu un lipici epoxidic numit Pratex. Modulul releu este declanșat și cablul sub tensiune este conectat pentru a face motorul să funcționeze. Am făcut câteva găuri în placa inferioară pentru a contracara fricțiunea, dacă face diferența, nu știu. Au fost tăiate 2 găuri de ambele părți ale plăcii din mijloc pentru a „apuca” jetoanele. Diametrul găurilor este puțin mai mare decât diametrul jetoanelor, astfel încât există o anumită marjă de eroare la apucarea jetoanelor.

Pasul 4: Detectarea dacă a fost distribuit un indicativ

Detectarea dacă a fost distribuit un indicativ
Detectarea dacă a fost distribuit un indicativ
Detectarea dacă a fost distribuit un indicativ
Detectarea dacă a fost distribuit un indicativ

Am folosit un modul senzor fotoelectric pentru aceasta, nu vrem să ostracizăm un angajat, dacă el / ea nu a primit un simbol după scanarea unei etichete. acum am face-o? Înregistrarea este scrisă doar pe cardul SD, atunci când detectarea jetonului este reușită, dacă nu a fost detectat niciun jeton, afișajul intră în furie, învinuind serviciul din companie și că serviciul e de rahat.. Nicio înregistrare nu este scrisă în cazul în care nu există jetoane de distribuit. Am lipit tranzistorul foto de fundul jgheabului, astfel încât jetonul să rupă fasciculul când trece prin fascicul

Pasul 5: Electronică

Electronică
Electronică

Arduino Mega - Acesta este creierul Coin-o-Matic, toți senzorii etc. sunt conectați la Mega

Arduino Pro Mini și RFM95 Lora Radio - Arduino Pro Mini și Arduino Mega sunt conectate între ele prin intermediul magistralei seriale, atunci când o etichetă este scanată, numărul etichetei este trimis pe magistrala serială de la Mega la Pro Mini. Pro Mini este într-o buclă tot timpul, de îndată ce se primește ceva pe magistrala serială a Pro Mini, numărul etichetei este încărcat pe rețeaua thethingsings (TTN) folosind LoraWan. Nu am făcut nicio integrare în acest sens, dar planul ar fi să existe o instanță AWS pentru a stoca și a sorta informațiile. Consultați pasul următor pentru mai multe informații.

Tiny RTC DS1307 Modul I2C cu ceas în timp real - Când Coin-O-Matic pornește, acesta se va conecta la rețeaua WiFi și va primi timpul de la un server NTP prin modulul WiFi ESP8266 ESP12 Test Board și apoi va seta timpul RTC în consecință

LCD grafic de 2,2 TFT LCD 240x320 ILI93412 - Afișajul principal, afișează în mod normal un ceas și va da câteva cuvinte de gândire utilizatorului

Convertoare de nivel bidirecțional cu 4 canale - Deoarece pinii digitali ai Mega sunt de 5V, aveam nevoie de convertoare pentru a comunica la un nivel sigur cu unele module

NeoPixel Ring 24 RGB LED WS2812 - Faceți puțină lumină pentru a uimi și a deruta utilizatorul

Kit de pornire RFID 13.56MHz - Cititorul RFID

Modul card SD - Scrieți numărul etichetei, data și ora pentru fiecare glisare a etichetei

Butoane - Administratorul care are eticheta principală, va încărca etichete noi și folosesc unul dintre butoane pentru a întrerupe afișajul până când pot copia numărul etichetei și înregistrează cine are eticheta. Celelalte 4 butoane sunt cablate, dar nu sunt utilizate în acest moment

LED tri-color - Mai multă lumină pentru a uimi și a deruta utilizatorii

Multe, multe legături de cablu - Încercați să obțineți o comandă pentru toate firele

O mulțime de jumperi pentru panouri - Cabluri

Modul de releu 2 canale 5V 10 AMP 5VDC - Unul releu este utilizat pentru a alimenta motorul distribuitorului de monede și celălalt pentru a porni modulul ESP8266, programul modulului ESP8266 este, de asemenea, într-o buclă, de îndată ce va prinde energie, va fi conectați-vă la rețeaua WiFi și efectuați un apel de timp NTP. Pentru a minimiza apelurile de timp NTP, am decis să-l alimentez cu releu, IE activează releul, activează modulul ESP, modulul ESP obține timpul și releu alimentează modulul din nou … Și face și un sunet de clic frumos

Modul senzor fotoelectric cu fascicul de lumină în infraroșu - Pentru a detecta dacă a fost distribuit un simbol

Pasul 6: placa senzor LoRaWAN

Placă senzor LoRaWAN
Placă senzor LoRaWAN

Fișierele de proiectare Eagle sunt atașate, tabloul este al meu, dar folosesc o companie pentru a produce placa în sine. Această placă poate fi utilizată și ca placă de senzori LoRAWAN, este extrem de mică, ~ 37mm x 54mm, este compatibilă cu un senzor de temperatură și umiditate DHT 22 sau DHT 11, așa cum este.

Pasul 7: TTN - Rețeaua de lucruri

TTN - Rețeaua de lucruri
TTN - Rețeaua de lucruri

Există o mulțime de informații despre acest lucru la

www.thethingsnetwork.org/

Practic, conversația Coin-O-Matic prin LoraWAN (Arduino Pro Mini cu radio RFM95) către un gateway (Raspberry Pi cu concentrator IMST) care este conectat la TTN prin internet, de la TTN puteți face o mulțime de integrări, IE Swagger, AWS, http etc, imaginea de mai sus prezintă câteva goluri de etichete în birou

Pasul 8: Software

Software-ul este împărțit în 3 părți

getNTPtime_instructables - Programul ESP8266, trebuie să schimbați ssid, parola și ntpServerName înainte de a încărca. Folosesc un programator de bază FTDI, conectez la masă, TX și RX. Nu uitați să alegeți modulul ESP din Arduino IDE și să sortați pinii ESP-ului pentru al pune în modul de programare

Coin-O-Matic_instructables - Programul Coin-O-Matic. Acest lucru se încarcă pe Arduino Mega, modificările necesare aici sunt numărul Master Tag -

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

pro_mini_instructables - Programul LoRaWAN. Acest lucru se încarcă pe Pro Mini, consultați schema pentru mai multe detalii despre cum să conectați radioul și ce PIN-uri să utilizați. Adresa dispozitivului, cheia de sesiune de rețea și cheia de sesiune a aplicației trebuie schimbate după înregistrarea dispozitivului pe TTN, dacă veți utiliza ABP

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

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

static const u4_t DEVADDR = 0x; // <- Schimbați această adresă pentru fiecare nod!

Pasul 9: Porniți

Videoclipul arată releul activat (releu 1), modulul ESP8266 se conectează la rețeaua WiFi, trimite un semnal de timp getNTP și primește ora de pe serverul NTP, după ce ora a fost actualizată cu succes, releul se dezactivează și scoate alimentarea la ESP8266. Dacă ceva nu merge bine și nu există o actualizare de timp reușită, Arduino Mega repornește și încearcă din nou. Modulul ESP8266 și Arduino Mega sunt conectate între ele prin porturile seriale (Serial2 pe Mega), Arduino Mega ascultă un răspuns de la ESP8266, mesajul arată ca acest „UNX [și ștampila de epocă]”, Sunt în GMT + 2, deci în codul Arduino Mega, adaug GMT + 2 după cum urmează

time_t gmtTimeVar = newTimeVar + 7200;

rtc.adjust (DateTime (gmtTimeVar));

Pasul 10: Adăugarea / eliminarea unei etichete

Image
Image

Eticheta principală este scanată și afișajul indică faptul că aceasta este eticheta principală. Noua etichetă este scanată și numărul etichetei este afișat pe ecran și oferă utilizatorului timp pentru a elimina numărul și pentru a înregistra cine are noua etichetă. Numărul etichetei va fi scris în baza de date imediat ce utilizatorul apasă butonul din stânga. Aceeași procedură este urmată pentru a elimina o etichetă din baza de date

Pasul 11: Unele videoclipuri care arată funcționarea Coin-O-Matic

Am folosit nodul roșu pentru a mă integra cu Telegram, nodul roșu are un modul de integrare la TTN, deci ce se întâmplă când scanați o etichetă?

  • Eticheta este scanată
  • fișierul txt de pe cardul SD este citit pentru a vedea dacă este o etichetă validă
  • Dacă eticheta este validă, o ștampilă de timp cu numărul etichetei este scrisă într-un fișier txt de pe cardul SD
  • Numărul etichetei se trimite prin LoRaWAN și Raspberry PI Gateway către rețeaua TTN
  • Roșu nod se abonează la mesajele MQTT din rețeaua TTN
  • Node-Red trimite HEX-ul decodificat la numărul etichetei DEC către un fișier script bash care rulează pe un server local
  • Scriptul bash scanează un fișier txt cu NUMERE DE TAG și NUME
  • Fișierul script bash încarcă mesajul într-un BOT de telegramă cu buclă care conține NUMĂRUL TAG și numele persoanei

Frumos și complex, îmi place cum o sarcină atât de simplă devine atât de complexă

Spuneți-mi ce părere aveți în comentariile de mai jos

Recomandat: