6-Shooter:станция для смешивания напитков Arduino
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 7 | ||||
![]() |
| × | 8 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 |
Приложения и онлайн-сервисы
![]() |
|
Об этом проекте
Введение
Хотите смешивать напитки одним нажатием кнопки? 6-Shooter может смешивать и сочетать 6 различных напитков с помощью одной помпы! Просто выберите напиток из списка, нажмите кнопку, и он начнет наливать вам напиток и устраивать световое шоу, не меньше! В этом уроке мы сделаем что-то похожее на Somabar. Обратите внимание, что это довольно дорогой проект , но на вечеринках это действительно поражает. Хочешь сделать свой собственный? Приступим!
Шаг 1. Подключение





Это выглядит как довольно напряженная проводка, и это немного беспорядок, но на самом деле это один и тот же процесс, повторяющийся несколько раз.
Чтобы подключить электромагнитные клапаны к реле:
- Приготовьте реле, соленоидный клапан, косичку с гнездом постоянного тока и проволочную гайку.
- Подсоедините провод от электромагнитного клапана к центральной клемме реле.
- Подключите заземляющий провод от разъема постоянного тока к нормально разомкнутому или нормально разомкнутому контакту реле.
- Присоедините другой вывод от электромагнитного клапана к проводу напряжения от разъема постоянного тока, используя гайку для проводов или припаяв соединение. Мы использовали гайки для проводов, потому что мы фанаты быстрого и грязного, но вы получите лучшее электрическое соединение с помощью пайки.
Тот же процесс, что и описанный выше, применяется к насосу, учитывая, что отрицательный (черный, заземляющий) вывод идет к центральной клемме реле, а положительный (красный, напряжение) вывод идет к проводу напряжения разъема постоянного тока.
Создайте свой ЖК-панель управления и RobotGeek Drink Station перед подключением.
Присоедините компоненты к сенсорному экрану:

Шаг 2. Сборка




Расположите компоненты так, чтобы провода не подвергались нагрузкам, а электроника не подвергалась опасности попадания жидкости. Еще одно соображение - сохранить беспорядок из проводов между двумя пластинами верстака. Ознакомьтесь с изображениями, чтобы вдохновиться расположением ваших компонентов, и посмотрите замечательную диаграмму (десять тысяч часов в MS Paint), чтобы убедиться, что ваши жидкостные трубопроводы имеют правильную ориентацию для работы с насосом.
Шаг 3. Программирование и тестирование
Вам нужно будет взять библиотеки и инструменты RobotGeek. Включены все библиотеки, используемые для 6-Shooter, и демонстрационный код, чтобы вы могли начать работать. Поместите его в папку Arduino, откройте IDE и загрузите:
robotGeekLibrariesAndtools-master.zip Файл → Sketchbook → RobotGeekSketches → Demos → drinkStation
И давайте посмотрим на код:
// SelectionsString selectionLine [14] ={"", // буферная строка. Уезжайте отсюда или испытайте ужас. «1. Красный», «2. Зеленый», «3. Синий», «4. Желтый», «5. Белый», «6. Черный», «7. Красный и желтый», «8. Зеленый и синий» "," 9. Черно-белый "," 10. Черно-желтый "," ", // буферная строка. Уезжайте отсюда или испытайте ужас. "", // буферная строка. Уезжайте отсюда или испытайте ужас. «Конец списка» // буферная строка. Уезжайте отсюда или испытайте ужас. };
Это список напитков. Эти имена будут отображаться на ЖК-экране, и их можно будет прокручивать для выбора. Вы можете изменить это, чтобы точно отразить доступные напитки и смеси.
int PUMP_TIME =2500; // Время работы насосной станции в миллисекундах
Это время работы насоса по умолчанию. Вы можете изменить это, чтобы по умолчанию получать более крупные снимки.
ЖК-дисплей LiquidCrystal_I2C (0x27, 20, 4); // ЖК-экран I2C, 4 строки, 20 столбцов, 0x27 // LiquidCrystal_I2C lcd (0x3F, 20, 4); // ЖК-экран I2C, 4 строки, 20 столбцов, 0x3F
Это то место, где мы называем экран. Некоторые экраны адресуются иначе, чем другие, поэтому, если на экране не отображается список при загрузке скетча, измените адрес здесь.
if (debounce [2] .fell ()) {switch (drinkSelectCounter) {case 1:// Красный lcd.setCursor (0, 0); lcd.print (promptLine [2]); colorWipe (strip.Color (255, 0, 0), 50); // Красный digitalWrite (PUMP_RELAY_PIN, HIGH); // Включаем помпу digitalWrite (SELECTED_RELAY_PIN [0], HIGH); // Задержка открытия электромагнитного клапана 1 (PUMP_TIME); // Запускаем установленное время digitalWrite (SELECTED_RELAY_PIN [0], LOW); // Закройте электромагнитный клапан 1 digitalWrite (CLEAN_RELAY_PIN, HIGH); // Задержка открытия электромагнитного клапана 7 (PUMP_TIME); // Запускаем заданное время digitalWrite (CLEAN_RELAY_PIN, LOW); // Закройте электромагнитный клапан 7 digitalWrite (PUMP_RELAY_PIN, LOW); // Отключаем помпу;
Это призыв к напитку и операции для первого напитка в списке. Вы можете добавить или изменить каждую коробку по своему усмотрению для напитка, который хотите смешать. Каждый случай представляет собой последовательность действий, начиная с изменения подсказки на экране, за которым следует включение индикаторов, за которым следует последовательность открытия соответствующего клапана и запуска насоса. Вы должны запускать насос только в том случае, если открыт хотя бы один клапан.
Загрузите код в свой микроконтроллер и попробуйте! Мы предлагаем сначала протестировать его с небольшим количеством воды, на случай, если в вашей сборке что-то не так. Обязательно проверяйте каждый клапан индивидуально перед тестированием смесей. Когда операция вас устроит, приступайте к планированию вечеринки!
Шаг 4. Встряхните вечеринку!
Теперь у вас есть автоматический бармен! Ваши гости будут перевернуты, когда они получат идеально приготовленный напиток от робота одним нажатием кнопки! Что вы можете сделать с этого момента? Как насчет добавления функции Bluetooth и создания приложения для ваших гостей, чтобы они могли выбирать напитки со своего телефона (MIT App Inventor - отличный инструмент для этого)? Как насчет добавления руки-робота, чтобы разливать напитки в несколько стаканов и по-настоящему сбивать их с толку? Может быть, ты найдешь способ посадить этого плохого парня на вездеход и выпить дроида, который катался по твоему дому? Как всегда, мы будем рады услышать, что вы придумали!
Код
- Фрагмент кода №2
- Фрагмент кода 5
Фрагмент кода 2 Обычный текст
// SelectionsString selectionLine [14] ={"", // буферная строка. Уезжайте отсюда или испытайте ужас. «1. Красный», «2. Зеленый», «3. Синий», «4. Желтый», «5. Белый», «6. Черный», «7. Красный и желтый», «8. Зеленый и синий» "," 9. Черно-белый "," 10. Черно-желтый "," ", // буферная строка. Уезжайте отсюда или испытайте ужас. "", // буферная строка. Уезжайте отсюда или испытайте ужас. «Конец списка» // буферная строка. Уезжайте отсюда или испытайте ужас. };
Фрагмент кода № 5 Обычный текст
if (debounce [2] .fell ()) {switch (drinkSelectCounter) {case 1:// Красный lcd.setCursor (0, 0); lcd.print (promptLine [2]); colorWipe (strip.Color (255, 0, 0), 50); // Красный digitalWrite (PUMP_RELAY_PIN, HIGH); // Включаем помпу digitalWrite (SELECTED_RELAY_PIN [0], HIGH); // Задержка открытия электромагнитного клапана 1 (PUMP_TIME); // Запускаем установленное время digitalWrite (SELECTED_RELAY_PIN [0], LOW); // Закройте электромагнитный клапан 1 digitalWrite (CLEAN_RELAY_PIN, HIGH); // Задержка открытия электромагнитного клапана 7 (PUMP_TIME); // Запускаем заданное время digitalWrite (CLEAN_RELAY_PIN, LOW); // Закройте электромагнитный клапан 7 digitalWrite (PUMP_RELAY_PIN, LOW); // Отключаем помпу обрывом;
Github
https://github.com/robotgeek/robotGeekLibrariesAndtools/archive/master.ziphttps://github.com/robotgeek/robotGeekLibrariesAndtools/archive/master.zipПроизводственный процесс
- Цифровая командная станция DCC Model Rail Arduino и бесплатное приложение
- Цифровые игральные кости Arduino
- Игровой контроллер Arduino
- Игра Pixel Chaser
- Отталкивающая электромагнитная левитация Arduino
- Портативная метеостанция Arduino (AWS) за 10 долларов
- Домашний контроллер Arduino, активированный Alexa
- NeoMatrix Arduino Pong
- Метеостанция ThingSpeak Arduino
- Местная метеостанция