Spisu treści:
- Krok 1: Zestawienie materiałów
- Krok 2: Zacząłem budować bazę z drewna i perpexu
- Krok 3: Dozownik tokenów
- Krok 4: Wykrywanie, czy token został wydany
- Krok 5: Elektronika
- Krok 6: Płytka czujnika LoRaWAN
- Krok 7: TTN - sieć rzeczy
- Krok 8: Oprogramowanie
- Krok 9: Uruchom
- Krok 10: Dodawanie/usuwanie tagu
- Krok 11: Niektóre filmy pokazujące działanie Coin-O-Matic
Wideo: Dozownik żetonów Coin-O-Matic: 11 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W naszym biurze posiadamy automat, który może przyjmować prawdziwe pieniądze lub tokeny. Zarząd zdecydował, że możemy dostać trochę darmowych słodyczy (w pewnych limitach), abyśmy byli szczęśliwi i zadowoleni z niskich zarobków, które zarabiamy. Problem polegał na tym, jak byś to kontrolował? Automat należy do firmy zewnętrznej, więc modyfikacje automatu nie wchodziły w rachubę.
Wejdź do Frankenstein Coin-O-Matic, dzieła mojego chorego umysłu. Decydując się, jak to zrobić, pomyślałem, że tagi RFID będą najlepsze, daj każdemu pracownikowi tag RFID i rejestruj, ile razy tag RFID zostanie przeciągnięty. Po przeciągnięciu tagu wydawany jest token do użytku z automatem (jeden wolny odpowietrznik). Za każdym razem, gdy TAG zostanie przeciągnięty, zapisz informacje na karcie SD. Numer TAG jest również przesyłany do „chmury” za pomocą LoraWAN. Bawiłem się już LoRaWAN i thethingsnetwork (TTN) z kilkoma czujnikami temperatury i wilgotności, więc mamy bramkę TTN. Brama TTN to Raspberry PI 3 z koncentratorem IMST podłączonym do TTN.
Krok 1: Zestawienie materiałów
- Niektóre pleksi 3mm
- Niektóre pleksi 1mm
- Arduino Mega
- Arduino Pro Mini
- Radio RFM95 Lora
- Mały moduł zegara czasu rzeczywistego RTC DS1307 I2C
- Graficzny kolorowy wyświetlacz TFT LCD 2,2" 240x320 ILI9341
- 2 x 4-kanałowe dwukierunkowe konwertery poziomów
- Pierścień NeoPixel 24 - LED RGB WS2812
- Zestaw startowy RFID 13.56 MHz
- Moduł WiFi ESP8266 ESP12 Test Board
- Moduł karty SD
- 5 x przyciski
- 2 x trójkolorowa dioda LED
- Wiele, wiele opasek kablowych
- Mnóstwo zworek na płytce stykowej
- Drewno 40mm x 40mm
- 2-kanałowy moduł przekaźnikowy 5 V 10 AMP
-
5VDC Moduł czujnika fotoelektrycznego wiązki światła podczerwonego
Krok 2: Zacząłem budować bazę z drewna i perpexu
Zaczęło się od zbudowania pudełka mieszczącego całą elektronikę z 3mm Perspexu, Perspex i logo zostały wycięte przy użyciu maszyny CNC. Na przedniej pokrywie pudełka znajduje się ekran, przyciski i kilka migających diod LED. Diody LED to normalne trójkolorowe diody LED, które zmieniają kolory, patrz BOM
Następnie użyłem drewnianego klocka o wymiarach 40 mm x 40 mm, aby zbudować miejsce na dyspenser monet i zsyp, do którego wpadał token. Dozownik żetonów składa się z 3 okrągłych płyt Perspex, górny i dolny są wykonane z Perspexu 3mm, a środkowy, na którym znajduje się żeton, to Perspex 1mm. Sposób działania polega na tym, że środkowa płyta obraca się, chwyta żeton ze stosu i przeciąga go do otworu w dolnej płycie, a żeton wpada do zsypu żetonów w brudne, czekające ręce jakiegoś głodnego pracownika.
Układarka żetonów to stara rura zraszacza, którą ułożyłem, a średnica była dokładnie taka sama jak żetony. Wywierciłem kilka otworów w rurce zraszacza, aby można było zobaczyć, ile żetonów jest ułożonych w stos do uzupełnienia w razie potrzeby. Rurka spryskiwacza została superklejona z górną płytą z pleksiglasu.
Krok 3: Dozownik tokenów
Silnik do napędzania środkowej płyty to silnik synchroniczny 220 V AC od …. Nie mam pojęcia, znalazłem go w pudełku z częściami zapasowymi, o ile jest powolny i mocny. Wał został przyklejony do płyty środkowej za pomocą kleju epoksydowego Pratex. Moduł przekaźnika jest wyzwalany i przewód pod napięciem jest podłączony, aby uruchomić silnik. Wywierciłem kilka otworów w dolnej płycie, aby przeciwdziałać tarciu, czy to robi różnicę, nie wiem. Po obu stronach środkowej płyty wycięto 2 otwory, aby „chwycić” żetony. Średnica otworów jest nieco większa niż średnica żetonów, więc istnieje pewien margines błędu podczas chwytania żetonów.
Krok 4: Wykrywanie, czy token został wydany
Użyłem do tego modułu czujnika fotoelektrycznego, nie chcemy ostracyzmować pracownika, który nie otrzymał tokena po zeskanowaniu tagu. teraz moglibyśmy?. Rekord zapisywany jest tylko na kartę SD, gdy wykrycie tokena się powiedzie, jeśli token nie zostanie wykryty, wyświetlacz wpada w szał, obwiniając serwis w firmie i serwis jest do bani. przypadek, w którym nie ma żetonów do wydania. Do dna zsypu przykleiłem fototranzystor aby token złamał wiązkę gdy przechodzi przez wiązkę
Krok 5: Elektronika
Arduino Mega - To jest mózg Coin-o-Matic, wszystkie czujniki itp. są podłączone do Mega
Arduino Pro Mini i RFM95 Lora Radio - Arduino Pro Mini i Arduino Mega są połączone ze sobą za pomocą magistrali szeregowej, gdy tag jest skanowany, numer tagu jest wysyłany na magistrali szeregowej z Mega do Pro Mini. Pro Mini jest cały czas w pętli, gdy tylko coś zostanie odebrane przez magistralę szeregową Pro Mini, numer tagu jest przesyłany do sieci thethingsnetwork (TTN) za pomocą LoraWan. Nie zrobiłem żadnej integracji w tym zakresie, ale plan byłby taki, aby mieć instancję AWS do przechowywania i sortowania informacji. Zobacz następny krok, aby uzyskać więcej informacji.
Mały moduł I2C zegara czasu rzeczywistego RTC DS1307 - Po uruchomieniu Coin-O-Matic zaloguje się do sieci Wi-Fi i pobierze czas z serwera NTP za pośrednictwem modułu Wi-Fi płyty testowej ESP8266 ESP12, a następnie odpowiednio ustawi czas RTC
Graficzny kolorowy 2,2 TFT LCD 240x320 ILI93412 - Główny wyświetlacz, zwykle pokazuje zegar i daje kilka słów do przemyślenia użytkownikowi
4-kanałowe dwukierunkowe konwertery poziomu - Ponieważ cyfrowe piny Mega mają napięcie 5V, potrzebowałem konwerterów do komunikacji na bezpiecznym poziomie z niektórymi modułami
NeoPixel Ring 24 RGB LED WS2812 - Dodaj trochę światła, aby oszołomić i zmylić użytkownika
RFID Starter Kit 13.56MHz - Czytnik RFID
Moduł karty SD - Wpisz numer tagu, datę i godzinę dla każdego przesunięcia tagu
Przyciski - Administrator, który ma tag główny, załaduje nowe tagi, a ja używam jednego z przycisków, aby wstrzymać wyświetlanie, aż będzie mógł skopiować numer tagu i zarejestruje, kto ma tag. Pozostałe 4 przyciski są okablowane, ale w tej chwili nie są używane
Trójkolorowa dioda LED - Więcej światła, aby oszołomić i zmylić użytkowników
Mnóstwo opasek kablowych - Spróbuj uporządkować wszystkie przewody
Mnóstwo zworek do krojenia chleba - Podłącz wszystko
2-kanałowy moduł przekaźnikowy 5V 10 AMP 5VDC - Jeden przekaźnik służy do zasilania silnika dyspensera monet, a drugi do zasilania modułu ESP8266, program modułu ESP8266 jest również w pętli, gdy tylko zostanie zasilony, będzie zaloguj się do sieci Wi-Fi i wykonaj połączenie czasowe NTP. Aby zminimalizować czas NTP, zdecydowałem się zasilić go przekaźnikiem, tj. aktywować przekaźnik, aktywować moduł ESP, moduł ESP pobrać czas i ponownie wyłączyć moduł… I sprawia to też ładne odgłosy klikania
Moduł czujnika fotoelektrycznego wiązki światła podczerwonego - do wykrywania, czy token został wydany
Krok 6: Płytka czujnika LoRaWAN
Załączam pliki projektu Eagle, tablica jest mojego autorstwa, ale sama tablica jest produkowana przez firmę. Ta płytka może być również używana jako płytka czujnika LoRAWAN, jest bardzo mała, ~37mm x 54mm, może obsługiwać czujnik temperatury i wilgotności DHT 22 lub DHT 11, tak jak jest.
Krok 7: TTN - sieć rzeczy
Dużo informacji na ten temat znajduje się na
www.thethingsnetwork.org/
Zasadniczo, Coin-O-Matic rozmawia przez LoraWAN (Arduino Pro Mini z radiem RFM95) do bramy (Raspberry Pi z koncentratorem IMST), która jest podłączona do TTN przez Internet, z TTN można wykonać wiele integracji, IE Swagger, AWS, http itp., obrazek powyżej pokazuje kilka przeciągnięć tagów w biurze
Krok 8: Oprogramowanie
Oprogramowanie podzielone jest na 3 części
getNTPtime_instructables - Program ESP8266, przed przesłaniem należy zmienić ssid, hasło i ntpServerName. Używam podstawowego programatora FTDI, podłączam masę, TX i RX. Pamiętaj, aby wybrać moduł ESP w Arduino IDE i posortować piny na ESP, aby przełączyć go w tryb programowania
Coin-O-Matic_instructables - Program Coin-O-Matic. To jest ładowane na Arduino Mega, potrzebne zmiany to numer znacznika głównego -
byte masterCard[cardSize] = {121, 178, 151, 26};
pro_mini_instructables - Program LoRaWAN. To jest ładowane do Pro Mini, zobacz schemat, aby uzyskać więcej informacji na temat podłączania radia i których PINów użyć. Adres urządzenia, klucz sesji sieciowej i klucz sesji aplikacji muszą zostać zmienione po rejestracji urządzenia w TTN, jeśli będziesz korzystać z ABP
statyczna stała PROGMEM u1_t NWKSKEY[16] = { };s]
statyczna stała u1_t PROGMEM APPSKEY[16] = { };
statyczna stała u4_t DEVADDR = 0x; // <-- Zmień ten adres dla każdego węzła!
Krok 9: Uruchom
Film pokazuje aktywację przekaźnika (przekaźnik 1), moduł ESP8266 loguje się do sieci WiFi, wysyła sygnał czasu getNTP i pobiera czas z serwera NTP, po pomyślnej aktualizacji czasu przekaźnik dezaktywuje się i odłącza zasilanie ESP8266. Jeśli coś pójdzie nie tak i nie uda się zaktualizować czasu, Arduino Mega uruchomi się ponownie i spróbuje ponownie. Moduł ESP8266 i Arduino Mega są połączone ze sobą przez porty szeregowe (Serial2 na Mega), Arduino Mega nasłuchuje odpowiedzi z ESP8266, komunikat wygląda tak "UNX [i sygnatura czasowa epoki]", Jestem w GMT+2, więc w kodzie Arduino Mega dodaję GMT+2 w następujący sposób
time_t gmtTimeVar = nowaTimeVar+7200;
rtc.adjust(DataGodzina(gmtTimeVar));
Krok 10: Dodawanie/usuwanie tagu
Zmienna główna jest skanowana, a wyświetlacz wskazuje, że jest to zmienna główna. Nowy tag jest skanowany, a numer tagu jest wyświetlany na ekranie, co daje użytkownikowi czas na usunięcie numeru i zapisanie, kto ma nowy tag. Numer tagu zostanie zapisany do bazy danych, gdy tylko użytkownik naciśnie lewy przycisk. Ta sama procedura jest stosowana w celu usunięcia tagu z bazy danych
Krok 11: Niektóre filmy pokazujące działanie Coin-O-Matic
Użyłem node-red do integracji z Telegramem, node-red ma moduł integracji z TTN, więc co się stanie, gdy zeskanujesz tag?
- Tag jest skanowany
- Plik txt na karcie SD jest odczytywany, aby sprawdzić, czy jest to prawidłowy tag
- Jeśli tag jest prawidłowy, znacznik czasu z numerem tagu jest zapisywany w pliku txt na karcie SD
- Numer tagu jest wysyłany przez LoRaWAN i bramę Raspberry PI do sieci TTN
- Node-red subskrybuje wiadomości MQTT w sieci TTN
- Węzeł-czerwony wysyła zdekodowany numer znacznika HEX do DEC do pliku skryptu bash działającego lokalnie na serwerze
- Skrypt bash skanuje plik txt z NUMERAMI TAGÓW i NAZWAMI
- Plik skryptu bash przesyła wiadomość do BOT Telegrama z curl zawierającym TAG NUMER i imię i nazwisko osoby
Ładne i złożone, uwielbiam jak takie proste zadanie staje się baaaardzo skomplikowane
Daj mi znać, co myślisz w komentarzach poniżej
Zalecana:
Automatyczny dozownik do ręcznego dezynfekcji rąk: 6 kroków
Automatyczny dozownik do ręcznego dezynfekcji rąk: W tym projekcie zbudujemy automatyczny dozownik do dezynfekcji rąk. Ten projekt będzie wykorzystywał Arduino, czujnik ultradźwiękowy, pompę wody i dezynfektor do rąk. Czujnik ultradźwiękowy służy do sprawdzania obecności rąk poniżej wylotu dezynfektora
Automatyczny dozownik alkoholu żelowego z Esp32: 9 kroków
Automatyczny dozownik alkoholu żelowego z Esp32: W samouczku zobaczymy, jak zrobić kompletny prototyp, aby złożyć automatyczny dozownik alkoholu żelowego z esp32, będzie zawierał montaż krok po kroku, obwód elektroniczny, a także kod źródłowy wyjaśniony krok po kroku krok
Automatyczny dozownik leków: 5 kroków
Automatyczny dozownik leków: Ten projekt jest przeznaczony do użytku w medycynie, gdzie starsi pacjenci muszą mieć niezawodny sposób na porcjowanie i dozowanie leków. To urządzenie umożliwia porcjowanie leków z 9-dniowym wyprzedzeniem i automatyczne dozowanie w
Dozownik maski Arduino: 11 kroków
Dozownik maski Arduino: Po pierwsze, wiem, że wygląda to trochę dziwnie, ale ze względu na funkcjonalność musiał wyglądać jak mały biały USS Enterprise. Po drugie, jest przeznaczony do małych i średnich zastosowań, a nie do użytku o wielkości Costco. Ten dozownik sterylizuje twoje maski na p
Bezdotykowy dozownik cukierków na Halloween: 6 kroków
Bezdotykowy dozownik cukierków na Halloween: Znowu nadeszła ta pora roku, w której świętujemy Halloween, ale w tym roku z powodu COVID-19 wszystkie zakłady są wykluczone. Ale w duchu Halloween nie powinniśmy zapominać o zabawie w „Cukierek albo psikus”. Tak więc ten post został stworzony, aby umożliwić rodzinie