Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Автоматический диспенсер для коктейлей и напитков

    Автоматический диспенсер для коктейлей и напитков


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

    Инструменты и материалы:
    -Arduino UNO;
    -Raspberry Pi;
    -Переключатель логического уровня;
    -Источник питания 12В;
    -Потенциометр;
    -Реле 5V - 6 шт;
    -ЖК - дисплей;
    -Датчик температуры;
    -Мембранный насос - 6 шт;
    -Тензодатчик - 6 шт;
    -Датчик давления Hx711;
    -Силиконовый шланг;
    -Программное обеспечение;

    Шаг первый: настройка Raspberry Pi
    Для настройки SSH-соединение с Raspberry Pi и WiFi-соединение, мастер прописывает команду, в которой указываем имя и пароль сети:
    wpa_passphrase <SSID>  <password> >> /etc/wpa_supplicant/wpa_supplicant.conf

    Затем использует следующие команды для подключения:
    wpa_cli
    interface wlan0
    reconfigure
    quit
    ping google.com

    Устанавливает пакеты: Apache2, MariaDB, Python3, используя следующие команды:
    apt install apache2 -y
    apt install mariadb-server mariadb-client -y
    apt install python3 -y

    После установки python3 понадобится несколько библиотек для подключения к интерфейсу и базе данных.
    pip3 install flask-cors
    pip3 install flask-socketio
    pip3 install mysql-connector-python
    pip3 install gevent
    pip3 install gevent-websocket

    Создает рабочую папку, содержащую 3 подпапки. Frontend, backend и database. Создает HTML-файл для тестирования. Вместо HTML-файл можно использовать файлы из репозитория.
    nano /etc/apache2/sites-available/000-default.conf

    Дальше нужно найти строку, в которой написано «DocumentRoot», за которой следует каталог. Нужно заменить каталог, на каталог папки для кода внешнего интерфейса и затем перезапустить Apache2, используя следующую команду:
    service apache2 restart

    Теперь нужно установить некоторые права этой папки. Открывает основной файл конфигурации Apache2:
    nano /etc/apache2/apache2.conf

    Меняет файл
    "<Directory/>
    	Options FollowSymLinks
    	AllowOverride All
    	Require all denied
    </Directory>"

    на
    "<Directory/>
    	Options Indexes FollowSymLinks Includes ExecCGI
    	AllowOverride All
    	Require all granted
    </Directory>;"


    Шаг второй: создание базы данных
    Дальше нужно создать базу данных MySQL, аналогично приведенному примеру, или можно использовать предоставленную базу данных в репозитории.

    Затем нужно установить соединение между MySQL (свободная система управления базами данных) и Raspberry Pi. Добавляет новое соединение MySQL и устанавливает метод соединения «Стандартный TCP / IP через SSH». Вводит запрошенные формы, как показано в примере (нужно поменять имя хоста, пароли и имя пользователя). После подключения нужно ввести коктейли, рецепты и их необходимые ингредиенты в базу данных.

    Шаг третий: подготовка внешнего интерфейса
    На шаге первом были настроены несколько папок для базы данных, серверной части и внешнего интерфейса. Теперь нужно связать все эти части.

    Чтобы установить связь между интерфейсом и сервером, вы можете использовать библиотеки flask и SocketIo. Они не предназначены для использования на больших серверах, но идеально подходят для небольших проектов. В свой основной файл Python нужно импортировать следующий код.
    from flask_cors import CORS
    from flask_socketio import SocketIO, emit, send
    from flask import Flask, jsonify

    Затем вставляет в заголовок HTML-кода.
    src="https://cdn.socket.io/4.0.1/socket.io.min.js" integrity="sha384-LzhRnpGmQP+lOvWruF/lgkcqD+WDVt9fU3H4BWmwP5u5LTmkUGafMcpZKNObVMLU"

    В python для передачи и приема данных нужно использовать следующий код.
    # to send data
    emit('subject', data)
    
    # to receive data
    @socketio.on('subject')
    def function_name(parameter):
    	pass


    Шаг четвертый: шкаф
    В качестве шкафа можно использовать любой подходящий. Есть несколько условий. Внутри должно быть место для шести бутылок и всех деталей. Высота шкафа должна быть не меньше высоты бутылок + тензодатчки и трубка.



    Шаг пятый: сборка
    Электромонтаж производится по следующей схеме.


    Подключает насосы и датчики. Под каждой бутылкой устанавливается тензодатчик + датчик устанавливается под стакан. Если стакана нет, то выбрать напиток можно, насосы работать не будут.

    Шаг шестой: последовательная связь между Arduino и Raspberry Pi
    Ардуино не будет выполнять ни каких действий без команды с Raspberry Pi.
    Сначала включает последовательный интерфейс, используя следующие команды:
    sudo raspi-config
    interfacing options
    Serial 

    Открывает код
    enable_uart = 1 в /boot/config.txt.

    и проверяет добавилась ли строка
    sudo nano /boot/config.txt

    Перезагружает Рассбери и дальше отключает некоторые службы.
    sudo systemctl stop serial-getty@ttyS0.service
    sudo systemctl disable serial-getty@ttyS0.service 

    Открывает файл cmdline.txt и проверяет, присутствует ли строка console = serial, 115200. Если она есть то нужно ее удалить следующей командой.
    sudo nanot /boot/cmdline.txt

    После перегрузки Рассбери связь с Ардуино должна быть установлена.

    Шаг седьмой: тензодатчики
    Подключает тензодатчики к Hx711. Тензодатчики устанавливаются в напечатанные на 3D-принтере держатели.
    В Arduino импортирует библиотеку HX711_asukiaaa.h. Она позволяет считывать показания нескольких датчиков , используя одну линию синхронизации. Подключает все линии синхронизации к одной линии, а линии данных - к установленному выводу Arduino.

    Шаг восьмой: датчик температуры
    Для того, чтобы знать температуру напитков и при необходимости охлаждать бутылки мастер установил в устройство однопроводной датчик температуры. Сначала включает однопроводную связь, выполнив следующие действия:
    sudo raspi-config
    interfacing options
    one wire - enable

    После этого в последней строке boot / config.txt. прописывает:
    sudo nano /boot/config.txt

    Перезагружает Рассбери. Подключает датчик. Вводит следующую команду:
    cd /sys/bus/w1/devices/
    ls 

    Теперь должны быть получены данные с датчика.
    Код для датчика можно скачать ниже.


    В принципе все готово. В качестве оболочки для внешнего интерфейса мастер использует ApexCharts. В приложении можно настроить различные вводные, внешний вид, команды "под себя".

    Автоматический диспенсер для коктейлей и напитков

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Устройство для измерения скорости пули пневматической винтовки

    Левитирующий в магнитном поле глобус

    8.5
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    7
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    6
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 7.17 из 10 (голосов: 2 / История оценок)

    Добавить комментарий

    6 комментариев
    R555
    Александр Новиков​​​Ныче я гуляю, мне не нужен счет, мне вчера Хозяин выписал расчёт.... Классная песесенка А. Новикова про извозчика boss
    Кто не ошибается, тот не делает ничего.
    Korolev
    pogranec,
    Там уже забиты рецепты. Кнопку нажал и пошел налив из каждой бутылки определенное кол-во в граммах
    Ну так я и спрашивал о смесителе (пардон, шейкере)! На самом первом фото только 6 закупоренных бутылок без трубок, отдельно висящие 6 трубок, а стакан вообще отсутсвует, только подставка для него! Или там бутылки только для антуража, а все 6 трубок надо опустить в стакан, и пущай Arduino UNO, и Raspberry Pi насыпают свои рецепты в электронном виде? scratch Не, я на электронное бухло несогласный! xaxa
    pogranec Автор
    Правильно Степан написал. Там уже забиты рецепты. Кнопку нажал и пошел налив из каждой бутылки определенное кол-во в граммах. Насчет долго будет наливать, - не думаю. Кофейные автоматы не долго же наливают/смешивают. Насчет охлаждения,- не охлаждает. Просто показывает температуру в одной бутылке. 
    Korolev
    Гость Степан,
    Далее по рецепту посредством мембранных насосов в одну линию подаётся необходимое количество алкогОля, опять же при участии тензодатчиков под каждой бутылкой. 
    Из чего это следует? На домыслы-то я и сам горазд! Мне просто любопытно, как долго будет длиться процесс наполнения стакана из нескольких бутылок? Наш человек захлебнётся слюной в ожидании! smile
    Вот про охлаждение непонятно..  
    Давненько руки чешутся выпотрошить офисный кулер для воды! smile
    Ясно одно- команду голосом - человек, повтори!- оно явно не понимает.. 
    Ну и хрен с ним, что не понимает, зато прекрасно слушает, будет кому излить душу! drinks



    Гость Степан

    Ставишь  стакан, тензодачик даёт сигнал - тара на месте!
    Далее по рецепту посредством мембранных насосов в одну линию подаётся необходимое количество алкогОля, опять же при участии тензодатчиков под каждой бутылкой.
    Вот про охлаждение непонятно.. Толи ли даётся рекомендация охладить самому,то ли придётся ждать, пока остынет в установке.
    Ясно одно- команду голосом - человек, повтори!- оно явно не понимает..
    Что то мне подсказывает, наш человек не будет смешивать на аппарате, а последовательно выпьет все шесть бутылок, возможно пренебрегая правилом повышения градуса,а лишь руководствуясь своим понимаениеи чувства прекрасного в этом аспекте жизни.
    Korolev
    Устройством можно управлять как через веб-сайт, так и вручную
    А вот это уже супер достойное применение и Arduino UNO, и Raspberry Pi!!! Главное написать правильный код, чтобы можно было и бухать через веб-сайт xaxa
    Внутри должно быть место для шести бутылок 
    Так и не понял, как содержимое этих шести бутылок попадает в один стакан!  dontknow

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии