Kazalo:

Razdeljevalec žetonov Coin-O-Matic: 11 korakov
Razdeljevalec žetonov Coin-O-Matic: 11 korakov

Video: Razdeljevalec žetonov Coin-O-Matic: 11 korakov

Video: Razdeljevalec žetonov Coin-O-Matic: 11 korakov
Video: Shibarium Bone Shiba Inu Coin DogeCoin Multi Millionaire Whales Talk About NFT Gaming Breeding DeFi 2024, Julij
Anonim
Image
Image

V naši pisarni imamo prodajni avtomat, ki lahko vzame pravi denar ali žetone. Vodstvo se je odločilo, da bi lahko dobili nekaj brezplačnih sladkarij (v mejah), da bi bili zadovoljni in zadovoljni z nizkimi plačami, ki jih zaslužimo. Težava je bila, kako bi to nadzorovali? Avtomat je v lasti zunanjega podjetja, zato o spremembah prodajnega avtomata ni bilo govora.

Vstopite v Frankenstein Coin-O-Matic, stvaritev mojega bolnega uma. Odločal sem se, kako to storiti, in menil sem, da bodo oznake RFID najboljše, vsakemu zaposlenemu podarimo oznako RFID in zabeležimo, koliko časa se oznaka RFID potegne. Ko povlečete oznako, se žeton razdeli za uporabo na prodajnem avtomatu (ena brezplačna odprtina). Vsakič, ko oznako povlečete, zapišite podatke na kartico SD. Številka TAG se z LoraWAN naloži tudi v "oblak". Že igral sem se z LoRaWAN -om in Thethingsnetwork (TTN) z nekaj senzorji temperature in vlažnosti, zato imamo TTN Gateway. TTN Gateway je Raspberry PI 3 s koncentratorjem IMST, priključenim na TTN.

1. korak: Predmet materiala

  1. Nekaj 3 mm Perspex
  2. Približno 1 mm Perspex
  3. Arduino Mega
  4. Arduino Pro Mini
  5. Radio Lora RFM95
  6. Majhen modul R2 DS1307 za uro v realnem času I2C
  7. Grafični barvni 2.2 "TFT LCD 240x320 ILI9341
  8. 2 x 4 -kanalni dvosmerni pretvorniki ravni
  9. Obroč NeoPixel 24 - LED RGB WS2812
  10. Začetni komplet RFID 13,56 MHz
  11. ESP8266 ESP12 Modul WiFi testne plošče
  12. Modul SD kartice
  13. 5 x gumbi
  14. 2 x tribarvna LED
  15. Veliko in veliko kabelskih vezi
  16. Veliko skakalcev za plošče
  17. Les 40 mm x 40 mm
  18. 2 -kanalni 5V relejni modul 10 AMP
  19. Modul fotoelektričnega senzorja z infrardečo svetlobo 5VDC

2. korak: Začeli graditi podlago iz lesa in perpeksa

Začel graditi bazo iz lesa in perpeksa
Začel graditi bazo iz lesa in perpeksa

Začeli so z gradnjo škatle za vso elektroniko iz 3 mm Perspexa, Perspex in logotip pa sta bila izrezana s CNC strojem. Sprednji pokrov škatle vsebuje zaslon, gumbe in nekaj utripajočih LED. LED so običajne tribarvne LED, ki krožijo po barvah, glejte BOM

Nato sem uporabil nekaj 40 mm x 40 mm lesenega bloka, da sem zgradil prostor za razdeljevalnik kovancev in žleb, v katerega bi žeton padel. Razdeljevalec žetonov je sestavljen iz 3 okroglih plošč Perspex, zgornja in spodnja sta 3 mm Perspex, srednja, ki nosi žeton, pa 1 mm Perspex. Deluje tako, da se srednja plošča obrne in zgrabi žeton iz sklada ter ga povleče v luknjo na spodnji plošči, žeton pa pade v žleb za žetone v umazane roke čakajočega lačnega zaposlenega.

Zlagalec žetonov je stara brizgalna cev, ki sem jo položila naokoli, premer pa je bil popolnoma enak žetonom. V brizgalni cevi sem izvrtal nekaj lukenj, da si lahko ogledate, koliko žetonov je zloženih za ponovno polnjenje, če je potrebno. Razpršilna cev je bila super lepljena na zgornjo ploščo Perspex.

Korak: Razdeljevalec žetonov

Razdeljevalec žetonov
Razdeljevalec žetonov
Razdeljevalec žetonov
Razdeljevalec žetonov
Razdeljevalec žetonov
Razdeljevalec žetonov

Motor za pogon srednje plošče je 220V AC sinhroni motor od…. Nimam pojma, našel sem ga v škatli z rezervnimi deli, dokler je počasen in močan. Gred je bila pritrjena na srednjo ploščo z epoksidnim lepilom, imenovanim Pratex. Relejni modul se sproži in žica pod napetostjo je priključena, da motor deluje. V spodnji plošči sem izvrtal nekaj lukenj, da bi preprečil trenje, če je to pomembno, pa ne vem. Na obeh straneh srednje plošče sta bili izrezani 2 luknji, da bi "zgrabili" žetone. Premer lukenj je le nekoliko večji od premera žetonov, tako da obstaja nekaj prostora za napake pri zajemanju žetonov.

4. korak: Odkrivanje, če je bil žeton izdan

Odkrivanje, če je bil žeton izdan
Odkrivanje, če je bil žeton izdan
Odkrivanje, če je bil žeton izdan
Odkrivanje, če je bil žeton izdan

Za to sem uporabil fotoelektrični senzorski modul, zaposlenega ne želimo ostrakirati, če po skeniranju oznake ni prejel žetona. bi zdaj ?. Zapis se zapiše samo na kartico SD, če je zaznavanje žetona uspešno, če žetona ni zaznati, se zaslon razbesne, kar je krivilo storitev v podjetju in storitev je zanič.. Noben zapis ni zapisan primer, ko ni žetonov za izdajo. Fotografski tranzistor sem prilepila na dno žleba, tako da bo žeton ob prehodu skozi žarek prekinil žarek

5. korak: Elektronika

Elektronika
Elektronika

Arduino Mega-To so možgani Coin-o-Matica, vsi senzorji itd so povezani z Mega

Arduino Pro Mini in RFM95 Lora Radio - Arduino Pro Mini in Arduino Mega sta med seboj povezana prek zaporednega vodila, ko se oznaka skenira, se številka oznake pošlje na serijsko vodilo od Mega do Pro Mini. Pro Mini je ves čas v zanki, takoj ko je nekaj prejeto na serijsko vodilo Pro Mini, se številka oznake naloži v thethingsnetwork (TTN) z uporabo LoraWan. V zvezi s tem nisem naredil nobene integracije, vendar bi bil načrt imeti primerek AWS za shranjevanje in razvrščanje podatkov. Za več informacij si oglejte naslednji korak.

Diny RTC DS1307 Clock I2C Modul v realnem času-Ko se Coin-O-Matic zažene, se bo prijavil v omrežje WiFi in prejel čas s strežnika NTP prek modula WiFi ESP8266 ESP12, nato pa ustrezno nastavil čas RTC

Grafični barvni 2.2 TFT LCD 240x320 ILI93412 - Glavni zaslon, običajno prikazuje uro in bo uporabniku dal nekaj misli

4 -kanalni dvosmerni pretvorniki nivojev - Ker so digitalni zatiči Mega 5V, sem potreboval pretvornike za varno komunikacijo z nekaterimi moduli

NeoPixel Ring 24 RGB LED WS2812 - Naredite nekaj svetlobe, da omamite in zmedete uporabnika

Začetni komplet RFID 13,56 MHz - čitalnik RFID

Modul kartice SD - Napišite številko oznake, datum in čas za vsako potezo oznake

Potisni gumbi - Skrbnik, ki ima glavno oznako, bo naložil nove oznake, jaz pa z enim od gumbov zaustavim prikaz, dokler ne bodo mogli kopirati številke oznake in zapisati, kdo ima oznako. Ostali 4 gumbi so ožičeni, vendar se trenutno ne uporabljajo

Tribarvna LED - Več svetlobe, ki omami in zmede uporabnike

Veliko in veliko kabelskih vezi - Poskusite narediti nekaj naročila za vse žice

Veliko skakalcev za mize - povežite stvari

2 -kanalni 5 -voltni relejni modul 10 AMP 5VDC - en rele se uporablja za napajanje motorja točilnika, drugi pa za napajanje modula ESP8266, program modula ESP8266 je tudi v zanki, takoj ko dobi napajanje, bo prijavite se v omrežje WiFi in opravite časovni klic NTP. Za zmanjšanje časovnih klicev NTP sem se odločil, da ga vklopim z relejem, IE aktivira rele, aktivira modul ESP, modul ESP dobi čas in rele znova izklopi modul … Prav tako oddaja lepe klike

Modul fotoelektričnega senzorja infrardečega svetlobnega snopa - Za zaznavanje, ali je bil žeton razdeljen

6. korak: Senzorska plošča LoRaWAN

Senzorska plošča LoRaWAN
Senzorska plošča LoRaWAN

Priložene so oblikovalske datoteke Eagle, desko izdelujem jaz, za izdelavo plošče pa uporabljam podjetje. Ta plošča se lahko uporablja tudi kot senzorska plošča LoRAWAN, izredno majhna je, ~ 37 mm x 54 mm, zato ustreza senzorju temperature in vlažnosti DHT 22 ali DHT 11.

7. korak: TTN - omrežje stvari

TTN - omrežje stvari
TTN - omrežje stvari

O tem je na spletnem mestu veliko informacij

www.thethingsnetwork.org/

V bistvu se Coin-O-Matic pogovarja prek LoraWAN-a (Arduino Pro Mini z radijem RFM95) do prehoda (Raspberry Pi s koncentratorjem IMST), ki je prek interneta povezan s TTN-jem, iz TTN-a lahko naredite veliko integracij, IE Swagger, AWS, http itd., Zgornja slika prikazuje nekaj povlekov oznak v pisarni

8. korak: Programska oprema

Programska oprema je razdeljena na 3 dele

getNTPtime_instructables - V programu ESP8266 morate pred nalaganjem spremeniti ime ssid, geslo in ime ntpServerName. Uporabljam osnovni programer FTDI, povežem ozemljitev, TX in RX. Ne pozabite izbrati modula ESP v Arduino IDE in razvrstiti zatiče na ESP, da ga preklopite v način programiranja

Coin-O-Matic_instructables-Program Coin-O-Matic. To se naloži na Arduino Mega, potrebne spremembe so številka glavne oznake -

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

pro_mini_instructables - program LoRaWAN. To se naloži na Pro Mini, za več podrobnosti o tem, kako povezati radio in katere PIN -je uporabiti, glejte shemo. Naslov naprave, ključ seje omrežja in ključ seje aplikacije morate spremeniti po registraciji naprave na TTN, če boste uporabljali ABP

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

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

statični const u4_t DEVADDR = 0x; // <- Spremenite ta naslov za vsako vozlišče!

9. korak: Zagon

V videoposnetku je prikazan rele, ki se aktivira (rele 1), modul ESP8266 se prijavi v omrežje WiFi, pošlje signal časa getNTP in dobi čas s strežnika NTP, potem ko se čas uspešno posodobi, rele izklopi in izklopi napajanje. ESP8266. Če gre kaj narobe in ni uspešne posodobitve časa, se Arduino Mega znova zažene in poskusi znova. Modul ESP8266 in Arduino Mega sta med seboj povezana prek zaporednih vrat (Serial2 na Megi), Arduino Mega posluša odgovor iz ESP8266, sporočilo je videti tako: "UNX [in časovni žig epohe]", Sem v GMT+2, zato v kodi Arduino Mega dodam GMT+2, kot sledi

time_t gmtTimeVar = newTimeVar+7200;

rtc.adjust (DateTime (gmtTimeVar));

10. korak: Dodajanje/odstranjevanje oznake

Image
Image

Glavna oznaka se skenira in na zaslonu se prikaže, da je to glavna oznaka. Nova oznaka se skenira in številka oznake se prikaže na zaslonu, kar daje uporabniku čas, da odstrani številko in zabeleži, kdo ima novo oznako. Številka oznake bo zapisana v bazo podatkov, takoj ko uporabnik pritisne levi gumb. Za odstranitev oznake iz baze podatkov velja isti postopek

11. korak: Nekaj videoposnetkov, ki prikazujejo delovanje Coin-O-Matica

Za integracijo s Telegramom sem uporabil node-red, node-red ima integracijski modul za TTN, kaj se zgodi, ko optično preberete oznako?

  • Oznaka je skenirana
  • txt na kartici SD se prebere, če je veljavna oznaka
  • Če je oznaka veljavna, se časovni žig s številko oznake zapiše v datoteko txt na kartici SD
  • Številka oznake se pošlje prek omrežja LoRaWAN in Raspberry PI Gateway v omrežje TTN
  • Node-red se naroči na sporočila MQTT v omrežju TTN
  • Node-Red pošlje dekodirano številko oznake HEX v DEC v datoteko bash skripta, ki se izvaja na strežniku lokalno
  • Skript bash skenira datoteko txt s ŠTEVILKI TAGOV in IMENI
  • Datoteka bash script naloži sporočilo v telegram BOT s kodrom, ki vsebuje ŠTEVILKO OZNAKE in ime osebe

Lepo in zapleteno, všeč mi je, kako tako preprosta naloga postane zelo zapletena

Sporočite mi, kaj mislite v spodnjih komentarjih

Priporočena: