Turinys:

„Coin-O-Matic“žetonų dalytuvas: 11 žingsnių
„Coin-O-Matic“žetonų dalytuvas: 11 žingsnių

Video: „Coin-O-Matic“žetonų dalytuvas: 11 žingsnių

Video: „Coin-O-Matic“žetonų dalytuvas: 11 žingsnių
Video: XRP Wrapped токены - WXRP обертки ERC-20 Ripple! 2024, Lapkritis
Anonim
Image
Image

Mūsų biure yra pardavimo automatas, kuriuo galima pasiimti tikrų pinigų arba žetonų. Vadovybė nusprendė, kad galime gauti nemokamų saldainių (neviršijant ribų), kad būtume laimingi ir patenkinti mažais uždirbamais atlyginimais. Problema buvo, kaip jūs tai kontroliuosite? Prekybos automatas priklauso išorės įmonei, todėl automato modifikacijų nebuvo galima.

Įeikite į Frankenšteino monetą-O-Maticą, mano ligoto proto kūrinį. Nuspręsdamas, kaip tai padaryti, pagalvojau, kad RFID žymos bus geriausios, kiekvienam darbuotojui suteiksime RFID žymą ir registruosime, kiek kartų RFID žyma bus perbraukta. Kai perbraukiama žyma, žetonas išduodamas naudoti su automatu (viena laisva anga). Kiekvieną kartą perbraukus TAG, įrašykite informaciją į SD kortelę. TAG numeris taip pat įkeliamas į „debesį“naudojant „LoraWAN“. Aš jau žaidžiau su „LoRaWAN“ir „thethingsnetwork“(TTN) su kai kuriais temperatūros ir drėgmės jutikliais, todėl turime „TTN Gateway“. „TTN Gateway“yra „Raspberry PI 3“su IMST koncentratoriumi, prijungtu prie TTN.

1 žingsnis: medžiagų sąrašas

  1. Kažkas 3 mm Perspex
  2. Kažkas 1 mm Perspex
  3. Arduino Mega
  4. „Arduino Pro Mini“
  5. RFM95 „Lora“radijas
  6. Mažas RTC DS1307 realaus laiko laikrodžio I2C modulis
  7. Grafinė spalva 2,2 colio TFT LCD 240x320 ILI9341
  8. 2 x 4 kanalų dvikrypčiai lygio keitikliai
  9. „NeoPixel“žiedas 24 - RGB LED WS2812
  10. RFID pradinis rinkinys 13.56MHz
  11. ESP8266 ESP12 „Test Board“„WiFi“modulis
  12. SD kortelės modulis
  13. 5 x mygtukai
  14. 2 x trijų spalvų LED
  15. Daug ir daug kabelių
  16. Daug džemperių ant lentos
  17. 40 x 40 mm mediena
  18. 2 kanalų 5 V relės modulis 10 AMP
  19. 5VDC infraraudonųjų spindulių fotoelektrinio jutiklio modulis

2 žingsnis: pradėjote statyti bazę iš medžio ir „Perpex“

Pradėjo statyti bazę iš medžio ir „Perpex“
Pradėjo statyti bazę iš medžio ir „Perpex“

Pradėjus statyti dėžę, kurioje būtų visa elektronika iš 3 mm „Perspex“, „Perspex“ir logotipas buvo supjaustyti naudojant CNC mašiną. Priekiniame dėžutės dangtelyje yra ekranas, mygtukai ir keletas mirksinčių šviesos diodų. Šviesos diodai yra įprasti trijų spalvų šviesos diodai, kurie keičia spalvas, žr

Tada aš panaudojau kokius 40 mm x 40 mm medinius blokus, kad pastatyčiau vietą monetų dalytuvui ir latakui žetonui patekti. Žetonų dozatorių sudaro 3 apvalios „Perspex“plokštelės, viršutinė ir apatinė - 3 mm „Perspex“, o vidurinė, kurioje yra žetonas, yra 1 mm „Perspex“. Tai veikia taip, kad vidurinė plokštė pasisuka ir paima žetoną iš kamino ir nuvilka jį į skylę apatinėje plokštėje, o žetonas patenka į žetonų lataką į bjaurias laukiančias kažkokio alkano darbuotojo rankas.

Žetonų krautuvas yra senas purkštuvo vamzdelis, kurį aš uždėjau, o skersmuo buvo toks pat kaip žetonų. Purkštuvo vamzdyje išgręžiau keletą skylių, kad galėtumėte pamatyti, kiek žetonų yra sukrauta, kad prireikus papildytų. Purkštuvo vamzdelis buvo priklijuotas prie viršutinės „Perspex“plokštės.

3 žingsnis: Žetonų dozatorius

Žetonų dalytuvas
Žetonų dalytuvas
Žetonų dalytuvas
Žetonų dalytuvas
Žetonų dalytuvas
Žetonų dalytuvas

Variklis, skirtas vidurinei plokštei valdyti, yra 220 V kintamosios srovės sinchroninis variklis iš…. Neturiu supratimo, radau jį savo atsarginėje dėžutėje, kol ji lėta ir stipri. Velenas buvo priklijuotas prie vidurinės plokštės tam tikrais epoksidiniais klijais, vadinamais „Pratex“. Įjungiamas relės modulis ir prijungtas įtampos laidas, kad variklis veiktų. Aš išgręžiau keletą skylių apatinėje plokštėje, kad apsisaugotų nuo trinties, jei tai daro skirtumą, aš nežinau. Žetonams „patraukti“iš abiejų vidurinės plokštės pusių buvo išpjautos 2 skylės. Skylių skersmuo yra tik šiek tiek didesnis nei žetonų skersmuo, todėl griebiant žetonus yra tam tikra klaida.

4 žingsnis: nustatykite, ar buvo išduotas žetonas

Žetono išdavimo nustatymas
Žetono išdavimo nustatymas
Žetono išdavimo nustatymas
Žetono išdavimo nustatymas

Tam panaudojau fotoelektrinį jutiklio modulį, nenorime išstumti darbuotojo, jei jis/ji negavo žetono nuskaitydamas žymą. dabar mes? Įrašas įrašomas tik į SD kortelę, kai žetono aptikimas yra sėkmingas, jei žetonas nebuvo aptiktas, ekranas supyksta, kaltindamas paslaugą įmonėje ir kad paslauga įsiurbia. atvejis, kai nėra išduodamų žetonų. Nuotraukų tranzistorių priklijavau prie latako apačios, kad žetonas sulaužytų spindulį, kai jis praeis pro siją

5 žingsnis: Elektronika

Elektronika
Elektronika

„Arduino Mega“-tai „Coin-o-Matic“smegenys, visi jutikliai ir tt yra prijungti prie „Mega“

„Arduino Pro Mini“ir „RFM95 Lora“radijas - „Arduino Pro Mini“ir „Arduino Mega“yra prijungti vienas prie kito per nuosekliąją magistralę, nuskenavus žymą, žymės numeris siunčiamas serijinėje magistralėje iš „Mega“į „Pro Mini“. „Pro Mini“nuolat veikia, kai tik kažkas gaunamas „Pro Mini“serijos magistralėje, žymos numeris įkeliamas į „thethingsnetwork“(TTN) naudojant „LoraWan“. Aš nesu to integravęs, tačiau planas būtų turėti AWS egzempliorių informacijai saugoti ir rūšiuoti. Daugiau informacijos rasite kitame žingsnyje.

Mažas RTC DS1307 realaus laiko laikrodžio I2C modulis-kai „Coin-O-Matic“įsijungs, jis prisijungs prie „WiFi“tinklo ir gaus laiką iš NTP serverio per ESP8266 ESP12 „Test Board WiFi“modulį ir atitinkamai nustatys RTC laiką

Grafinė spalva 2,2 colio TFT LCD 240x320 ILI93412 - pagrindinis ekranas, paprastai rodo laikrodį ir suteiks vartotojui keletą minčių

4 kanalų dvikrypčiai lygio keitikliai - kadangi „Mega“skaitmeniniai kaiščiai yra 5 V, man reikėjo, kad keitikliai saugiai bendrautų su kai kuriais moduliais

„NeoPixel“žiedas 24 RGB LED WS2812 - Padarykite šiek tiek šviesos, kad suklaidintumėte ir suklaidintumėte vartotoją

RFID pradinis rinkinys 13.56MHz - RFID skaitytuvas

SD kortelės modulis - įrašykite kiekvieno žymėjimo braukimo žymos numerį, datą ir laiką

Spaudžiamieji mygtukai - administratorius, turintis pagrindinę žymą, įkelia naujas žymas, o aš naudoju vieną iš mygtukų, norėdamas pristabdyti ekraną, kol jie nukopijuos žymos numerį ir įrašys, kas turi žymą. Kiti 4 mygtukai yra laidiniai, tačiau šiuo metu nenaudojami

Trispalvis LED - daugiau šviesos, kad suklaidintų ir suklaidintų vartotojus

Daug ir daug kabelių

Daug džemperių iš lentos - prijunkite daiktus

2 kanalų 5V relės modulis 10 AMP 5VDC - viena relė naudojama monetų daliklio varikliui maitinti, o kita - ESP8266 moduliui įjungti, ESP8266 modulio programa taip pat yra cikle, kai tik gaus maitinimo, ji prisijunkite prie „WiFi“tinklo ir gaukite NTP laiko skambutį. Norėdami sumažinti NTP laiko skambučius, nusprendžiau jį įjungti su relė, IE suaktyvina relę, suaktyvina ESP modulį, ESP modulis gauna laiką ir relė vėl įjungia modulį … Ir taip pat skamba gražūs spragtelėjimai

Infraraudonųjų spindulių spindulių fotoelektrinio jutiklio modulis - aptikti, ar žetonas buvo išduotas

6 žingsnis: „LoRaWAN“jutiklių plokštė

„LoRaWAN“jutiklių plokštė
„LoRaWAN“jutiklių plokštė

„Eagle“dizaino failai pridedami, lenta yra mano sukurta, tačiau pati plokštė gaminama naudojant įmonę. Ši plokštė taip pat gali būti naudojama kaip „LoRAWAN“jutiklio plokštė, ji yra labai maža, ~ 37 mm x 54 mm, ji tinka DHT 22 arba DHT 11 temperatūros ir drėgmės jutikliui.

7 žingsnis: TTN - daiktų tinklas

TTN - daiktų tinklas
TTN - daiktų tinklas

Yra daug informacijos apie tai adresu

www.thethingsnetwork.org/

Iš esmės „Coin-O-Matic“pokalbis per „LoraWAN“(„Arduino Pro Mini“su radiju RFM95) į vartus („Raspberry Pi“su IMST koncentratoriumi), kuris yra prijungtas prie TTN internetu, iš TTN galite atlikti daugybę integracijų, „IE Swagger“, AWS, http ir tt, aukščiau esančiame paveikslėlyje parodyta keletas biure esančių žymų

8 žingsnis: programinė įranga

Programinė įranga yra padalinta į 3 dalis

getNTPtime_instructables - ESP8266 programa, prieš įkeldami turite pakeisti ssid, slaptažodį ir ntpServerName. Aš naudoju FTDI pagrindinį programuotoją, jungiu žemę, TX ir RX. Nepamirškite pasirinkti „Arduino IDE“ESP modulio ir sutvarkyti ESP kaiščius, kad įjungtumėte programavimo režimą

„Coin-O-Matic_instructables“-programa „Coin-O-Matic“. Tai įkeliama į „Arduino Mega“, čia reikalingi pakeitimai yra „Master Tag“numeris -

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

pro_mini_instructables - „LoRaWAN“programa. Tai įkeliama į „Pro Mini“, daugiau informacijos apie tai, kaip prijungti radiją ir kokius PIN kodus naudoti, rasite schemoje. Įrenginio adresas, tinklo sesijos raktas ir programos sesijos raktas turi būti pakeisti po to, kai įrenginys bus užregistruotas TTN, jei naudosite ABP

statinė konstanta PROGREMA u1_t NWKSKEY [16] = {}; s]

statinė konst u1_t PROGMEMOS PROGRAMA [16] = {};

statinė konstanta u4_t DEVADDR = 0x; // <- Pakeiskite šį kiekvieno mazgo adresą!

9 žingsnis: įkraukite

Vaizdo įraše parodyta, kaip įjungiama relė (1 relė), ESP8266 modulis prisijungia prie „WiFi“tinklo, siunčia „getNTP“laiko signalą ir gauna laiką iš NTP serverio, po to, kai laikas buvo sėkmingai atnaujintas, relė išsijungia ir atjungia maitinimą. ESP8266. Jei kažkas negerai ir nepavyksta sėkmingai atnaujinti laiko, „Arduino Mega“paleidžia iš naujo ir bando dar kartą. ESP8266 modulis ir „Arduino Mega“yra prijungti vienas prie kito per nuoseklius prievadus („Serial2“„Mega“), „Arduino Mega“klausosi atsakymo iš ESP8266, pranešimas atrodo taip: „UNX [ir epochos laiko žyma]“, Aš naudoju GMT+2, todėl į „Arduino Mega“kodą GMT+2 pridedu taip

time_t gmtTimeVar = newTimeVar+7200;

rtc.adjust (DateTime (gmtTimeVar));

10 veiksmas: žymos pridėjimas/pašalinimas

Image
Image

Pagrindinė žyma nuskaityta ir ekrane rodoma, kad tai yra pagrindinė žyma. Naujoji žyma nuskenuojama ir žymės numeris rodomas ekrane, o tai suteikia vartotojui laiko pašalinti numerį ir įrašyti, kas turi naują žymą. Žymos numeris bus įrašytas į duomenų bazę, kai tik vartotojas paspaus kairįjį mygtuką. Ta pati procedūra atliekama pašalinant žymą iš duomenų bazės

11 veiksmas: kai kurie vaizdo įrašai, rodantys „Coin-O-Matic“veikimą

Aš naudoju „node-red“, kad galėčiau integruoti su „Telegram“, „node-red“turi integravimo modulį su TTN, taigi kas atsitinka, kai nuskaitote žymą?

  • Žyma nuskaityta
  • txt failas SD kortelėje yra skaitomas, kad pamatytumėte, ar tai tinkama žyma
  • Jei žyma galioja, laiko žyma su žymos numeriu įrašoma į txt failą SD kortelėje
  • Žymos numeris siunčiamas per „LoRaWAN“ir „Raspberry PI Gateway“į TTN tinklą
  • Raudonas mazgas užsiprenumeruoja MQTT pranešimus TTN tinkle
  • „Node-Red“siunčia dekoduotą HEX į DEC žymos numerį į „bash“scenarijaus failą, veikiantį vietiniame serveryje
  • „Bash“scenarijus nuskaito txt failą su žymų skaičiais ir pavadinimais
  • „Bash“scenarijaus failas įkelia pranešimą į „Telegram BOT“su garbanomis, kuriose yra žymės numeris ir asmens vardas

Gražu ir sudėtinga, man patinka, kaip tokia paprasta užduotis tampa labai sudėtinga

Leiskite man žinoti, ką manote toliau pateiktose pastabose

Rekomenduojamas: