Диспенсер для вина Nagini - носик в виде головы змеи, вдо...

Источник:

Диспенсер для вина Nagini — носик в виде головы змеи, вдохновленный миром волшебников

Это изготовленный фанатами 3D-напечатанный диспенсер для вина в форме змеи, выходящей из волшебной книги, вдохновленный знаменитой фантастической вселенной — ГАРРИ ПОТТЕРОМ. Жидкость вытекает прямо изо рта змеи, создавая волшебный и привлекательный эффект вечеринки, усиленный струящимися светодиодными огнями.

Рекомендации по печати

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

Требуемое оборудование (помимо 3D-печати)

Для сборки полнофункциональной версии вам понадобится:

Жидкостный насос 12 В

источник питания 12 В

Ардуино (УНО или Нано)

Релейный модуль (Активный НИЗКИЙ)

Датчик магнитного поля Холла

3 светодиода

Силиконовая трубка/шланг (вводится через головку от помпы прямо во флакон)

Провода и основные разъемы

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

⚙ Как это работает

Система активируется с помощью магнита и датчика магнитного поля Холла. Когда магнит подносится близко к датчику, Arduino обнаруживает магнитное поле, включает насос 12 В через реле и запускает плавную светодиодную анимацию.
При удалении магнита насос немедленно останавливается, и все светодиоды автоматически гаснут.

Код Ардуино

const int HallPin = 2; // Датчик Холла (DO)
const int pumpPin = 13; // Реле насоса АКТИВНЫЙ НИЗКИЙ
const intled1Pin = 3; // светодиод 1
const intled2Pin = 4; // светодиод 2
const intled3Pin = 5; // светодиод 3

// Время шага светодиодной анимации (мс)
const unsigned longledStepInterval = 200;

беззнаковый длинный LastLedStepTime = 0;
ИНТ светодиодный шаг = 0;

недействительная настройка() {
pinMode (холлПин, ВХОД);
pinMode(pumpPin, ВЫХОД);
digitalWrite(pumpPin, ВЫСОКИЙ);

pinMode (led1Pin, ВЫХОД);
pinMode (led2Pin, ВЫХОД);
pinMode (led3Pin, ВЫХОД);

всеЛедсВыкл();
}

недействительный цикл() {
int HallState = digitalRead(hallPin);

// НИЗКИЙ = магнит обнаружен
bool MagneticDetected = (hallState == LOW);

если (магнитобнаружен) {
digitalWrite(pumpPin, LOW);
обновлениеЛедАнимация();
} еще {
digitalWrite(pumpPin, ВЫСОКИЙ);
всеЛедсВыкл();
светодиодный шаг = 0;
}
}

недействительный allLedsOff() {
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
}

// Плавная светодиодная анимация
недействительный updateLedAnimation () {
unsigned long now = millis();
if (теперь — LastLedStepTime LastLedStepTime = сейчас;

всеЛедсВыкл();

переключатель (ledStep) {
случай 0: digitalWrite(led1Pin, HIGH); перерыв;
случай 1: digitalWrite(led2Pin, HIGH); перерыв;
случай 2: digitalWrite(led3Pin, HIGH); перерыв;
случай 3: digitalWrite(led2Pin, HIGH); перерыв;
по умолчанию:
digitalWrite(led1Pin, ВЫСОКИЙ);
светодиодный шаг = -1;
перерыв;
}
светодиодСтеп++;
}

Если возникнут вопросы по сборке или проводке, могу предоставить подробную пошаговую инструкцию.

09:39
30
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.