Оглавление:

Диспенсер токенов Coin-O-Matic: 11 шагов
Диспенсер токенов Coin-O-Matic: 11 шагов

Видео: Диспенсер токенов Coin-O-Matic: 11 шагов

Видео: Диспенсер токенов Coin-O-Matic: 11 шагов
Видео: Polygon меняет токен MATIC на POL | монетка готова к взлету? 2024, Ноябрь
Anonim
Image
Image

В нашем офисе есть торговый автомат, который может принимать как реальные деньги, так и жетоны. Руководство решило, что мы можем получить немного бесплатных сладостей (в определенных пределах), чтобы мы были счастливы и довольны низкой заработной платой, которую мы зарабатываем. Проблема была в том, как бы вы это контролировали? Торговый автомат принадлежит сторонней компании, поэтому о его модификации не могло быть и речи.

Войдите в монету Франкенштейна-O-Matic, создание моего больного ума. Решая, как это сделать, я подумал, что лучше всего подойдут RFID-метки, дайте каждому сотруднику RFID-метку и ведите учет того, сколько раз RFID-метка была проведена. Когда метка проводится, выдается жетон для использования с торговым автоматом (одно бесплатное вентиляционное отверстие). Каждый раз, когда TAG удаляется, записывайте информацию на SD-карту. Номер TAG также загружается в «облако» с помощью LoraWAN. Я уже играл с LoRaWAN и thingsnetwork (TTN) с некоторыми датчиками температуры и влажности, так что у нас есть TTN Gateway. Шлюз TTN - это Raspberry PI 3 с концентратором IMST, подключенным к TTN.

Шаг 1. Спецификация материалов

  1. Некоторый 3-миллиметровый плексиглас
  2. Некоторые 1мм плексигласа
  3. Ардуино Мега
  4. Arduino Pro Mini
  5. RFM95 Lora Radio
  6. Крошечный модуль I2C часов реального времени DS1307 RTC
  7. Цветной графический 2,2-дюймовый TFT ЖК-дисплей, 240x320, ILI9341
  8. 2 x 4-канальные двунаправленные преобразователи уровня
  9. NeoPixel Ring 24 - RGB светодиод WS2812
  10. Стартовый комплект RFID 13,56 МГц
  11. ESP8266 ESP12 Тестовая плата WiFi-модуль
  12. Модуль SD-карты
  13. 5 кнопок
  14. 2 х трехцветных светодиода
  15. Много-много кабельных стяжек
  16. Множество перемычек на макетных платах
  17. 40 мм x 40 мм дерево
  18. 2-канальный релейный модуль 5V 10 AMP
  19. Модуль фотоэлектрического датчика инфракрасного луча 5 В постоянного тока

Шаг 2: Приступаем к созданию основы из дерева и перпекса

Начал строить базу из дерева и перпекса
Начал строить базу из дерева и перпекса

Началось с создания коробки для размещения всей электроники из 3-миллиметрового Perspex, Perspex и логотипа были вырезаны с помощью станка с ЧПУ. На передней крышке коробки находится экран, кнопки и несколько мигающих светодиодов. Светодиоды представляют собой обычные трехцветные светодиоды, которые циклически меняют цвета, см. Спецификацию.

Затем я использовал деревянный брусок 40 мм x 40 мм, чтобы соорудить место для устройства выдачи монет и желоб, в который можно было бы упасть жетоном. Диспенсер для жетонов состоит из 3 круглых пластин из плексигласа, верхняя и нижняя из плексигласа толщиной 3 мм, а средняя, на которой находится жетон, из плексигласа толщиной 1 мм. Это работает так: средняя пластина поворачивается, берет жетон из стопки и перетаскивает его в отверстие в нижней пластине, а жетон падает в лоток для жетонов в грязные ожидающие руки какого-то голодного сотрудника.

Укладчик жетонов - это старая спринклерная трубка, которую я лежал вокруг, и диаметр был точно таким же, как у жетонов. Я просверлил несколько отверстий в спринклерной трубке, чтобы вы могли видеть, сколько жетонов уложено в стопку для пополнения в случае необходимости. Трубка спринклера была приклеена к верхней пластине из плексигласа.

Шаг 3: Диспенсер токенов

Диспенсер жетонов
Диспенсер жетонов
Диспенсер жетонов
Диспенсер жетонов
Диспенсер жетонов
Диспенсер жетонов

Двигатель для привода средней плиты - синхронный двигатель 220 В переменного тока от…. Понятия не имею, нашел его в коробке с запчастями, пока он медленный и сильный. Вал был приклеен к средней пластине с помощью эпоксидного клея 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, номер тега загружается в сеть вещей (TTN) с помощью LoraWan. Я не занимался интеграцией по этому поводу, но я планирую создать экземпляр AWS для хранения и сортировки информации. См. Следующий шаг для получения дополнительной информации.

Tiny RTC DS1307 Модуль I2C часов реального времени - когда Coin-O-Matic загружается, он входит в сеть Wi-Fi и получает время от NTP-сервера через модуль Wi-Fi тестовой платы ESP8266 ESP12, а затем соответственно устанавливает время RTC.

Графический цветной 2,2-дюймовый TFT ЖК-дисплей 240x320 ILI93412 - Основной дисплей, он обычно показывает часы и дает пользователю несколько слов для размышлений.

4-канальные двунаправленные преобразователи уровня - поскольку цифровые контакты Mega имеют напряжение 5 В, мне нужны были преобразователи для безопасного обмена данными с некоторыми модулями.

NeoPixel Ring 24 RGB LED WS2812 - Сделайте немного света, чтобы ошеломить и запутать пользователя

RFID Starter Kit 13,56 МГц - считыватель RFID

Модуль SD-карты - запишите номер тега, дату и время для каждого считывания тега

Кнопки - администратор, у которого есть главный тег, загрузит новые теги, и я использую одну из кнопок, чтобы приостановить отображение, пока они не смогут скопировать номер тега и записи, у кого есть тег. Остальные 4 кнопки подключены, но в настоящее время не используются.

Трехцветный светодиод - больше света, чтобы ошеломить и сбить с толку пользователей

Много-много кабельных стяжек - Попытайтесь навести порядок со всеми проводами

Множество перемычек на макетной плате - Подключите все необходимое

2-канальный релейный модуль 5 В 10 AMP 5 В постоянного тока - Одно реле используется для питания двигателя устройства выдачи монет, а другое - для питания модуля ESP8266, программа модуля ESP8266 также находится в цикле, как только он получает питание, оно включается. войдите в сеть Wi-Fi и выполните вызов времени 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, здесь необходимо изменить номер Master Tag -

byte masterCard [размер карты] = {121, 178, 151, 26};

pro_mini_instructables - Программа LoRaWAN. Это загружается в Pro Mini, см. Схему для получения более подробной информации о том, как подключить радио и какие PIN-коды использовать. Адрес устройства, сетевой сеансовый ключ и сеансовый ключ приложения необходимо изменить после того, как регистрация устройства будет выполнена в TTN, если вы будете использовать ABP.

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

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

статическая константа u4_t DEVADDR = 0x; // <- Измените этот адрес для каждого узла!

Шаг 9: загрузка

На видео показано, как реле активируется (реле 1), модуль ESP8266 входит в сеть Wi-Fi, отправляет сигнал времени 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-карте читается, чтобы убедиться, что это действительный тег
  • Если тег действителен, метка времени с номером тега записывается в текстовый файл на SD-карте.
  • Номер тега отправляется через LoRaWAN и Raspberry PI Gateway в сеть TTN.
  • Node-red подписывается на сообщения MQTT в сети TTN
  • Node-Red отправляет декодированный номер тега HEX в DEC в файл сценария bash, запущенный на сервере локально.
  • Сценарий bash сканирует текстовый файл с НОМЕРАМИ и ИМЕНАМИ ТЕГОВ.
  • Файл сценария bash загружает сообщение в Telegram BOT с curl, содержащим НОМЕР ТЕГА и имя человека.

Красиво и сложно, мне нравится, как такая простая задача становится оооочень сложной

Дайте мне знать, что вы думаете, в комментариях ниже

Рекомендуемые: