Talaan ng mga Nilalaman:

Coin-O-Matic Token Dispenser: 11 Mga Hakbang
Coin-O-Matic Token Dispenser: 11 Mga Hakbang

Video: Coin-O-Matic Token Dispenser: 11 Mga Hakbang

Video: Coin-O-Matic Token Dispenser: 11 Mga Hakbang
Video: Find The Next 100x Altcoin!! | Step-by-Step Strategy 2024, Hulyo
Anonim
Image
Image

Sa aming tanggapan mayroon kaming isang vending machine na maaaring kumuha ng totoong pera o mga token. Nagpasya ang pamamahala na makakakuha kami ng ilang mga libreng matamis (sa loob ng mga limitasyon) upang mapanatili kaming masaya at kontento sa mababang suweldo na kinikita namin. Ang problema ay, paano mo makokontrol iyon? Ang vending machine ay pagmamay-ari ng isang kumpanya sa labas, kaya't wala nang tanong ang mga pagbabago sa vending machine.

Ipasok ang Frankenstein Coin-O-Matic, isang paglikha ng aking may sakit na isip. Ang pagpapasya kung paano ito gawin, naisip ko na ang mga RFID tag ay magiging pinakamahusay, bigyan ang bawat empleyado ng isang RFID tag at itala kung gaano karaming oras ang swip ng RFID. Kapag na-swipe ang tag, isang token ang naalis para magamit sa vending machine (isang libreng vent). Sa tuwing mag-swipe ang TAG, itala ang impormasyon sa isang SD card. Ang numero ng TAG ay na-upload din sa "ulap" gamit ang LoraWAN. Naglalaro na ako sa LoRaWAN at thethingsnetwork (TTN) na may ilang mga sensor ng temperatura at halumigmig, kaya mayroon kaming TTN Gateway. Ang TTN Gateway ay isang Raspberry PI 3 na may isang IMST concentrator na konektado sa TTN.

Hakbang 1: Bill ng Mga Materyales

  1. Ilang 3mm Perspex
  2. Ilang 1mm Perspex
  3. Arduino Mega
  4. Arduino Pro Mini
  5. Radio ng Lora RFM95
  6. Napakaliit na RTC DS1307 Modyul na Oras ng Oras I2C
  7. Kulay ng Grapiko 2.2 "TFT LCD 240x320 ILI9341
  8. 2 x 4 Mga Converter ng Antas ng Bidirectional na Channel
  9. NeoPixel Ring 24 - RGB LED WS2812
  10. RFID Starter Kit 13.56MHz
  11. ESP8266 ESP12 Test Board WiFi Module
  12. Module ng SD Card
  13. 5 x Mga pindutan ng push
  14. 2 x Tri-color LED
  15. Maraming at maraming mga kurbatang kurbatang
  16. Maraming jumpers ng breadboard
  17. 40mm x 40mm na kahoy
  18. 2 Channel 5V Relay Module 10 AMP
  19. 5VDC Infrared Light Beam Photoelectric Sensor Module

Hakbang 2: Sinimulan ang Pagbuo ng isang Base Out ng Wood at Perpex

Sinimulan ang pagbuo ng isang Base Out ng Wood at Perpex
Sinimulan ang pagbuo ng isang Base Out ng Wood at Perpex

Nagsimula sa pagbuo ng isang kahon upang mailagay ang lahat ng mga electronics mula sa 3mm Perspex, ang Perspex at logo ay pinutol gamit ang isang CNC machine. Ang harap na takip ng kahon ay naglalaman ng screen, mga pindutan at ilang mga flashing LED. Ang mga LED ay normal na mga LED na tri-color na umiikot kahit na ang mga kulay, tingnan ang BOM

Gumamit ako pagkatapos ng 40mm x40mm kahoy na bloke upang bumuo ng isang lugar para sa dispenser ng barya at isang chute para sa token na mahulog sa. Ang token dispenser ay binubuo ng 3 Perspex bilog na mga plato, ang tuktok at ibabang isa ay 3mm Perspex at ang gitna na nagdadala ng token ay 1mm Perspex. Ang paraan ng paggana nito ay ang gitnang plato na lumiliko at kumukuha ng isang token mula sa stack at hinila ito sa butas sa ilalim ng plato at ang token ay nahuhulog sa token chute sa mabulok na naghihintay na mga kamay ng ilang gutom na empleyado.

Ang stacker ng token ay isang lumang tubo ng pandilig na inilatag ko sa paligid at ang lapad ay eksaktong kapareho ng mga token. Nag-drill ako ng ilang mga butas sa tubo ng pandilig upang makita mo kung gaano karaming mga token ang nakasalansan para sa lamnang muli kung kinakailangan. Ang tubo ng pandilig ay superglued sa tuktok na plato ng Perspex.

Hakbang 3: Ang Token Dispenser

Ang Token Dispenser
Ang Token Dispenser
Ang Token Dispenser
Ang Token Dispenser
Ang Token Dispenser
Ang Token Dispenser

Ang motor upang himukin ang gitnang plato ay isang 220V AC kasabay na motor mula sa …. Wala akong ideya, nahanap ito sa aking spares box, basta't mabagal at malakas ito. Ang baras ay nakadikit sa gitnang plato na may ilang pandikit na epoxy na tinatawag na Pratex. Ang modyul ng relay ay na-trigger at ang live na kawad ay konektado upang mapatakbo ang motor. Nag-drill ako ng ilang mga butas sa ilalim ng plato upang kontrahin ang alitan, kung may pagkakaiba ito, hindi ko alam. 2 butas ang pinutol sa magkabilang panig ng gitnang plato upang "agawin" ang mga token. Ang diameter ng mga butas ay medyo mas malaki kaysa sa diameter ng mga token, upang mayroong ilang mga margin para sa error kapag daklot ang mga token.

Hakbang 4: Ang Pagtuklas Kung Ang Isang Token ay Naipamahagi

Ang Pagtuklas Kung Ang Isang Token Ay Naipamahagi
Ang Pagtuklas Kung Ang Isang Token Ay Naipamahagi
Ang Pagtuklas Kung Ang Isang Token Ay Naipamahagi
Ang Pagtuklas Kung Ang Isang Token Ay Naipamahagi

Gumamit ako ng isang Photoelectric Sensor Module para dito, hindi namin nais na patalsikin ang isang empleyado, kung hindi siya nakatanggap ng isang token pagkatapos na i-scan ang isang tag. ngayon gagawin natin ?. Ang talaan ay nakasulat lamang sa SD card, kapag ang pagtuklas ng token ay matagumpay, kung walang nakitang token, ang display ay napupunta sa isang galit, sinisisi ang serbisyo sa kumpanya at na ang sucks ng serbisyo.. Walang tala na nakasulat sa ang kaso kung saan walang mga token na dapat itapon. Idinikit ko ang photo transistor sa ilalim ng chute upang ang token ay masisira ang sinag kapag dumaan ito sa beam

Hakbang 5: Elektronika

Elektronika
Elektronika

Arduino Mega - Ito ang utak ng Coin-o-Matic, lahat ng mga sensor atbp ay konektado sa Mega

Arduino Pro Mini at RFM95 Lora Radio - Ang Arduino Pro Mini at ang Arduino Mega ay konektado sa bawat isa sa pamamagitan ng serial bus, kapag na-scan ang isang tag, ang numero ng tag ay ipinapadala sa serial bus mula sa Mega hanggang sa Pro Mini. Ang Pro Mini ay nasa isang loop sa lahat ng oras, sa sandaling may matanggap sa serial bus ng Pro Mini, ang numero ng tag ay na-upload sa thethingsnetwork (TTN) gamit ang LoraWan. Hindi ko nagawa ang anumang pagsasama doon, ngunit ang plano ay magkakaroon ng isang halimbawa ng AWS upang maiimbak at ayusin ang impormasyon. Tingnan ang susunod na hakbang para sa karagdagang impormasyon.

Maliliit na RTC DS1307 Real Time Clock I2C Module - Kapag ang Coin-O-Matic ay naka-boot, ito ay mag-log papunta sa WiFi network at makuha ang oras mula sa isang NTP server sa pamamagitan ng ESP8266 ESP12 Test Board WiFi Module at pagkatapos ay itakda ang oras ng RTC nang naaayon

Kulay ng Grapiko 2.2 TFT LCD 240x320 ILI93412 - Ang pangunahing pagpapakita, karaniwang nagpapakita ito ng isang orasan at magbibigay ng ilang mga salita ng pag-iisip sa gumagamit

4 Mga Converter ng Antas ng Bidirectional na Channel - Tulad ng mga digital pin ng Mega ay 5V, kailangan ko ang mga converter upang makipag-usap sa isang ligtas na antas sa ilan sa mga module

NeoPixel Ring 24 RGB LED WS2812 - Gumawa ng ilang ilaw upang masilaw at malito ang gumagamit

RFID Starter Kit 13.56MHz - Ang RFID reader

Module ng SD Card - Isulat ang numero ng tag, petsa at oras para sa bawat pag-swipe ng tag

Mga pindutan ng push - Ang Administrator na may master tag, ay maglo-load ng mga bagong tag at ginagamit ko ang isa sa mga pindutan upang i-pause ang display hanggang sa makopya nila ang numero ng tag at mga talaan na mayroong tag. Ang iba pang 4 na mga pindutan ay wired ngunit hindi ginagamit sa ngayon

Tri-color LED - Mas maraming ilaw upang matakot at lituhin ang mga gumagamit

Maraming at maraming mga kurbatang kurdon - Subukan at kumuha ng isang order sa lahat ng mga wires

Maraming mga jumper ng breadboard - I-wire ang bagay

2 Channel 5V Relay Module 10 AMP 5VDC - Ginagamit ang isang relay upang mapagana ang coin dispenser motor at ang isa pa upang mapalakas ang module na ESP8266, ang programa ng module ng ESP8266 ay nasa isang loop din, sa lalong madaling makakuha ng lakas, magkakaroon ito mag-log sa WiFi network at kumuha ng isang tawag sa oras ng NTP. Upang i-minimize ang mga tawag sa oras ng NTP, nagpasya akong paganahin ito gamit ang relay, IE buhayin ang relay, buhayin ang module ng ESP, makuha ng oras ang module ng module at muling i-relay ang module …

Infrared Light Beam Photoelectric Sensor Module - Upang makita kung ang isang token ay naibigay

Hakbang 6: LoRaWAN Sensor Board

LoRaWAN Sensor Board
LoRaWAN Sensor Board

Ang mga file ng disenyo ng Eagle ay nakakabit, ang board ay aking ginagawa, ngunit gumagamit ako ng isang kumpanya upang makabuo ng board mismo. Ang board na ito ay maaaring magamit bilang isang board ng sensor ng LoRAWAN din, ito ay napakaliit, ~ 37mm x 54mm, nagsisilbi ito para sa isang DHT 22 o DHT 11 Temperature at Humidity Sensor tulad din.

Hakbang 7: TTN - ang Things Network

TTN - ang Things Network
TTN - ang Things Network

Maraming impormasyon tungkol dito sa

www.thethingsnetwork.org/

Talaga, ang Coin-O-Matic talk sa pamamagitan ng LoraWAN (The Arduino Pro Mini gamit ang RFM95 radio) sa isang gateway (Raspberry Pi na may IMST concentrator) na konektado sa TTN sa pamamagitan ng internet, mula sa TTN maaari kang gumawa ng maraming pagsasama, IE Swagger, AWS, http atbp, ang larawan sa itaas ay nagpapakita ng ilang mga swipe ng mga tag sa opisina

Hakbang 8: Software

Ang software ay nahahati sa 3 bahagi

getNTPtime_instructables - Ang programa ng ESP8266, kailangan mong baguhin ang ssid, password at ntpServerName bago mag-upload. Gumagamit ako ng isang pangunahing programmer ng FTDI, kumonekta sa ground, TX at RX. Tandaan na piliin ang module ng ESP sa Arduino IDE at pag-uri-uriin ang mga pin sa ESP upang ilagay ito sa mode ng pagprograma

Coin-O-Matic_instructables - Ang programang Coin-O-Matic. Nai-load ito sa Arduino Mega, kinakailangan ng mga pagbabago dito ang numero ng Master Tag -

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

pro_mini_instructables - Ang programa ng LoRaWAN. Nai-load ito sa Pro Mini, tingnan ang eskematiko para sa higit pang mga detalye sa kung paano i-wire ang radyo at kung aling mga PIN ang gagamitin. Ang Address ng Device, Network Session Key at ang Session ng App ay dapat baguhin pagkatapos ng pagrehistro ng aparato ay tapos na sa TTN, kung gagamit ka ng ABP

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

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

static const u4_t DEVADDR = 0x; // <- Baguhin ang address na ito para sa bawat node!

Hakbang 9: I-boot Up

Ipinapakita ng video ang pagiging aktibo ng relay (relay 1), ang module ng ESP8266 ay nagta-log papunta sa WiFi Network, nagpapadala ng isang getNTP time signal at nakakakuha ng oras mula sa NTP server, pagkatapos ng oras na matagumpay na na-update, ang relay ay nagpapaliban at nag-aalis ng lakas sa ESP8266. Kung may isang bagay na nagkamali at walang matagumpay na pag-update ng oras, ang Arduino Mega ay reboot at subukang muli. Ang module ng ESP8266 at ang Arduino Mega ay konektado sa bawat isa sa pamamagitan ng mga serial port (Serial2 sa Mega), nakikinig ang The Arduino Mega para sa isang sagot mula sa ESP8266, ang mensahe ay ganito "UNX [at ang epoch time stamp]", Nasa GMT + 2 ako, kaya sa Arduino Mega code, idinagdag ko ang GMT + 2 bilang pagsunod

time_t gmtTimeVar = newTimeVar + 7200;

rtc.adjust (DateTime (gmtTimeVar));

Hakbang 10: Pagdaragdag / pag-aalis ng isang Tag

Image
Image

Ang Master tag ay na-scan at ipinapakita ng display na ito ang master tag. Ang bagong tag ay na-scan at ang numero ng tag ay ipinapakita sa screen at binibigyan nito ang oras ng gumagamit na ibaba ang numero at itala kung sino ang may bagong tag. Ang numero ng tag ay isusulat sa database sa sandaling pinindot ng gumagamit ang kaliwang pindutan. Sinusunod ang parehong pamamaraan upang alisin ang isang tag mula sa database

Hakbang 11: Ilang Video na Ipinapakita ang Pagpapatakbo ng Coin-O-Matic

Gumamit ako ng node-red upang isama sa Telegram, ang node-red ay may isang module ng pagsasama sa TTN, kaya ano ang mangyayari kapag na-scan mo ang isang tag?

  • Na-scan ang tag
  • txt file sa SD card ay nabasa upang makita kung ito ay isang wastong tag
  • Kung ang tag ay wasto, ang isang time stamp na may numero ng tag ay nakasulat sa isang txt file sa SD card
  • Ang numero ng tag ay ipinapadala sa pamamagitan ng LoRaWAN at ang Raspberry PI Gateway sa TTN network
  • Nag-subscribe ang Node-red sa mga mensahe ng MQTT sa TTN network
  • Ipinadala ng Node-Red ang naka-decode na HEX sa numero ng tag ng DEC sa isang bash script file na tumatakbo sa isang server nang lokal
  • Ang bash script ay nag-scan ng isang txt file na may TAG NUMBERS at NAMES
  • Ang bash script file ay ina-upload ang mensahe sa isang Telegram BOT na may kulot na naglalaman ng TAG NUMBER at ang pangalan ng tao

Maganda at kumplikado, gusto ko kung paano ang isang simpleng gawain ay nagiging soooo kumplikado

Ipaalam sa akin kung ano ang palagay mo sa mga komento sa ibaba

Inirerekumendang: