Съдържание:

Coin-O-Matic Token Dispenser: 11 стъпки
Coin-O-Matic Token Dispenser: 11 стъпки

Видео: Coin-O-Matic Token Dispenser: 11 стъпки

Видео: Coin-O-Matic Token Dispenser: 11 стъпки
Видео: Shibarium Bone Shiba Inu & DogeCoin Multi Millionaire Whales Made ShibaDoge & Burn Token ERC20 NFT 2024, Юли
Anonim
Image
Image

В нашия офис имаме вендинг машина, която може да взема реални пари или жетони. Ръководството реши, че можем да получим някои безплатни сладкиши (в рамките на границите), за да сме щастливи и доволни от ниските заплати, които печелим. Проблемът беше как ще го контролирате? Вендинг машината е собственост на външна компания, така че модификации на вендинг машината не може да се говори.

Влезте в Frankenstein Coin-O-Matic, творение на моя болен ум. Решавайки как да направя това, мислех, че RFID таговете ще бъдат най -добрите, дайте на всеки служител RFID етикет и ще запишете колко пъти RFID етикетът се прекарва. Когато маркерът се плъзга, жетон се разпределя за използване с вендинг машината (един безплатен отдушник). Всеки път, когато TAG се плъзга, записвайте информацията на SD карта. Номерът на TAG също се качва в „облака“с помощта на LoraWAN. Вече играх с LoRaWAN и thethingsnetwork (TTN) с някои сензори за температура и влажност, така че имаме TTN Gateway. TTN Gateway е Raspberry PI 3 с IMST концентратор, свързан към TTN.

Стъпка 1: Сметка на материалите

  1. Някакъв 3 мм Perspex
  2. Около 1 мм Perspex
  3. Arduino Mega
  4. Arduino Pro Mini
  5. Радио RFM95 Lora
  6. Малък RTC DS1307 Часовник в реално време I2C модул
  7. Графичен цветен 2.2 "TFT LCD 240x320 ILI9341
  8. 2 x 4 -канални двупосочни преобразуватели на ниво
  9. NeoPixel пръстен 24 - RGB LED WS2812
  10. RFID стартов комплект 13,56MHz
  11. ESP8266 ESP12 Тестова платка WiFi модул
  12. Модул SD карта
  13. 5 x бутони
  14. 2 x Трицветен светодиод
  15. Много и много кабелни връзки
  16. Много джъмпери за макети
  17. 40 мм х 40 мм дърво
  18. 2 -канален 5V релеен модул 10 AMP
  19. 5VDC инфрачервен светлинен лъч фотоелектричен сензорен модул

Стъпка 2: Започна изграждането на база от дърво и перпекс

Започна изграждането на база от дърво и перпекс
Започна изграждането на база от дърво и перпекс

Започвайки с изграждането на кутия, в която да се помещава цялата електроника от 3 мм Perspex, Perspex и логото бяха изрязани с помощта на машина с ЦПУ. Предният капак на кутията съдържа екрана, бутоните и някои мигащи светодиоди. Светодиодите са нормални трицветни светодиоди, които преминават през цветовете, вижте спецификация

След това използвах някакъв дървен блок с размери 40 мм х 40 мм, за да построя място за дозатора за монети и улей, в който да влезе жетонът. Дозаторът за символи се състои от 3 кръгли плочи Perspex, горната и долната са 3 мм Perspex, а средната, която носи жетона, е 1 mm Perspex. Начинът, по който работи, е, че средната плоча се обръща и грабва жетон от купчината и го плъзга до дупката в долната плоча, а жетонът пада в жетоновия улей в мръсните чакащи ръце на някой гладен служител.

Устройството за подреждане на жетони е стара пръскаща тръба, която поставих наоколо и диаметърът беше точно същият като символите. Пробих няколко дупки в пръскащата тръба, за да можете да видите колко жетони са подредени за зареждане, ако е необходимо. Разпръскващата тръба беше супер залепена към горната плоча 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 екземпляр за съхраняване и сортиране на информацията. Вижте следващата стъпка за повече информация.

Малък RTC DS1307 I2C модул с часовник в реално време-Когато Coin-O-Matic се зареди, той ще влезе в WiFi мрежата и ще получи времето от NTP сървър чрез ESP8266 ESP12 тестова платка 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 бутона са свързани, но не се използват в момента

Трицветен светодиод - Повече светлина зашеметява и обърква потребителите

Много и много кабелни връзки - Опитайте се да получите ред за всички кабели

Много джъмпери за макети - Свържете нещата

2 -канален 5V релеен модул 10 AMP 5VDC - Едното реле се използва за захранване на мотора на дозатора за монети, а другото за захранване на модула ESP8266, програмата на модула ESP8266 също е в цикъл, веднага след като получи захранване, той ще влезте в WiFi мрежата и направете обаждане по NTP по време. За да сведем до минимум разговорите по NTP, реших да го захранвам с релето, IE да активира релето, да активира ESP модула, ESP модулът да получи времето и да прекъсне отново модула … И издава приятни звуци при щракване

Модул на фотоелектрическия сензор за инфрачервени светлинни лъчи - За да открие дали е издаден жетон

Стъпка 6: Сензорна платка LoRaWAN

Сензорна платка LoRaWAN
Сензорна платка LoRaWAN

Дизайнерските файлове на Eagle са прикачени, дъската е моя изработка, но аз използвам компания за производство на самата дъска. Тази платка може да се използва и като сензорна платка 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: Софтуер

Софтуерът е разделен на 3 части

getNTPtime_instructables - Програмата ESP8266, трябва да промените ssid, парола и ntpServerName преди качването. Използвам основен програмист на FTDI, свързвам земята, TX и RX. Не забравяйте да изберете ESP модула в Arduino IDE и да сортирате щифтовете на ESP, за да го поставите в режим на програмиране

Coin-O-Matic_instructables-Програмата Coin-O-Matic. Това се зарежда на Arduino Mega, тук са необходими промени в номера на главния маркер -

байт masterCard [cardSize] = {121, 178, 151, 26};

pro_mini_instructables - Програмата LoRaWAN. Това се зарежда на Pro Mini, вижте схемата за повече подробности как да свържете радиото и кои ПИН кодове да използвате. Адресът на устройството, Ключът за сесия на мрежата и Ключът за сесията на приложението трябва да бъдат променени след регистрацията на устройството в TTN, ако ще използвате ABP

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

static const u1_t ПРОГМЕМЕН APPSKEY [16] = {};

статичен const u4_t DEVADDR = 0x; // <- Променете този адрес за всеки възел!

Стъпка 9: Стартирайте

Видеото показва релето, което се активира (реле 1), модулът ESP8266 влиза в WiFi мрежата, изпраща сигнал за време на getNTP и получава времето от NTP сървъра, след като времето е успешно актуализирано, релето се деактивира и изключва захранването към ESP8266. Ако нещо се обърка и няма успешна актуализация на времето, Arduino Mega се рестартира и опитва отново. Модулът ESP8266 и Arduino Mega са свързани помежду си чрез серийни портове (Serial2 на Mega), Arduino Mega изслушва отговор от ESP8266, съобщението изглежда така: "UNX [и епохален времеви печат]", Аз съм в GMT+2, така че в кода на Arduino Mega добавям GMT+2, както следва

time_t gmtTimeVar = newTimeVar+7200;

rtc.adjust (DateTime (gmtTimeVar));

Стъпка 10: Добавяне/премахване на маркер

Image
Image

Главният маркер се сканира и дисплеят показва, че това е главният маркер. Новият маркер се сканира и номерът на етикета се показва на екрана и дава на потребителя време да свали номера и да запише кой има новия маркер. Номерът на маркера ще бъде записан в базата данни веднага щом потребителят натисне левия бутон. Същата процедура се следва за премахване на маркер от базата данни

Стъпка 11: Някои видеоклипове, показващи работата на Coin-O-Matic

Използвах node-red за интегриране с Telegram, node-red има интеграционен модул към TTN, така че какво се случва, когато сканирате маркер?

  • Етикетът се сканира
  • txt файл на SD карта се чете, за да се види дали е валиден маркер
  • Ако маркерът е валиден, времева марка с номера на етикета се записва в txt файл на SD картата
  • Номерът на етикета се изпраща чрез LoRaWAN и Raspberry PI Gateway към TTN мрежата
  • Node-red се абонира за MQTT съобщенията в мрежата TTN
  • Node-Red изпраща декодирания HEX към DEC номер на етикет до bash скриптов файл, работещ на сървър локално
  • Скриптът bash сканира txt файл с номера на етикети и имена
  • Файлът bash script качва съобщението в Telegram BOT с curl, съдържащ номера на етикета и името на лицето

Приятно и сложно, обичам как една толкова проста задача става толкова сложна

Кажете ми какво мислите в коментарите по -долу

Препоръчано: