İçindekiler:
- Adım 1: Malzeme Listesi
- Adım 2: Ahşap ve Perpex'ten Bir Temel İnşa Etmeye Başlayın
- 3. Adım: Jeton Dağıtıcı
- Adım 4: Bir Jeton Dağıtılıp Dağıtılmadığını Tespit Etme
- Adım 5: Elektronik
- Adım 6: LoRaWAN Sensör Kartı
- 7. Adım: TTN - Nesneler Ağı
- Adım 8: Yazılım
- Adım 9: Önyükleme
- Adım 10: Etiket Ekleme/Kaldırma
- 11. Adım: Coin-O-Matic'in Çalışmasını Gösteren Bazı Videolar
Video: Coin-O-Matic Token Dağıtıcı: 11 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
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
- Biraz 3 mm Perspeks
- Biraz 1 mm Perspeks
- arduino mega
- Arduino Pro Mini
- RFM95 Lora Radyo
- Tiny RTC DS1307 Gerçek Zamanlı Saat I2C Modülü
- Grafik Renkli 2.2" TFT LCD 240x320 ILI9341
- 2 x 4 Kanal Çift Yönlü Seviye Dönüştürücü
- NeoPixel Halka 24 - RGB LED WS2812
- RFID Başlangıç Kiti 13.56MHz
- ESP8266 ESP12 Test Kartı WiFi Modülü
- SD Kart Modülü
- 5 x Basmalı düğmeler
- 2 x Üç renkli LED
- Çok ve çok sayıda kablo bağı
- Çok sayıda breadboard jumper
- 40mm x 40mm ahşap
- 2 Kanal 5V Röle Modülü 10 AMP
-
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
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ı
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
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
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ı
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ğı
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
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:
Otomatik İlaç Dağıtıcı: 5 Adım
Otomatik İlaç Dağıtıcı: Bu proje, yaşlı hastaların ilaçlarını porsiyonlara ayırıp dağıtmak için güvenilir bir yola sahip olması gereken tıp alanında kullanım içindir. Bu cihaz, ilaçların 9 gün öncesine kadar porsiyonlara bölünmesine ve istenilen zamanda otomatik olarak verilmesine olanak tanır
Arduino Maske Dağıtıcı: 11 Adım
Arduino Maske Dağıtıcı: Öncelikle, bunun biraz tuhaf göründüğünü biliyorum, ancak işlevsellik adına, biraz beyaz USS Enterprise gibi görünmesi gerekiyordu. İkincisi, bu, Costco boyutunda kullanım için değil, küçük ve orta ölçekli uygulamalar içindir. Bu dağıtıcı maskelerinizi evde sterilize eder
Hap Dağıtıcı: 5 Adım
Hap Dağıtıcı: Howest Kortrijk'te bir öğrenciyim, yıl sonunda öğrendiklerimizi göstermek için bir proje yapmak zorunda kaldık. İlaçların ne zaman alındığını görebileceğiniz bir hap dağıtıcısı yapmayı seçtim. Bu fikri buldum çünkü bazen bilmiyorlar mı?
Otomatik Kart Dağıtıcı: 7 Adım
Otomatik Kart Dağıtıcı: Kart oyunu oynamayı sevdiğim için ilk projem olarak bir akıllı kart dağıtıcısı seçtim. En sevmediğim şey kart dağıtmak. Her oyun için her kişinin kaç kart aldığını hatırlamanız gerekir. Bir şey bildiğinizde bu kafa karıştırıcı olur
Tandpasta Dağıtıcı: 7 Adım
Tandpasta Dağıtıcı: Hai, welkom bij mijn öğretici! DAAR GAAN YAPILACAK! MAAR OP OLSUN