Բովանդակություն:

Coin-O-Matic Token դիսպենսեր `11 քայլ
Coin-O-Matic Token դիսպենսեր `11 քայլ

Video: Coin-O-Matic Token դիսպենսեր `11 քայլ

Video: Coin-O-Matic Token դիսպենսեր `11 քայլ
Video: How to remove coin mechanism on washer/dryer 2024, Նոյեմբեր
Anonim
Image
Image

Մեր գրասենյակում մենք ունենք վաճառող մեքենա, որը կարող է կամ իրական փող վերցնել, կամ խորհրդանիշներ: Managementեկավարությունը որոշեց, որ մենք կարող ենք անվճար քաղցրավենիք ստանալ (սահմանափակ սահմաններում) `մեզ երջանիկ և գոհ պահելու մեր ցածր աշխատավարձով: Խնդիրն այն էր, թե ինչպե՞ս եք դա վերահսկելու: Վաճառող մեքենան պատկանում է արտաքին ընկերությանը, ուստի վաճառող մեքենայի փոփոխությունների մասին խոսք լինել չի կարող:

Մուտքագրեք Frankenstein Coin-O-Matic- ը ՝ իմ հիվանդ մտքի ստեղծումը: Որոշելով, թե ինչպես դա անել, ես մտածեցի, որ RFID պիտակները կլինեն ամենալավը, յուրաքանչյուր աշխատողին տվեք RFID պիտակ և գրանցեք, թե քանի անգամ է RFID պիտակը սահում: Երբ պիտակը սահում է, նշանը տրամադրվում է վաճառքի մեքենայի (մեկ անվճար օդափոխման) օգտագործման համար: Ամեն անգամ, երբ TAG- ը սահում է, գրանցեք տեղեկատվությունը SD քարտի վրա: TAG համարը նույնպես բեռնվում է «ամպ» ՝ օգտագործելով LoraWAN- ը: Ես արդեն խաղում էի LoRaWAN- ով և thethingsnetwork (TTN) - ով որոշ ջերմաստիճանի և խոնավության տվիչներով, ուստի մենք ունենք TTN Gateway: TTN Gateway- ն ազնվամորի PI 3 է ՝ IMST խտացուցիչով, որը միացված է TTN- ին:

Քայլ 1: Նյութերի հաշիվ

  1. Որոշ 3 մմ Perspex
  2. Որոշ 1 մմ Perspex
  3. Արդուինո Մեգա
  4. Arduino Pro Mini
  5. RFM95 Lora ռադիո
  6. Tiny RTC DS1307 Իրական ժամանակի ժամացույց I2C մոդուլ
  7. Գրաֆիկական գույն 2.2 "TFT LCD 240x320 ILI9341
  8. 2 x 4 ալիքների երկկողմանի մակարդակի փոխարկիչներ
  9. NeoPixel Ring 24 - RGB LED WS2812
  10. RFID մեկնարկային հավաքածու 13.56 ՄՀց
  11. ESP8266 ESP12 Փորձարկման տախտակ WiFi մոդուլ
  12. SD քարտի մոդուլ
  13. 5 x Սեղմեք կոճակները
  14. 2 x Եռագույն LED
  15. Շատ և շատ մալուխային կապեր
  16. Շատ տախտակամած ցատկողներ
  17. 40 մմ x 40 մմ փայտ
  18. 2 ալիք 5V ռելեի մոդուլ 10 AMP
  19. 5VDC ինֆրակարմիր լույսի ճառագայթների ֆոտոէլեկտրական սենսորային մոդուլ

Քայլ 2. Սկսեք հիմք կառուցել փայտից և պերպեքսից

Սկսեց հիմք կառուցել փայտից և պերպեքսից
Սկսեց հիմք կառուցել փայտից և պերպեքսից

Սկսած 3 մմ Perspex- ից ամբողջ էլեկտրոնիկայի տեղադրման տուփ կառուցելով, Perspex- ը և պատկերանշանը կտրվեցին CNC մեքենայի միջոցով: Տուփի առջևի կափարիչը պարունակում է էկրան, կոճակներ և մի քանի լուսարձակող LED: LED- ները սովորական եռագույն LED են, որոնք շրջում են գույներով, տես BOM

Այնուհետև ես օգտագործեցի 40 մմ x40 մմ չափսերով փայտե բլոկ ՝ մետաղադրամ թողարկողի համար տեղ կառուցելու և նշանի մեջ ընկնելու տեղ: Kenուցանիշի դիսպենսերը բաղկացած է 3 Perspex կլոր ափսեներից, վերևի և ներքևի հատվածը 3 մմ Perspex է, իսկ միջինը, որը կրում է խորհրդանիշը, 1 մմ Perspex է: Աշխատանքի եղանակն այն է, որ միջին ափսեն շրջվում է և վերցնում մի նշան բուրգից և այն քարշ տալիս դեպի ներքևի ափսեի անցքը, և նշանը ընկնում է խորհրդանիշի սլաքի մեջ ՝ ինչ -որ սոված աշխատողի մռայլ սպասող ձեռքերում:

Խորհրդանիշը մի հին ջրցան խողովակ է, որը ես դրել էի շուրջը և տրամագիծը ճիշտ նույնն էր, ինչ նշանները: Someնցուղի խողովակի մեջ մի քանի անցք բացեցի, որպեսզի տեսնեք, թե անհրաժեշտության դեպքում քանի նշան է դրված լիցքավորման համար: Sprնցուղի խողովակը սուպեր սոսնձեց Perspex- ի վերին ափսեին:

Քայլ 3: Նշանների դիսպենսեր

Նշանների դիսպենսեր
Նշանների դիսպենսեր
Նշանների դիսպենսեր
Նշանների դիսպենսեր
Նշանների դիսպենսեր
Նշանների դիսպենսեր

Միջին թիթեղը վարելու շարժիչը 220V AC համաժամանակյա շարժիչ է…. Ես գաղափար չունեմ, այն գտա իմ պահեստային արկղում, քանի դեռ այն դանդաղ և ուժեղ է: Լիսեռը սոսնձված էր միջին ափսեի վրա ՝ մի քանի էպոքսիդային սոսինձով, որը կոչվում էր Pratex: Ռելեի մոդուլը գործարկվում է, և շարժական լարը միացված է, որպեսզի շարժիչը գործի դրվի: Ստորին ափսեի մեջ մի քանի անցք եմ բացել `շփմանը հակազդելու համար, եթե դա տարբերություն է ստեղծում, ես չգիտեմ: Միջին ափսեի երկու կողմերում 2 անցք են կտրել ՝ խորհրդանիշները «բռնելու» համար: Անցքերի տրամագիծը մի փոքր ավելի մեծ է քան նշանների տրամագիծը, այնպես որ նշանները բռնելիս սխալի որոշ սահման կա:

Քայլ 4. Հայտնաբերել, եթե նշանը տրամադրվել է

Հայտնաբերում, եթե նշան է տրամադրվել
Հայտնաբերում, եթե նշան է տրամադրվել
Հայտնաբերում, եթե նշան է տրամադրվել
Հայտնաբերում, եթե նշան է տրամադրվել

Ես դրա համար օգտագործեցի Ֆոտոէլեկտրական սենսորային մոդուլ, մենք չենք ցանկանում վտարել աշխատակցին, եթե նա պիտակը սկանավորելուց հետո նշան չի ստացել: հիմա կանե՞նք: Արձանագրությունը գրված է միայն SD քարտի վրա, երբ նշանի հայտնաբերումը հաջող է, եթե ոչ մի նշան չի հայտնաբերվել, ցուցադրումը կատաղում է ՝ մեղադրելով ընկերության ծառայությունը և որ ծառայությունը անհաջող է: Ոչ մի գրառում գրված չէ այն դեպքում, երբ չկան նշաններ տրամադրելու համար: Ես սոսնձեցի լուսանկարչական տրանզիստորը սլաքի ներքևի մասում, որպեսզի նշանը ճեղքվի, երբ այն անցնի ճառագայթով

Քայլ 5: Էլեկտրոնիկա

Էլեկտրոնիկա
Էլեկտրոնիկա

Arduino Mega-Սա Coin-o-Matic- ի ուղեղն է, բոլոր սենսորները և այլն միացված են Mega- ին

Arduino Pro Mini և RFM95 Lora Radio - Arduino Pro Mini- ն և Arduino Mega- ն միմյանց միացված են սերիական ավտոբուսի միջոցով, երբ պիտակը սկանավորվում է, պիտակի համարը ուղարկվում է սերիական ավտոբուսում Mega- ից Pro Mini: Pro Mini- ն անընդհատ գտնվում է հանգույցի մեջ, հենց որ Pro Mini- ի սերիական ավտոբուսում ինչ -որ բան ստանա, պիտակի համարը վերբեռնվում է thethingsnetwork (TTN) - ում `օգտագործելով LoraWan- ը: Ես դրա վերաբերյալ որևէ ինտեգրացիա չեմ արել, բայց ծրագիրը կլինի ունենալ տեղեկատվություն պահելու և տեսակավորելու AWS օրինակ: Լրացուցիչ տեղեկությունների համար տես հաջորդ քայլը:

Tiny RTC DS1307 Իրական ժամանակի ժամացույց I2C մոդուլ. Երբ Coin-O-Matic- ը գործարկվի, այն մուտք կգործի WiFi ցանց և ժամանակ կստանա NTP սերվերից ESP8266 ESP12 Test Board WiFi մոդուլի միջոցով, այնուհետև համապատասխանաբար սահմանեք RTC ժամանակը:

Գրաֆիկական գույն 2.2 TFT LCD 240x320 ILI93412 - Հիմնական էկրանը, այն սովորաբար ցույց է տալիս ժամացույցը և որոշ մտքեր կտա օգտագործողին

4 ալիքի երկկողմանի մակարդակի փոխարկիչներ - Քանի որ Mega- ի թվային կապում են 5V, ինձ անհրաժեշտ էին, որ փոխարկիչներն ապահով մակարդակով որոշ մոդուլների հետ հաղորդակցվեին

NeoPixel Ring 24 RGB LED WS2812 - Լույս տվեք օգտագործողին ապշեցնելու և շփոթեցնելու համար

RFID Starter Kit 13.56MHz - RFID ընթերցող

SD քարտի մոդուլ - Գրեք պիտակի համարը, ամսաթիվը և ժամանակը յուրաքանչյուր պիտակի սահեցման համար

Սեղմեք կոճակները. Ադմինիստրատորը, որն ունի հիմնական պիտակը, կբեռնի նոր պիտակներ, և ես օգտագործում եմ կոճակներից մեկը `ցուցադրումը դադարեցնելու համար, մինչև նրանք չկարողանան պատճենել պիտակի համարը և գրանցել, թե ով ունի պիտակը: Մնացած 4 կոճակները լարված են, բայց այս պահին չեն օգտագործվում

Եռագույն LED - ավելի շատ լույս ՝ օգտագործողներին շշմեցնելու և շփոթեցնելու համար

Շատ և շատ մալուխային կապեր - Փորձեք և կարգի բերեք բոլոր լարերը

Շատ տախտակամած ցատկողներ - Լարացրեք իրերը

2 ալիք 5V ռելեի մոդուլ 10 AMP 5VDC - Մեկ ռելեն օգտագործվում է մետաղադրամների դիսպենսերային շարժիչը սնուցելու համար, իսկ մյուսը ՝ ESP8266 մոդուլը միացնելու համար, ESP8266 մոդուլի ծրագիրը նույնպես գտնվում է հանգույցի մեջ, էներգիա ստանալուն պես այն մուտք գործեք WiFi ցանց և կատարեք NTP ժամանակային զանգ: NTP- ի ժամանակային զանգերը նվազագույնի հասցնելու համար ես որոշեցի այն միացնել ռելեով, IE- ն ակտիվացնել ռելեն, ակտիվացնել ESP մոդուլը, ESP մոդուլը ժամանակ ստանալ և մոդուլը նորից անջատել…

Ինֆրակարմիր լույսի ճառագայթների ֆոտոէլեկտրական սենսորային մոդուլ

Քայլ 6 ՝ LoRaWAN տվիչների տախտակ

LoRaWAN սենսորային տախտակ
LoRaWAN սենսորային տախտակ

«Արծիվ» նախագծի ֆայլերը կցված են, տախտակն իմ ձեռքի գործն է, բայց ես օգտագործում եմ ընկերություն ՝ տախտակն ինքնուրույն արտադրելու համար: Այս տախտակը կարող է օգտագործվել նաև որպես LoRAWAN սենսորային տախտակ, այն չափազանց փոքր է, ~ 37 մմ x 54 մմ, այն ապահովում է DHT 22 կամ DHT 11 ջերմաստիճանի և խոնավության տվիչ, ինչպես կա:

Քայլ 7: TTN - իրերի ցանց

TTN - իրերի ցանց
TTN - իրերի ցանց

Այս մասին շատ տեղեկություններ կան

www.thethingsnetwork.org/

Հիմնականում Coin-O-Matic- ի զրույցը LoraWAN- ի միջոցով (Arduino Pro Mini- ն RFM95 ռադիոյով) դեպի դարպաս (Raspberry Pi IMST խտացուցիչով), որը միացված է TTN- ին ինտերնետի միջոցով, TTN- ից կարող եք կատարել բազմաթիվ ինտեգրումներ, IE Swagger, AWS, http և այլն, վերը նկարը ցույց է տալիս գրասենյակում պիտակների որոշ հարվածներ

Քայլ 8: Softwareրագրակազմ

Theրագրակազմը բաժանված է 3 մասի

getNTPtime_instructables - ESP8266 ծրագիրը, բեռնելուց առաջ պետք է փոխեք ssid- ը, գաղտնաբառը և ntpServerName- ը: Ես օգտագործում եմ FTDI հիմնական ծրագրավորող, միացնում եմ գետնին, TX- ին և RX- ին: Հիշեք, որ Arduino IDE- ում ընտրեք ESP մոդուլը և դասավորեք ESP- ի կապումներն այն ծրագրավորման ռեժիմի դնելու համար:

Coin-O-Matic_instructables-The Coin-O-Matic ծրագիրը: Սա բեռնվում է Arduino Mega- ում, այստեղ անհրաժեշտ փոփոխությունները Master Tag- ի համարն է.

բայթ masterCard [cardSize] = {121, 178, 151, 26};

pro_mini_instructables - LoRaWAN ծրագիրը: Սա բեռնվում է Pro Mini- ում, տե՛ս սխեմատիկորեն ՝ ռադիոյին միացնելու և PIN կոդերի օգտագործման մանրամասների համար: Սարքի հասցեն, ցանցի նիստի բանալին և հավելվածի նստաշրջանի բանալին պետք է փոխվեն սարքի գրանցումը TTN- ում կատարելուց հետո, եթե օգտագործելու եք ABP

ստատիկ կոնստրուկտոր PROGMEM u1_t NWKSKEY [16] = {}; ներ]

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

ստատիկ կոնստրուկտոր u4_t DEVADDR = 0x; // <- Փոխեք այս հասցեն յուրաքանչյուր հանգույցի համար:

Քայլ 9: Բեռնեք

Տեսահոլովակը ցույց է տալիս, որ ռելեն ակտիվանում է (ռելե 1), ESP8266 մոդուլը մուտքագրվում է WiFi ցանց, ուղարկում է getNTP ժամանակի ազդանշան և ստանում ժամանակ NTP սերվերից, ժամանակի հաջող թարմացումից հետո ռելեն անջատվում է և հոսանքը անջատում: ESP8266: Եթե ինչ -որ բան սխալ է ընթանում, և ժամանակի հաջող թարմացում չկա, Arduino Mega- ն վերագործարկվում է և նորից փորձում: ESP8266 մոդուլը և Arduino Mega- ն միմյանց միացված են սերիական նավահանգիստների միջոցով (Serial2 Mega- ում), The Arduino Mega- ն լսում է ESP8266- ի պատասխանը, հաղորդագրությունը նման է «UNX [և դարաշրջանի ժամանակի կնիքին]», Ես GMT+2 -ում եմ, ուստի Arduino Mega ծածկագրում ես GMT+2 -ը ավելացնում եմ հետևյալ կերպ

time_t gmtTimeVar = newTimeVar+7200;

rtc.adjust (DateTime (gmtTimeVar));

Քայլ 10: Պիտակի ավելացում/հեռացում

Image
Image

Հիմնական պիտակը սկանավորվում է, իսկ ցուցադրումը ցույց է տալիս, որ սա գլխավոր պիտակն է: Նոր պիտակը սկանավորվում է, և պիտակի համարը ցուցադրվում է էկրանին, և դա ժամանակ է տալիս օգտագործողին հանելու համարը և գրառումները, թե ով ունի նոր պիտակը: Պիտակի համարը կգրվի տվյալների բազայում, հենց որ օգտագործողը սեղմի ձախ կոճակը: Նույն ընթացակարգը կատարվում է տվյալների բազայից պիտակը հեռացնելու համար

Քայլ 11: Որոշ տեսանյութեր, որոնք ցույց են տալիս Մետաղադրամների գործողությունը

Telegram- ի հետ ինտեգրվելու համար ես օգտագործել եմ node-red- ը, node-red- ն ունի ինտեգրման մոդուլ TTN- ին, ուստի ի՞նչ է տեղի ունենում, երբ պիտակ եք սկանավորում:

  • Պիտակը սկանավորված է
  • SD քարտի txt ֆայլը կարդացվում է ՝ տեսնելու համար, արդյոք այն վավեր պիտակ է
  • Եթե պիտակը վավեր է, ապա պիտակի համարով ժամանակային կնիքը գրվում է SD քարտի txt ֆայլում
  • Պիտակի համարը LoRaWAN- ի և Raspberry PI Gateway- ի միջոցով ուղարկվում է TTN ցանց
  • Node-red- ը բաժանորդագրվում է TTN ցանցի MQTT հաղորդագրություններին
  • Node-Red- ը ապակոդավորված HEX- ն ուղարկում է DEC պիտակի համարին ՝ տեղական սերվերի վրա աշխատող bash սցենարի ֆայլին
  • Bash- ի սկրիպտը սկանավորում է txt ֆայլը TAG ԹՎԵՐ և ԱՆՈAMՆՆԵՐՈՎ
  • Bash սցենարի ֆայլը հաղորդագրությունը վերբեռնում է Telegram- ի BOT- ում ՝ գանգուրով, որը պարունակում է TAG NUMBER և անձի անունը

Գեղեցիկ և բարդ, ես սիրում եմ, թե ինչպես է նման պարզ առաջադրանքը դառնում շատ բարդ

Թույլ տվեք իմանալ, թե ինչ եք կարծում ստորև բերված մեկնաբանություններում

Խորհուրդ ենք տալիս: