İçindekiler:

Coin-O-Matic Token Dağıtıcı: 11 Adım
Coin-O-Matic Token Dağıtıcı: 11 Adım

Video: Coin-O-Matic Token Dağıtıcı: 11 Adım

Video: Coin-O-Matic Token Dağıtıcı: 11 Adım
Video: Polygon(MATIC) AĞINDA 5 DK'DA KENDİ TOKENİNİ ÜRET 2024, Kasım
Anonim
Image
Image

Ofisimizde gerçek para veya jeton alabilen bir otomatımız var. Yönetim, bizi mutlu etmek ve kazandığımız düşük maaşlarla yetinmek için ücretsiz tatlılar (sınırlar dahilinde) alabileceğimize karar verdi. Sorun şuydu, bunu nasıl kontrol edeceksin? Otomat dışarıdan bir şirkete ait olduğundan otomatta değişiklik yapılması söz konusu değildi.

Hasta zihnimin yarattığı Frankenstein Coin-O-Matic'e girin. Bunu nasıl yapacağıma karar verirken, RFID etiketlerinin en iyisi olacağını düşündüm, her çalışana bir RFID etiketi verin ve RFID etiketinin kaç kez çalındığının kaydını tutun. Etiket kaydırıldığında, otomat makinesiyle kullanılmak üzere bir jeton dağıtılır (bir serbest havalandırma). ETİKET her kaydırıldığında, bilgileri bir SD karta kaydedin. TAG numarası ayrıca LoraWAN kullanılarak "bulut" a yüklenir. Zaten bazı sıcaklık ve nem sensörleriyle LoRaWAN ve thethingsnetwork (TTN) ile oynuyorum, bu yüzden bir TTN Ağ Geçidimiz var. TTN Ağ Geçidi, TTN'ye bağlı bir IMST yoğunlaştırıcıya sahip bir Raspberry PI 3'tür.

Adım 1: Malzeme Listesi

  1. Biraz 3 mm Perspeks
  2. Biraz 1 mm Perspeks
  3. arduino mega
  4. Arduino Pro Mini
  5. RFM95 Lora Radyo
  6. Tiny RTC DS1307 Gerçek Zamanlı Saat I2C Modülü
  7. Grafik Renkli 2.2" TFT LCD 240x320 ILI9341
  8. 2 x 4 Kanal Çift Yönlü Seviye Dönüştürücü
  9. NeoPixel Halka 24 - RGB LED WS2812
  10. RFID Başlangıç Kiti 13.56MHz
  11. ESP8266 ESP12 Test Kartı WiFi Modülü
  12. SD Kart Modülü
  13. 5 x Basmalı düğmeler
  14. 2 x Üç renkli LED
  15. Çok ve çok sayıda kablo bağı
  16. Çok sayıda breadboard jumper
  17. 40mm x 40mm ahşap
  18. 2 Kanal 5V Röle Modülü 10 AMP
  19. 5VDC Kızılötesi Işık Demeti Fotoelektrik Sensör Modülü

Adım 2: Ahşap ve Perpex'ten Bir Temel İnşa Etmeye Başlayın

Ahşap ve Perpex'ten Temel İnşa Etmeye Başladık
Ahşap ve Perpex'ten Temel İnşa Etmeye Başladık

3 mm Perspex'ten tüm elektronikleri barındıracak bir kutu inşa edilerek başlanan Perspex ve logo bir CNC makinesi kullanılarak kesildi. Kutunun ön kapağında ekran, düğmeler ve bazı yanıp sönen LED'ler bulunur. LED'ler, renkler arasında geçiş yapan normal üç renkli LED'lerdir, bkz. Malzeme Listesi

Daha sonra madeni para verme makinesi için bir yer ve jetonun içine düşeceği bir oluk oluşturmak için 40mm x 40mm'lik bir tahta blok kullandım. Jeton dispenseri 3 adet Perspex yuvarlak plakadan oluşur, üst ve alt tabla 3mm Perspex ve jetonu taşıyan orta kısım 1mm Perspex'tir. Çalışma şekli şudur: orta plaka döner ve yığından bir jeton alır ve onu alt plakadaki deliğe sürükler ve jeton jeton oluğuna aç bir çalışanın pis bekleyen ellerine düşer.

Jeton istifleyici, etrafına döşediğim eski bir sprinkler tüpüdür ve çap jetonlarla tamamen aynıydı. Gerekirse yeniden doldurmak için kaç jeton istiflendiğini görebilmeniz için sprinkler tüpüne bazı delikler açtım. Sprinkler borusu üstteki Perspex plakasına süper yapıştırılmıştır.

3. Adım: Jeton Dağıtıcı

Jeton Dağıtıcı
Jeton Dağıtıcı
Jeton Dağıtıcı
Jeton Dağıtıcı
Jeton Dağıtıcı
Jeton Dağıtıcı

Orta plakayı çalıştıracak motor, 220V AC senkron motordur …. Hiçbir fikrim yok, yavaş ve güçlü olduğu sürece yedek kutumda buldum. Mil orta plakaya Pratex adı verilen bir epoksi yapıştırıcı ile yapıştırıldı. Röle modülü tetiklenir ve motorun çalışması için canlı kablo bağlanır. Sürtünmeyi önlemek için alt plakaya bazı delikler açtım, bir fark yaratır mı bilmiyorum. Jetonları "tutmak" için orta plakanın her iki tarafında 2 delik açıldı. Deliklerin çapı, jetonların çapından biraz daha büyüktür, bu nedenle jetonları alırken hata payı vardır.

Adım 4: Bir Jeton Dağıtılıp Dağıtılmadığını Tespit Etme

Bir Simgenin Dağıtılıp Dağıtılmadığını Tespit Etme
Bir Simgenin Dağıtılıp Dağıtılmadığını Tespit Etme
Bir Simgenin Dağıtılıp Dağıtılmadığını Tespit Etme
Bir Simgenin Dağıtılıp Dağıtılmadığını Tespit Etme

Bunun için bir Fotoelektrik Sensör Modülü kullandım, bir etiketi taradıktan sonra bir jeton almadıysa, bir çalışanı dışlamak istemiyoruz. şimdi olur mu? Kayıt sadece SD karta yazılır, jeton tespiti başarılı olduğunda, jeton tespit edilmediyse, şirketteki servisi suçlayarak ve servisin berbat olduğu konusunda ekran öfkelenir.. Herhangi bir kayıt yazılmaz. dağıtılacak jetonun olmadığı durum. Foto transistörü oluğun altına yapıştırdım, böylece jeton kirişten geçerken ışını kıracak

Adım 5: Elektronik

Elektronik
Elektronik

Arduino Mega - Bu, Coin-o-Matic'in beynidir, tüm sensörler vb.

Arduino Pro Mini ve RFM95 Lora Radyo - Arduino Pro Mini ve Arduino Mega, seri veri yolu üzerinden birbirine bağlanır, bir etiket tarandığında, Mega'dan Pro Mini'ye seri veri yolunda etiket numarası gönderilir. Pro Mini her zaman bir döngüdedir, Pro Mini'nin seri veri yolunda bir şey alınır alınmaz, etiket numarası LoraWan kullanılarak şeyler ağına (TTN) yüklenir. Bununla ilgili herhangi bir entegrasyon yapmadım, ancak plan, bilgileri depolamak ve sıralamak için bir AWS örneğine sahip olmak olacaktır. Daha fazla bilgi için sonraki adıma bakın.

Tiny RTC DS1307 Gerçek Zamanlı Saat I2C Modülü - Coin-O-Matic başlatıldığında, WiFi ağına giriş yapacak ve ESP8266 ESP12 Test Board WiFi Modülü aracılığıyla bir NTP sunucusundan zamanı alacak ve ardından RTC zamanını buna göre ayarlayacaktır.

Grafik Renkli 2.2 TFT LCD 240x320 ILI93412 - Ana ekran, normalde bir saat gösterir ve kullanıcıya bazı düşünceler verecektir

4 Kanal Çift Yönlü Seviye Dönüştürücüler - Mega'nın dijital pinleri 5V olduğundan, dönüştürücülerin bazı modüllerle güvenli bir seviyede iletişim kurmasına ihtiyacım vardı.

NeoPixel Ring 24 RGB LED WS2812 - Kullanıcıyı şaşırtmak ve kafasını karıştırmak için biraz ışık yapın

RFID Başlangıç Kiti 13.56MHz - RFID okuyucu

SD Kart Modülü - Her etiket kaydırma için etiket numarasını, tarihini ve saatini yazın

Basmalı düğmeler - Ana etikete sahip olan yönetici, yeni etiketler yükleyecektir ve ben, etiket numarasını ve etikete sahip olanları kaydedene kadar ekranı duraklatmak için düğmelerden birini kullanıyorum. Diğer 4 düğme kablolu ancak şu anda kullanılmıyor

Üç renkli LED - Kullanıcıları şaşırtmak ve şaşırtmak için daha fazla ışık

Çok ve çok sayıda kablo bağı - Deneyin ve tüm kablolara biraz sipariş verin

Çok sayıda breadboard jumper - Malzemeyi bağlayın

2 Kanal 5V Röle Modülü 10 AMP 5VDC - Bir röle madeni para verme motoruna güç sağlamak için ve diğeri ESP8266 modülünü çalıştırmak için kullanılır, ESP8266 modül programı da bir döngüdedir, güç alır almaz, WiFi ağında oturum açın ve bir NTP zaman araması yapın. NTP zaman çağrılarını en aza indirmek için röle ile açmaya karar verdim, IE röleyi aktifleştir, ESP modülünü aktifleştir, ESP modülü zamanı al ve modülü tekrar röle gücünü kapat… Ve güzel tıklama sesleri de çıkarıyor.

Kızılötesi Işık Demeti Fotoelektrik Sensör Modülü - Bir jetonun verilip verilmediğini algılamak için

Adım 6: LoRaWAN Sensör Kartı

LoRaWAN Sensör Kartı
LoRaWAN Sensör Kartı

Eagle tasarım dosyaları ektedir, pano benim yapımımdır, ancak panonun kendisini üretmek için bir şirket kullanıyorum. Bu kart bir LoRAWAN sensör kartı olarak da kullanılabilir, son derece küçüktür, ~37mm x 54mm, olduğu gibi DHT 22 veya DHT 11 Sıcaklık ve Nem Sensörü için uygundur.

7. Adım: TTN - Nesneler Ağı

TTN - Nesneler Ağı
TTN - Nesneler Ağı

bu konuda çok bilgi var şurada

www.thethingsnetwork.org/

Temel olarak, LoraWAN (RFM95 radyolu Arduino Pro Mini) üzerinden internet üzerinden TTN'ye bağlı bir ağ geçidine (IMST yoğunlaştırıcılı Raspberry Pi) Coin-O-Matic konuşması, TTN'den birçok entegrasyon yapabilirsiniz, IE Swagger, AWS, http vb. Yukarıdaki resim ofisteki bazı etiket kaydırmalarını göstermektedir.

Adım 8: Yazılım

Yazılım 3 bölüme ayrılmıştır

getNTPtime_instructables - ESP8266 programı, yüklemeden önce ssid, password ve ntpServerName'i değiştirmeniz gerekir. Bir FTDI temel programlayıcı kullanıyorum, toprak, TX ve RX'i bağlayın. Arduino IDE'de ESP modülünü seçmeyi ve programlama moduna geçirmek için ESP üzerindeki pinleri sıralamayı unutmayın.

Coin-O-Matic_instructables - Coin-O-Matic programı. Bu Arduino Mega'ya yüklenir, burada gereken değişiklikler Ana Etiket numarasıdır -

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

pro_mini_instructables - LoRaWAN programı. Bu, Pro Mini'ye yüklenir, telsizin nasıl bağlanacağı ve hangi PIN'lerin kullanılacağı hakkında daha fazla ayrıntı için şemaya bakın. ABP kullanacaksanız, TTN'de cihaz kaydı yapıldıktan sonra Cihaz Adresi, Ağ Oturum Anahtarı ve Uygulama Oturum Anahtarı değiştirilmelidir.

statik sabit PROGMEM u1_t NWKSKEY[16] = { };s]

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

statik const u4_t DEVADDR = 0x; // <-- Her düğüm için bu adresi değiştirin!

Adım 9: Önyükleme

Video, rölenin etkinleştirildiğini (röle 1) gösterir, ESP8266 modülü WiFi Ağına giriş yapar, bir getNTP zaman sinyali gönderir ve zamanı NTP sunucusundan alır, zaman başarıyla güncellendikten sonra röle devre dışı kalır ve gücü keser. ESP8266. Bir şeyler ters giderse ve başarılı bir zaman güncellemesi olmazsa, Arduino Mega yeniden başlatılır ve tekrar dener. ESP8266 modülü ve Arduino Mega, seri portlar (Mega'da Seri2) aracılığıyla birbirine bağlanır, Arduino Mega, ESP8266'dan bir cevap dinler, mesaj şöyle görünür "UNX[ve epoch zaman damgası]", GMT+2'deyim, yani Arduino Mega kodunda GMT+2'yi aşağıdaki gibi ekliyorum

time_t gmtTimeVar = newTimeVar+7200;

rtc.adjust(DateTime(gmtTimeVar));

Adım 10: Etiket Ekleme/Kaldırma

Image
Image

Ana etiket taranır ve ekran bunun ana etiket olduğunu gösterir. Yeni etiket taranır ve etiket numarası ekranda görüntülenir ve kullanıcıya numarayı alması ve yeni etiketin kimde olduğunu kaydetmesi için süre verir. Kullanıcı sol tuşa bastığı anda etiket numarası veri tabanına yazılacaktır. Veritabanından bir etiketi kaldırmak için aynı prosedür izlenir.

11. Adım: Coin-O-Matic'in Çalışmasını Gösteren Bazı Videolar

Telegram ile entegre etmek için node-red'i kullandım, node-red'in TTN'ye entegrasyon modülü var, peki bir etiketi taradığınızda ne olur?

  • Etiket tarandı
  • SD karttaki robots.txt dosyası, geçerli bir etiket olup olmadığını görmek için okunur
  • Etiket geçerliyse, SD karttaki bir txt dosyasına etiket numarasını içeren bir zaman damgası yazılır.
  • Etiket numarası LoRaWAN ve Raspberry PI Gateway aracılığıyla TTN ağına gönderilir
  • Düğüm kırmızısı, TTN ağındaki MQTT mesajlarına abone olur
  • Düğüm-Kırmızı, kodu çözülmüş HEX'i DEC etiket numarasına yerel olarak bir sunucuda çalışan bir bash komut dosyasına gönderir
  • Bash betiği, ETİKET NUMARALARI ve ADLARI içeren bir txt dosyasını tarar
  • Bash komut dosyası mesajı, ETİKET NUMARASI ve kişinin adını içeren kıvrımlı bir Telegram BOT'a yükler.

Güzel ve karmaşık, bu kadar basit bir görevin bu kadar karmaşık hale gelmesine bayılıyorum

Aşağıdaki yorumlarda ne düşündüğünüzü bana bildirin

Önerilen: