Innholdsfortegnelse:

Coin-O-Matic Token Dispenser: 11 trinn
Coin-O-Matic Token Dispenser: 11 trinn

Video: Coin-O-Matic Token Dispenser: 11 trinn

Video: Coin-O-Matic Token Dispenser: 11 trinn
Video: How To Receive Free Matic Token on Metamask Wallet | Free Matic Token 2024, Juli
Anonim
Image
Image

På kontoret vårt har vi en salgsautomat som enten kan ta ekte penger eller tokens. Ledelsen bestemte at vi kunne få noen gratis søtsaker (innenfor grenser) for å holde oss fornøyd og fornøyd med de lave lønnene vi tjener. Problemet var, hvordan ville du kontrollere det? Salgsautomaten tilhører et eksternt selskap, så modifikasjoner av automaten var uaktuelt.

Skriv inn Frankenstein Coin-O-Matic, en skapelse av mitt syke sinn. Da jeg bestemte meg for hvordan jeg skulle gjøre dette, tenkte jeg at RFID -tagger ville være de beste, gi hver ansatt en RFID -tag og holde oversikt over hvor mange ganger RFID -taggen blir feid. Når taggen er sveipet, får du utlevert et symbol for bruk i salgsautomaten (én ledig ventilasjon). Hver gang TAG blir sveipet, registrerer du informasjonen på et SD -kort. TAG -nummeret lastes også opp til "skyen" ved hjelp av LoraWAN. Jeg har allerede lekt med LoRaWAN og nettverket (TTN) med noen temperatur- og fuktighetssensorer, så vi har en TTN Gateway. TTN Gateway er en Raspberry PI 3 med en IMST -konsentrator koblet til TTN.

Trinn 1: Materialregning

  1. Noen 3 mm Perspex
  2. Noen 1 mm Perspex
  3. Arduino Mega
  4. Arduino Pro Mini
  5. RFM95 Lora Radio
  6. Liten RTC DS1307 I2C -modul i sanntid
  7. Grafisk farge 2,2 "TFT LCD 240x320 ILI9341
  8. 2 x 4 kanals toveis nivåomformere
  9. NeoPixel Ring 24 - RGB LED WS2812
  10. RFID -startsett 13,56MHz
  11. ESP8266 ESP12 testkort WiFi -modul
  12. SD -kortmodul
  13. 5 x trykknapper
  14. 2 x trefarget LED
  15. Mange og mange kabelbindere
  16. Mange breadboard -hoppere
  17. 40mm x 40mm tre
  18. 2 -kanals 5V relemodul 10 AMP
  19. 5VDC fotoelektrisk sensormodul for infrarød lysstråle

Trinn 2: Begynte å bygge en base av tre og Perpex

Begynte å bygge en base av tre og Perpex
Begynte å bygge en base av tre og Perpex

Startet med å bygge en boks for å huse all elektronikken fra 3 mm Perspex, Perspex og logoen ble kuttet ved hjelp av en CNC -maskin. Boksen på forsiden inneholder skjermen, knapper og noen blinkende lysdioder. Lysdiodene er normale trefargede lysdioder som går gjennom fargene, se BOM

Deretter brukte jeg en 40 mm x 40 mm treblokk for å bygge et sted for myntdispenser og en rute for token å falle i. Token dispenser består av 3 Perspex runde plater, den øverste og nederste er 3 mm Perspex og den midterste som bærer token er 1 mm Perspex. Måten det fungerer på er at midtplaten snur og tar et brikke fra bunken og drar det til hullet i bunnplaten og brikken faller ned i tokenrennen i de skitten ventende hendene til en sulten ansatt.

Tokenstabler er et gammelt sprinklerrør som jeg hadde lagt rundt og diameteren var nøyaktig den samme som tokens. Jeg boret noen hull i sprinklerrøret slik at du kunne se hvor mange tokens som er stablet for påfylling om nødvendig. Sprinklerrøret ble limt til den øverste Perspex -platen.

Trinn 3: Token dispenser

Token dispenser
Token dispenser
Token dispenser
Token dispenser
Token dispenser
Token dispenser

Motoren for å drive midtplaten er en 220V AC synkron motor fra …. Jeg aner ikke, fant den i boksen min, så lenge den er treg og sterk. Skaftet ble limt til midtplaten med litt epoksylim kalt Pratex. Relemodulen utløses og strømførende ledning er koblet til for å få motoren til å gå. Jeg boret noen hull i bunnplaten for å motvirke friksjon, hvis det gjør en forskjell, vet jeg ikke. 2 hull ble kuttet på hver side av midtplaten for å "gripe" tokens. Diameteren på hullene er bare litt større enn diameteren på tokens, slik at det er en viss feilmargin når man tar tak i tokens.

Trinn 4: Oppdage om det ble utdelt et tegn

Oppdager om det ble utdelt et tegn
Oppdager om det ble utdelt et tegn
Oppdager om det ble utdelt et tegn
Oppdager om det ble utdelt et tegn

Jeg brukte en fotoelektrisk sensormodul for dette, vi ønsker ikke å utsette en ansatt hvis han/hun ikke mottok et tegn etter å ha skannet en kode. nå ville vi ?. Rekorden skrives bare til SD -kortet, når detekteringen av tokenet er vellykket, hvis det ikke ble oppdaget noe token, blir displayet rasende og gir skylden for tjenesten i selskapet og at tjenesten suger. Ingen post er skrevet inn tilfellet der det ikke er noen symboler å dispensere. Jeg limte fototransistoren til bunnen av rennen slik at symbolet vil bryte strålen når den passerer gjennom strålen

Trinn 5: Elektronikk

Elektronikk
Elektronikk

Arduino Mega-Dette er hjernen til Coin-o-Matic, alle sensorene osv. Er koblet til Mega

Arduino Pro Mini og RFM95 Lora Radio - Arduino Pro Mini og Arduino Mega er koblet til hverandre via seriebussen, når en tag skannes, sendes tagnummeret på seriebussen fra Mega til Pro Mini. Pro Mini er i en løkke hele tiden, så snart noe er mottatt på Pro Minis serielle buss, lastes tagnummeret opp til thethingsnetwork (TTN) ved hjelp av LoraWan. Jeg har ikke gjort noen integrasjon på det, men planen ville være å ha en AWS -forekomst for å lagre og sortere informasjonen. Se neste trinn for mer informasjon.

Tiny RTC DS1307 I2C-modul i sanntidsklokke-Når Coin-O-Matic starter opp, vil den logge seg på WiFi-nettverket og hente tiden fra en NTP-server via ESP8266 ESP12 Test Board WiFi-modulen og deretter stille RTC-tiden deretter

Grafisk farge 2,2 TFT LCD 240x320 ILI93412 - Hovedskjermen, den viser normalt en klokke og vil gi noen tankeord til brukeren

4 -kanals toveis nivåomformere - Siden megas digitale pinner er 5V, trengte jeg at omformerne kommuniserte på et sikkert nivå til noen av modulene

NeoPixel Ring 24 RGB LED WS2812 - Få litt lys til å bli forvirret og forvirre brukeren

RFID Starter Kit 13,56MHz - RFID -leseren

SD -kortmodul - Skriv tagnummer, dato og klokkeslett for hver tagksveip

Trykknapper - Administrator som har hovedkoden, vil laste inn nye koder, og jeg bruker en av knappene til å stoppe visningen midlertidig til de kan kopiere kodenummeret og registrerer hvem som har koden. De fire andre knappene er kablet, men blir ikke brukt for øyeblikket

Trefarget LED - Mer lys for å bli forvirret og forvirre brukerne

Mange og mange kabelbindere - Prøv å få orden på alle ledningene

Mange breadboard -hoppere - Koble tingene sammen

2 -kanals 5V relemodul 10 AMP 5VDC - Det ene reléet brukes til å drive myntdispenser -motoren og den andre til å slå på ESP8266 -modulen, ESP8266 -modulprogrammet er også i en sløyfe, så snart det får strøm, vil det logg deg på WiFi -nettverket og ring NTP -tid. For å minimere NTP -tidssamtalene bestemte jeg meg for å slå den på med reléet, IE aktivere reléet, aktivere ESP -modulen, ESP -modulen få tiden og reléet slå av modulen igjen … Og det gir fine klikkelyder også

Infrarød lysstråle fotoelektrisk sensormodul - For å oppdage om et token ble utlevert

Trinn 6: LoRaWAN Sensor Board

LoRaWAN Sensor Board
LoRaWAN Sensor Board

Eagle -designfilene er vedlagt, brettet er i ferd med å lage meg, men jeg bruker et selskap til å produsere selve brettet. Dette brettet kan også brukes som et LoRAWAN -sensorbord, det er ekstremt lite, ~ 37 mm x 54 mm, det passer for en DHT 22 eller DHT 11 temperatur- og fuktighetssensor som den er.

Trinn 7: TTN - Things Network

TTN - Things Network
TTN - Things Network

Det er mye informasjon om dette på

www.thethingsnetwork.org/

I utgangspunktet snakker Coin-O-Matic via LoraWAN (Arduino Pro Mini med RFM95-radioen) til en gateway (Raspberry Pi med IMST-konsentrator) som er koblet til TTN via internett, fra TTN kan du gjøre mange integrasjoner, IE Swagger, AWS, http etc, bildet over viser noen tagger på kontoret

Trinn 8: Programvare

Programvaren er delt inn i 3 deler

getNTPtime_instructables - ESP8266 -programmet, du må endre ssid, passord og ntpServerName før du laster opp. Jeg bruker en FTDI grunnleggende programmerer, kobler bakken, TX og RX. Husk å velge ESP -modulen i Arduino IDE og sorter ut pinnene på ESP for å sette den i programmeringsmodus

Coin-O-Matic_instructables-Coin-O-Matic-programmet. Dette blir lastet på Arduino Mega, endringer som trengs her er Master Tag -nummeret -

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

pro_mini_instructables - LoRaWAN -programmet. Dette lastes på Pro Mini, se skjematisk for mer informasjon om hvordan du kobler radioen og hvilke PIN -koder du skal bruke. Enhetsadressen, nettverksøksnøkkelen og appøktnøkkelen må endres etter at enhetsregistreringen er utført på TTN, hvis du skal bruke ABP

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

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

statisk const u4_t DEVADDR = 0x; // <- Endre denne adressen for hver node!

Trinn 9: Start opp

Videoen viser at reléet blir aktivert (relé 1), ESP8266 -modulen logger seg på WiFi -nettverket, sender et getNTP -tidssignal og får tiden fra NTP -serveren, etter at tiden ble oppdatert, deaktiverer reléet og fjerner strøm til ESP8266. Hvis noe går galt og det ikke er noen vellykket tidsoppdatering, starter Arduino Mega på nytt og prøver igjen. ESP8266 -modulen og Arduino Mega er koblet til hverandre via serielle porter (Serial2 på Mega), Arduino Mega lytter etter svar fra ESP8266, meldingen ser slik ut "UNX [og epoken tidsstempel]", Jeg er i GMT+2, så i Arduino Mega -koden legger jeg til GMT+2 som følger

time_t gmtTimeVar = newTimeVar+7200;

rtc.adjust (DateTime (gmtTimeVar));

Trinn 10: Legge til/fjerne en tag

Image
Image

Master -taggen blir skannet og displayet indikerer at dette er master -taggen. Den nye koden blir skannet og kodenummeret vises på skjermen, og det gir brukeren tid til å ta ned nummeret og registrere hvem som har den nye koden. Kodenummeret skrives til databasen så snart brukeren trykker på venstre knapp. Den samme prosedyren følges for å fjerne en tagg fra databasen

Trinn 11: Noen videoer som viser hvordan Coin-O-Matic fungerer

Jeg brukte node-rød til å integrere med Telegram, node-red har en integreringsmodul til TTN, så hva skjer når du skanner en tag?

  • Taggen er skannet
  • txt -filen på SD -kortet leses for å se om det er en gyldig tag
  • Hvis koden er gyldig, skrives et tidsstempel med kodenummeret til en txt -fil på SD -kortet
  • Kodenummeret sendes via LoRaWAN og Raspberry PI Gateway til TTN -nettverket
  • Noderød abonnerer på MQTT-meldingene på TTN-nettverket
  • Node-Red sender det avkodede HEX til DEC-kodenummeret til en bash-skriptfil som kjører på en server lokalt
  • Bash -skriptet skanner en txt -fil med TAG NUMBERS og NAMES
  • Bash script -filen laster opp meldingen til en Telegram BOT med krøll som inneholder TAG NUMBER og personens navn

Fint og komplekst, jeg elsker hvordan en så enkel oppgave blir så kompleks

Gi meg beskjed om hva du synes i kommentarene nedenfor

Anbefalt: