Innehållsförteckning:

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

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

Video: Coin-O-Matic Token Dispenser: 11 steg
Video: Polygon MATIC - What no one tells you! 2024, Juli
Anonim
Image
Image

På vårt kontor har vi en varuautomat som antingen kan ta riktiga pengar eller tokens. Ledningen beslutade att vi kunde få lite gratis godis (inom gränserna) för att hålla oss nöjda och nöjda med de låga lönerna vi tjänar. Problemet var, hur skulle du kontrollera det? Varuautomaten tillhör ett externt företag, så ändringar av varuautomaten var inte aktuellt.

Gå in i Frankenstein Coin-O-Matic, en skapelse av mitt sjuka sinne. När jag bestämde mig för hur jag skulle göra detta, tänkte jag att RFID -taggar skulle vara de bästa, ge varje anställd en RFID -tagg och registrera hur många gånger RFID -taggen sveps. När taggen sveps får du en token för användning i varuautomaten (en ledig ventil). Varje gång TAG blir svept, spela in informationen på ett SD -kort. TAG -numret laddas också upp till "molnet" med LoraWAN. Jag har redan lekt med LoRaWAN och nätverket (TTN) med några temperatur- och fuktsensorer, så vi har en TTN Gateway. TTN Gateway är en Raspberry PI 3 med en IMST -koncentrat ansluten till TTN.

Steg 1: Materialförteckning

  1. Några 3 mm Perspex
  2. Några 1 mm Perspex
  3. Arduino Mega
  4. Arduino Pro Mini
  5. RFM95 Lora Radio
  6. Liten RTC DS1307 I2C -modul i realtid
  7. Grafisk färg 2,2 "TFT LCD 240x320 ILI9341
  8. 2 x 4 -kanals dubbelriktade nivåomvandlare
  9. NeoPixel Ring 24 - RGB LED WS2812
  10. RFID -startpaket 13,56MHz
  11. ESP8266 ESP12 Test Board WiFi -modul
  12. SD -kortmodul
  13. 5 x tryckknappar
  14. 2 x trefärgad LED
  15. Massor av buntband
  16. Massor av breadboardhoppare
  17. 40mm x 40mm trä
  18. 2 -kanals 5V relämodul 10 AMP
  19. 5VDC fotoelektrisk sensormodul för infraröd ljusstråle

Steg 2: Började bygga en bas av trä och Perpex

Började bygga en bas av trä och Perpex
Började bygga en bas av trä och Perpex

Började med att bygga en låda för all elektronik från 3 mm Perspex, Perspex och logotypen klipptes med en CNC -maskin. Lådans framsida innehåller skärmen, knappar och några blinkande lysdioder. Lysdioderna är normala trefärgade lysdioder som cyklar genom färgerna, se BOM

Jag använde sedan ett träkloss på 40 mm x 40 mm för att bygga en plats för myntautomaten och en ränna för token att falla ner i. Token dispenser består av 3 Perspex runda plattor, den övre och nedre är 3 mm Perspex och den mittersta som bär token är 1 mm Perspex. Sättet fungerar på att mellersta plattan vänder och tar tag i en token från bunten och drar den till hålet i bottenplattan och token faller in i token -rännan i en grinig väntande händer på någon hungrig anställd.

Token staplare är ett gammalt sprinklerrör som jag hade lagt runt och diametern var exakt densamma som tokens. Jag borrade några hål i sprinklerröret så att du kunde se hur många tokens som staplas för påfyllning om det behövs. Sprinklerröret överlimmades till den övre Perspex -plattan.

Steg 3: Token Dispenser

Token Dispenser
Token Dispenser
Token Dispenser
Token Dispenser
Token Dispenser
Token Dispenser

Motorn för att driva mittplattan är en 220V AC synkronmotor från …. Jag har ingen aning, hittade den i min reservdosa, så länge den är långsam och stark. Skaftet limmades på mittplattan med lite epoxilim kallat Pratex. Relämodulen utlöses och strömkabeln är ansluten för att få motorn att gå. Jag borrade några hål i bottenplattan för att motverka friktion, om det gör någon skillnad vet jag inte. 2 hål skars på båda sidor av mellersta plattan för att "ta tag i" poletterna. Hålens diameter är bara lite större än tokens diameter, så att det finns en viss felmarginal när man tar tag i tokens.

Steg 4: Upptäcka om en token delades ut

Upptäcker om en token delades ut
Upptäcker om en token delades ut
Upptäcker om en token delades ut
Upptäcker om en token delades ut

Jag använde en fotoelektrisk sensormodul för detta, vi vill inte utesluta en anställd om han/hon inte fick en token efter att ha skannat en tagg. nu skulle vi ?. Posten skrivs bara till SD -kortet, när detekteringen av token lyckas, om ingen token detekterades, blir displayen ilsket, skyller på tjänsten i företaget och att tjänsten suger.. Ingen post skrivs in fallet där det inte finns några tokens att avge. Jag limmade fototransistorn på botten av rännan så att symbolen bryter strålen när den passerar genom strålen

Steg 5: Elektronik

Elektronik
Elektronik

Arduino Mega-Detta är hjärnan i Coin-o-Matic, alla sensorer etc är anslutna till Mega

Arduino Pro Mini och RFM95 Lora Radio - Arduino Pro Mini och Arduino Mega är anslutna till varandra via seriebussen, när en tagg skannas skickas taggnumret på seriebussen från Mega till Pro Mini. Pro Mini är i en loop hela tiden, så snart något tas emot på Pro Minis seriella buss laddas taggnumret upp till thethingsnetwork (TTN) med LoraWan. Jag har inte gjort någon integration om det, men planen är att ha en AWS -instans för att lagra och sortera informationen. Se nästa steg för mer information.

Tiny RTC DS1307 I2C-modul i realtidsklocka-När Coin-O-Matic startar kommer den att logga in på WiFi-nätverket och hämta tiden från en NTP-server via ESP8266 ESP12 Test Board WiFi-modulen och sedan ställa in RTC-tiden därefter

Grafisk färg 2,2 TFT LCD 240x320 ILI93412 - Huvudskärmen, den visar normalt en klocka och kommer att ge tankar till användaren

4 -kanals dubbelriktade nivåomvandlare - Eftersom Megas digitala stift är 5V, behövde jag omvandlarna för att kommunicera på en säker nivå till några av modulerna

NeoPixel Ring 24 RGB LED WS2812 - Gör lite ljus för att bli förvirrad och förvirra användaren

RFID -startpaket 13,56MHz - RFID -läsaren

SD -kortmodul - Skriv taggnummer, datum och tid för varje taggsvepning

Tryckknappar - Administratör som har huvudtaggen kommer att ladda nya taggar och jag använder en av knapparna för att pausa visningen tills de kan kopiera taggnumret och registrerar vem som har taggen. De andra 4 knapparna är trådbundna men används inte just nu

Trefärgad LED - Mer ljus för att dämpa och förvirra användarna

Massor av buntband - Försök få ordning på alla ledningar

Massor av breadboardhoppare - Koppla ihop grejerna

2 -kanals 5V relämodul 10 AMP 5VDC - Det ena reläet används för att driva myntdispenseringsmotorn och det andra för att slå på ESP8266 -modulen, ESP8266 -modulprogrammet är också i en slinga, så snart det får ström kommer det att logga in på WiFi -nätverket och ring NTP -tid. För att minimera NTP -tidssamtalen bestämde jag mig för att slå på den med reläet, IE aktivera reläet, aktivera ESP -modulen, ESP -modulen få tiden och reläet stänga av modulen igen … Och det ger också fina klickljud

Infraröd ljusstråle fotoelektrisk sensormodul - För att upptäcka om en token delades ut

Steg 6: LoRaWAN Sensor Board

LoRaWAN Sensor Board
LoRaWAN Sensor Board

Eagle -designfilerna bifogas, tavlan är av min tillverkning, men jag använder ett företag för att producera tavlan själv. Detta kort kan också användas som ett LoRAWAN -sensorkort, det är extremt litet, ~ 37 mm x 54 mm, det passar även en DHT 22 eller DHT 11 temperatur- och fuktighetssensor som den är.

Steg 7: TTN - Things Network

TTN - Things Network
TTN - Things Network

Det finns mycket information om detta på

www.thethingsnetwork.org/

I grund och botten, Coin-O-Matic-samtalet via LoraWAN (Arduino Pro Mini med RFM95-radion) till en gateway (Raspberry Pi med IMST-koncentrat) som är ansluten till TTN via internet, från TTN kan du göra många integrationer, IE Swagger, AWS, http etc, bilden ovan visar några taggar på kontoret

Steg 8: Programvara

Programvaran är uppdelad i 3 delar

getNTPtime_instructables - ESP8266 -programmet, du måste ändra ssid, lösenord och ntpServerName innan du laddar upp. Jag använder en FTDI grundläggande programmerare, anslut jord, TX och RX. Kom ihåg att välja ESP -modulen i Arduino IDE och sortera ut stiften på ESP för att sätta den i programmeringsläge

Coin-O-Matic_instructables-Coin-O-Matic-programmet. Detta laddas på Arduino Mega, ändringar som behövs här är Master Tag -numret -

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

pro_mini_instructables - LoRaWAN -programmet. Detta laddas in på Pro Mini, se schematisk för mer information om hur du ansluter radion och vilka PIN -koder som ska användas. Enhetsadressen, nätverkssessionsnyckeln och app -sessionsnyckeln måste ändras efter att enhetsregistreringen har gjorts på TTN, om du använder ABP

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

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

statisk const u4_t DEVADDR = 0x; // <- Ändra den här adressen för varje nod!

Steg 9: Starta upp

Videon visar reläet aktiverat (relä 1), ESP8266 -modulen loggar in på WiFi -nätverket, skickar en getNTP -tidssignal och hämtar tiden från NTP -servern, efter att tiden har uppdaterats avaktiveras reläet och tar bort ström till ESP8266. Om något går fel och det inte finns någon lyckad tidsuppdatering startar Arduino Mega om och försöker igen. ESP8266 -modulen och Arduino Mega är anslutna till varandra via serieportarna (Serial2 på Mega), Arduino Mega lyssnar efter ett svar från ESP8266, meddelandet ser ut så här "UNX [och epoken tidsstämpel]", Jag har GMT+2, så i Arduino Mega -koden lägger jag till GMT+2 enligt följande

time_t gmtTimeVar = newTimeVar+7200;

rtc.adjust (DateTime (gmtTimeVar));

Steg 10: Lägga till/ta bort en tagg

Image
Image

Master -taggen skannas och displayen visar att detta är master -taggen. Den nya taggen skannas och taggnumret visas på skärmen och det ger användaren tid att ta ner numret och registrerar vem som har den nya taggen. Taggnumret skrivs till databasen så snart användaren trycker på vänster knapp. Samma procedur följs för att ta bort en tagg från databasen

Steg 11: Några videor som visar hur Coin-O-Matic fungerar

Jag använde nod-röd för att integrera med Telegram, nod-röd har en integrationsmodul till TTN, så vad händer när du skannar en tagg?

  • Taggen skannas
  • txt -fil på SD -kort läses för att se om det är en giltig tagg
  • Om taggen är giltig skrivs en tidsstämpel med taggnumret till en txt -fil på SD -kortet
  • Taggnumret skickas via LoRaWAN och Raspberry PI Gateway till TTN -nätverket
  • Noderöd prenumererar på MQTT-meddelandena på TTN-nätverket
  • Node-Red skicka det avkodade HEX till DEC-taggnumret till en bash-skriptfil som körs på en server lokalt
  • Bash -skriptet skannar en txt -fil med TAG -NUMMER och NAMN
  • Bash -skriptfilen överför meddelandet till en Telegram BOT med curl som innehåller TAG NUMBER och personens namn

Trevligt och komplext, jag älskar hur en så enkel uppgift blir sååå komplex

Låt mig veta vad du tycker i kommentarerna nedan

Rekommenderad: