Гирокрокет (Gyrokibbles)

Источник:

Gyrocroquettes (или Gyrokibble) — это хаотичный дозатор лакомств, работающий на базе Arduino Uno R4. Корпус, напечатанный на 3D-принтере, скрывает электронику и оснащен большой красной кнопкой аварийного типа, при нажатии которой сигнал по кабелю передается на настенный модуль. Этот модуль вращает контейнер для корма на высокой скорости, разбрасывая лакомства повсюду с помощью центробежной силы. Кошки мгновенно отвлекаются, превращая время еды в дикую охоту за мусором. Устройство также можно активировать удаленно через Arduino IoT — идеально подходит для ленивого утра или позднего возвращения домой.

Функции

Ключевые особенности и функциональные возможности проекта:
● Отслеживает физическую кнопку аварийного типа для локальной активации.
● Отслеживает виртуальную кнопку через облако Arduino IoT для удаленной активации.
● Запускает двигатель, который вращает контейнер для корма и разбрасывает лакомства в случайном порядке, чтобы накормить и развлечь кошек.

Используемое оборудование и программное обеспечение
Аппаратное обеспечение:

● Arduino Uno R4 Wi-Fi.
● Корпуса, напечатанные на 3D-принтере (кнопочный модуль и устройство подачи кормов)
● Дно бутылки из-под газировки из переработанного пластика (испол��зуется в качестве контейнера для пищевых продуктов).
● NPN-транзистор, диод и другие основные электронные компоненты.
● Электропроводка для подключения кнопочного модуля и диспенсера.
● Батарея 9 В с разъемом.
● USB-блок питания для Arduino.

Программное обеспечение:

● Ардуино IDE.
● Arduino IoT Cloud (��ля удаленного управления).

Схема подключения

Ниже описывается настройка проводки для Gyrokibble:

Контакт 2 Arduino подключен к одной стороне кнопки.

Контакт 5 Arduino подключен к резистору сопротивлением 1 кОм, который затем подключается к базе (B) NPN-транзистора.

Земля Arduino подключена к:

Другая сторона кнопки.
Эмиттер (Е) NPN-транзистора.
Отрицательная (-) клемма аккумулятора 9 В.

Коллектор © NPN-транзистора подключен к:

Одна клемма двигателя постоянного тока.
Анод диода (для защиты от обратного хода).

Положительная (+) клемма аккумулятора 9 В подключается к:

Другая клемма двигателя постоянного тока.

Катод диода.

Эта конфигурация позволяет Arduino управлять двигателем, включая и выключая транзистор. Кнопка обеспечивает локальный метод активации, а удаленное управление осуществляется через облако Arduino IoT.

Питание Arduino через USB
Двигатель постоянного тока питается от отдельной батареи 9 В для предотвращения падения напряжения на Arduino.
Диод используется в качестве обратноходового диода для защиты схемы от скачков напряжения, генерируемых двигателем.

Код

Код позволяет использовать два метода активации механизма подачи корма: локальную физическую кнопку и удаленную виртуальную кнопку через облако Arduino IoT. При срабатывании Arduino Uno R4 на короткое время приводит в действие двигатель, запуская лакомства за счет центробежной силы.

Основные моменты кода:

Отслеживает физическую кнопку на контакте 2, используя метод обнаружения спадающего фронта.
Прослушивает изменения облачной переменной (triggerMotor) для удаленной активации.
Активирует двигатель через NPN-транзистор, подключенный к выводу 5.
Использует короткую задержку (1,5 секунды) для управления временем работы двигателя.
Включает базовую светодиодную ��братную связь для отладки.
/*
Скетч, созданный с помощью Arduino IoT Cloud Thing «gyrokibbles».

Описание облачных переменных Arduino IoT

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

bool триггерМотор;

Переменные, помеченные как READ/WRITE в Cloud Thing, также будут иметь функции.
которые вызываются, когда их значения изменяются на панели мониторинга.
Эти функции генерируются с помощью Thing и добавляются в конце этого эскиза.
*/

#include «thingProperties.h»

const int buttonPin = 2; // Физическая кнопка
const int MotorPin = 5; // Цифровой вывод �� поддержкой ШИМ, двигатель, активируемый транзистором

Bool buttonPressed = ложь;

недействительный активироватьМотор () {
digitalWrite (LED_BUILTIN, ВЫСОКИЙ); // это просто для проверки, это можно прокомментировать
digitalWrite(motorPin, ВЫСОКИЙ);
задержка(1500);
digitalWrite (LED_BUILTIN, НИЗКИЙ); // это просто для проверки, это можно прокомментировать
digitalWrite(motorPin, LOW);
}

недействительная настройка() {
// Инициализируем последовательный порт и ждем порта

10:46
19
Нет комментариев. Ваш будет первым!

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

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

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