Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Вы любите технологии и вечеринки? Этот проект создан для вас!
В этом уроке мы создадим автомат для коктейлей с графическим интерфейсом.
Все под контролем малины!
РЕДАКТИРОВАТЬ: Я сделал новый проще и дешевле, ссылка здесь
Шаг 1. Что нам нужно:
Для этого проекта я буду использовать 8 бутылок, но вы можете легко адаптироваться, если хотите меньше или больше.
-Raspberry B: любой должен работать
-8-канальное реле: каждый канал будет бутылкой. (1 канал = 1 бутылка)
-Провода самые важные - от женщины к мужчине.
-8 Водяной насос, каждый насос будет использоваться для одной бутылки
-Трубка у меня 10м.
-Сенсорный экран 2.8 для отображения пользовательского интерфейса
- SD-карта 8 ГБ: не менее 8 ГБ
-Считыватель SD-карт, я думаю, у большинства из вас он уже есть, но на всякий случай.
-Контейнер для напитка, я разрешаю вам выбрать, как он будет зависеть от вашей идеи. Моя машина содержит 1,5 литра
Шаг 2. Настройте Raspberry Pi
Чтобы использовать raspbery и тачскрин, нам понадобится модифицированный образ raspbian
Программное обеспечение FIrst 3:
-Adafruit модифицировал образ распбиана
-Win32diskimager для записи образа на SD карту
-Путь для подключения пульта к распбери
Образ диска WIn32:
После загрузки установите его.
Открой это, 1 / вы увидите «устройство» в целом, по умолчанию это хорошо (если у вас подключена только sd-карта)
2 / Щелкните папку с синим значком и выберите изображение raspbian jessie, которое вы скачали.
3 / Нажмите написать, и готово.
Теперь можно вставить карту в малину.
Шпатлевка:
Это позволяет нам подключаться через SSH, открывать Putty (устанавливать не нужно)
-Подключите интернет-кабель к малине
-Вам нужно найти ip малины 2 простым способом:
-Подключившись к интерфейсу вашего бокса, вы сможете увидеть устройство с IP
-Подключите тачскрин и клавиатуру, перейдите к терминалу, затем ifconfig
Теперь в Putty введите IP-адрес, например 192.168.0.3, затем введите
-попросит доверять нажмите да (картинка)
-login: pi пароль: raspberry
Оставьте окна в стороне, мы вернемся сюда позже
Шаг 3: Подключение экрана
Неудобство экрана в том, что он поставляется уже установленным, поэтому, когда вы его вставляете, он будет использовать все штыри рашпиля.
Я проверил каждый контакт, чтобы узнать, какой из них использует экран (проверьте изображение)
Для подключения экрана будет тот же пин, что и у малины.
После подключения, если вы установили raspbian, вы сможете его использовать.
Совет для экрана:
панель задач займет какое-то место, если вы щелкните ее правой кнопкой мыши, затем установите панель => расширенный => снимите отметку зарезервированного места для панели задач
Настроить одиночный щелчок:
Одиночный щелчок: ЕСЛИ вы щелкните, чтобы использовать, щелкните только по экрану на puty: cd /home/pi/.config => nano libfm.conf
Строка 5 single_click = 0 сменить на single_click = 1
Шаг 4: Подключение реле / Raspberry
Изображение для одного водяного насоса.
водяной насос + = РЕЛЕ
водяной насос - = Зарядное устройство 12В
Я использовал одно зарядное устройство 12 В (обрезать верх), отрицательный вывод идет на каждый насос (отрицательный), а положительный - на каждый канал реле.
Достаточно одного зарядного устройства, так как одновременно будет работать только один насос.
Повторите это для насоса 8.
Чтобы узнать больше о малине и передать удивительную тему здесь
Шаг 5: Код для графического интерфейса
Мы закончили с материальной частью (вроде).
Создадим графический интерфейс пользователя:
Теперь вы можете вернуться к putty после подключения, мы создадим наш код на рабочем столе:
cd / home / pi / Рабочий стол
открыть файл:
нано drink.sh
чтобы убедиться, что файл исполняемый
chmod + x drink.sh
и вставьте код:
Если вы хотите изменить код:
"Режим GPIO отключен" означает, что вы включаете контакт (поэтому реле включается)
Штифт Gpio = на малине, но физический штифт не такой же, как у системы.
Проверьте картинку.
Поэтому, если вы хотите добавить или изменить напиток, просто измените название в «menu boisson» и в теле кода, вы можете очень легко увидеть, что каждый напиток имеет небольшой фрагмент кода.
#! / bin / bash while true; do choice = "$ (zenity --width = 400 --height = 300 --list --column" "--title =" Коктейль "\" коктейль "\" мягкий "\" шутер "\" коровник ") "echo $ choice case" $ {choice} "в" cocktail ") while true; do choice = "$ (zenity --width = 400 --height = 300 --list --column" "--title =" test "\" виски кока "\" апельсиновый сок "\" рикард о "\" текила апельсин "\" джин апельсин ")" echo $ choice case "$ {choice}" in "виски кока") gpio mode 2 out sleep 3 gpio mode 2 input / gpio mode 0 out sleep 4 gpio mode 0 input break;; "wodka orange") gpio mode 3 out sleep 2 gpio mode 3 input / gpio mode 7 out sleep 4 gpio mode 7 input break;; "ricard eau") gpio mode 24 out sleep 3 gpio mode 24 input / gpio mode 25 out sleep 3 gpio mode 25 input break;; "текила апельсин") gpio mode 22 out sleep 3 gpio mode 22 input / gpio mode 7 out sleep 3 gpio mode 7 input break;; "Джин апельсин") gpio mode 23 out sleep 2 gpio mode 23 input / gpio mode 7 out sleep 4 gpio mode 7 input break;; *) echo "bye" break;; esac done;; "мягкий") пока правда; do choice = "$ (zenity --width = 400 --height = 300 --list --column" "--title =" test "\" orange "\" coca "\" eau ")" echo $ choice case "$ {choice}" в "оранжевом") gpio mode 7 out sleep 6 gpio mode 7 input break;; "coca") gpio mode 0 out sleep 6 gpio mode 0 input break;; "eau") gpio mode 25 out sleep 6 gpio mode 25 input break;; *) echo "bye" break;; esac done;; "стрелок") пока правда; do choice = "$ (zenity --width = 400 --height = 300 --list --column" "--title =" test "\" виски "\" водка "\" текила "\" джин "\" TGV ")" echo $ choice case "$ {choice}" in "виски") gpio mode 2 out sleep 2 gpio mode 2 input break;; "водка") gpio mode 3 out sleep 2 gpio mode 3 input break;; "текила") gpio mode 22 out sleep 2 gpio mode 22 input break;; "джин") gpio mode 23 out sleep 2 gpio mode 23 input break;; "TGV") gpio mode 22 out sleep 1 gpio mode 22 input / gpio mode 23 out sleep 1 gpio mode 23 input / gpio mode 3 out sleep 1 gpio mode 3 input break;; *) echo "bye" break;; esac done;;
"коровник")
пока правда; do choice = "$ (zenity --width = 400 --height = 300 --list --column" "--title =" test "\" ricard pierre "\" виски кока "\" водка апельсин "\" джин оранжевый "\" текила апельсин "\" cimetiere ")" echo $ choice case "$ {choice}" в "ricard pierre") gpio mode 24 out sleep 4 gpio mode 24 input / gpio mode 25 out sleep 5 gpio mode 25 input перерыв;; "виски кока") gpio mode 2 out sleep 3 gpio mode 2 input / gpio mode 0 out sleep 6 gpio mode 0 input break;; "wodka orange") gpio mode 3 out sleep 3 gpio mode 3 input / gpio mode 7 out sleep 6 gpio mode 7 input break;; "джин апельсин") gpio mode 23 out sleep 3 gpio mode 23 input / gpio mode 7 out sleep 6 gpio mode 7 input break;; "текила апельсин") gpio mode 22 out sleep 3 gpio mode 22 input / gpio mode 7 out sleep 6 gpio mode 7 input break;; "cimetière") gpio mode 2 out sleep 2 gpio mode 2 input / gpio mode 3 out sleep 2 gpio mode 3 input / gpio mode 23 out sleep 2 gpio mode 23 input / gpio mode 25 out sleep 2 gpio mode 25 input / gpio mode 7 out sleep 1 gpio mode 7 input break;; *) echo "bye" break;; esac done;; *) echo "bye" break;; esac сделано
Шаг 6: Окончательный монтаж
Использовать вертикальную мебель от ИКЕА оказалось дешевле, чем построить самому.
Я вырезал квадрат от входной двери, чтобы поставить стекло
Сделал отверстие в полке, чтобы пропустить трубу, туда идет труба помпы.
Внизу поставил решетку от вентиляционного компьютера и емкость для протекающей воды.
Шаг 7: Заключение
Все работает правильно, но я столкнулся с некоторой автоматической проблемой.
Немногое проблема:
-Корпус тесноват, при заправке могут возникнуть сложности. -
- Емкость для напитков находится сверху, а стакан - снизу; это создаст сифон, который означает, что даже когда насос остановится, жидкость продолжит поступать.
Во избежание этого используйте горизонтальный корпус или подобный мне, вам придется проделать небольшое отверстие в трубе в погружной части.
Также вы можете видеть, что у меня повсюду идет кабель, что выглядит плохо, поэтому горизонтальный стол будет лучшим вариантом.
Совет:
Наклейте наклейки на каждую емкость, чтобы узнать, к какому напитку подключено реле.