Торговый автомат со шкалой для подтверждения выпадения товара (Raspberry Pi): 5 шагов
Торговый автомат со шкалой для подтверждения выпадения товара (Raspberry Pi): 5 шагов
Anonim
Торговый автомат со шкалой для подтверждения выпадения товара (Raspberry Pi)
Торговый автомат со шкалой для подтверждения выпадения товара (Raspberry Pi)

Добро пожаловать, товарищ, создатель, для школьного проекта я решил сделать автомат по продаже закусок. Нашей задачей было создать воссоздаваемое устройство, в котором использовалось бы как минимум 3 датчика и 1 исполнительный механизм. Я пошел делать торговый автомат отчасти потому, что у меня был доступ к некоторым важным деталям (например, двигателям) через мою местную лабораторию makerslab. Во-первых, идея заключалась в создании автомата по продаже напитков, но это было невозможно из-за необходимости изоляции, охлаждающего элемента и более мягкого механизма выпуска для газированных напитков.

В некотором смысле этот проект был для меня первым; Я никогда раньше не работал с деревом и электроникой в таком масштабе. Мой опыт был в основном в программном обеспечении, поэтому я решил бросить вызов самому себе, создав проект, который был бы настоящим учебным опытом.

Я постараюсь объяснить вам, ребята, как можно лучше, как создать этот торговый автомат. Имейте в виду, что все это было для меня впервые, поэтому я сделал несколько ошибок новичка в работе с деревом и т. Д.

Весь код можно найти в репозитории Github:

Запасы

  • Древесина
  • Петли

    • 2 более сложных для главной двери
    • 2 мягких для вывода продукта
  • Оргстекло
  • 4 двигателя постоянного тока торговых автоматов (с кнопкой для управления вращением)
  • 4 спирали (я использовал медный электрический провод 6 мм²)
  • 4 разъема для подключения моторов по спирали (я их распечатал на 3D-принтере)
  • Raspberry Pi
  • Клавиатура 4x4
  • Монетоприемник
  • ЖК-дисплей
  • Провода перемычки
  • Макеты
  • 4 транзистора TIP 120
  • Резисторы
  • Однопроводной термометр
  • Светодиодная полоса

Шаг 1: Программирование датчиков

Поскольку у меня был большой опыт работы с программным обеспечением, я решил сначала начать с программирования датчиков.

Датчики включают:

  • Однопроводной термометр
  • Датчик тензодатчика
  • Клавиатура 4x4
  • Монетоприемник

Однопроводной термометр довольно прост и просто включает в себя подключение одного провода к GPIO PIN 4 Raspberry Pi (с некоторыми резисторами) и чтение файла, связанного с ним.

Датчик веса был несколько более сложным, но все же довольно простым. 4 провода нужно было подключить к усилителю HX711, а усилитель HX711, в свою очередь, нужно было подключить к Raspberry Pi. Как только это было сделано, я использовал библиотеку Python HX711 для считывания значений. Считывание тензодатчика без нагрузки определило значение тары. После этого я поместил на весы несколько заранее известных гирь и по правилу трех вычислил константу, на которую нужно было разделить считанное значение, чтобы получить значение в граммах.

Клавиатура 4x4 настолько интуитивно понятна, насколько это возможно. С 8 проводами, подключенными к клавиатуре, представляют 4 столбца и 4 строки клавиатуры. С порядком расположения этих проводов следует проявлять некоторую осторожность, поскольку у двух клавиатур 4x4, которые я использовал, было 2 совершенно разных порядка проводов. Благодаря простой в использовании библиотеке клавиатур нажатую клавишу можно легко зарегистрировать при правильном подключении к Raspberry Pi.

Самым сложным из датчиков, безусловно, является монетоприемник. Настроить монеты на устройстве довольно просто благодаря хорошей документации. У меня было устройство, способное различать 4 разные монеты. Вы должны указать соответствующее количество импульсов для монеты, которую устройство отправляет на Raspberry Pi. Регистрация монет на торце устройства практически безупречна, что видно по дисплею сбоку. Проблема заключается в регистрации этих импульсов на Raspberry Pi. Необходимо использовать достаточно мощный адаптер (12 В, 1 А), чтобы иметь возможность четко регистрировать различные монеты, а также необходимо тщательно программировать, чтобы не прекращать подсчет импульсов слишком рано.

Шаг 2: Подключение и программирование двигателей

Подключение и программирование двигателей
Подключение и программирование двигателей

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

К моторам было подключено 4 провода, и, после некоторого выяснения, 2 были для питания (минимум 12 В), а 2 - для кнопки, которая нажимается каждые пол-оборота. Я подключил каждый из этих двигателей к транзистору TIP 120, чтобы иметь возможность управлять ими через Raspberry Pi. Один из двух других проводов я подключил к входу Pi (с подтягивающим резистором), а другой - к земле.

После этого я сделал несколько спиралей из стальной проволоки диаметром 2,2 мм, которая, как оказалось, закручивалась не в ту сторону; так что вместо этого мои предметы пошли в обратном направлении. Поэтому я использовал медный электрический провод 6 мм², с которым было намного проще работать.

После изготовления 4 спиралей пришло время сделать разъемы, необходимые для подключения спирали к двигателям. Я решил распечатать их на 3D-принтере (файл прилагается), приклеить к моторам и обмотать вокруг них проволоку.

Шаг 3: Создание корпуса машины

Создание корпуса машины
Создание корпуса машины

Для жилья я использовал дерево, которое было в makerslab. Так как одного типа было не так много, а передняя панель должна была быть тоньше, чтобы соответствовать электронике, корпус состоял как минимум из 6 пород дерева.

Сначала я распил 2 доски размером 168 x 58 см пополам для задней панели, 2 боковых панелей и средней разделительной панели.

Для нижней панели я использовал удобный (как мне показалось) кусок дерева размером 58 х 58 см. Это оказалось ошибкой, так как я не учел толщину дерева, поэтому заднюю панель пришлось вкручивать поверх нижней панели, а боковые панели - сбоку. Из-за этого сверху торчали лишние 2 см детали.

После этого я прикрутил 2 горизонтальные планки продукта к средней разделительной панели. А также верхняя часть отделения для продуктов. Затем я начал разбивать плексигласовое стекло люка, которое я соединил двумя мягкими петлями с деревянным бруском, соединенным с разделительной панелью мидделя. После этого средний отсек с отверстием нужно было прикрутить к левой боковой панели.

Затем я сделал деревянные части весов и приклеил их к нижней части корпуса. Это оставило небольшой зазор в нижней части корпуса, который я решил, разместив перед ним тонкую планку. (Не на картинке)

Шаг 4: Сборка датчиков и двигателей на корпусе

Когда каркас корпуса был готов, пришло время вставить внутренности.

Сначала я вырезал в доске несколько отверстий для ЖК-дисплея, клавиатуры и монетоприемника. Затем я прибил эту электронику к доске и подключил ее к Raspberry Pi. Необходимо было тщательно спланировать ситуацию, чтобы не пересекать провода слишком сильно. Однопроводной термометр я подключил к макетной плате, приклеенной к внутренней стороне платы электроники. Затем я распил доску для Raspberry Pi, макет для моторных транзисторов и Arduino, который я использовал для питания 12 В для монетоприемника и двигателей.

Моторы я приклеил к горизонтальным доскам для продуктов и добавил несколько вертикальных досок, чтобы разделить отделения для предметов.

Шаг 5: Завершение работы с торговым автоматом

Закончил торговый автомат
Закончил торговый автомат

Для отделки я покрасил всю машину в черный цвет и добавил светодиодную ленту внутри. Под монетоприемником я сделал небольшой отсек для монет, чтобы они не скользили по левому отсеку. Я также добавил дверь из оргстекла с более жесткими петлями.

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