Оглавление:
- Шаг 1: Шаг 1: Компоненты
- Шаг 2: Шаг 2: Подключите серводвигатель
- Шаг 3: Шаг 3: небольшое понимание
- Шаг 4: Шаг 4: Добавьте код для проверки серводвигателя
- Шаг 5: Шаг 5: Подготовка к общению
- Шаг 6: Шаг 6: Проверка связи
- Шаг 7: Шаг 7: Добавление команд
- Шаг 8: Шаг 8: Подключите устройство к шторам (не обязательно)
Видео: Сервопривод непрерывного вращения (CRS) с управлением телеграммой: 8 шагов
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом руководстве я научу вас, как управлять CRS через телеграмму. Для этого вам понадобится пара вещей. Я буду работать над NodeMCU 1.0 (модуль ESP-12E). Это может работать на других платах Arduino, вам просто нужно найти для этого подходящие диски.
Ниже представлена среда установки для модуля ESP-12E:
- Windows 10
- Arduino IE 1.8.7 (Магазин Windows 1.8.15.0)
Руководство по установке драйверов и основных файлов для модуля ESP-12E можно найти здесь:
Как только вы это сделаете. Мы готовы к работе!
Шаг 1: Шаг 1: Компоненты
Для этого урока вам понадобятся некоторые компоненты:
- Модуль ESP12-E (ESP8266)
- Серводвигатель непрерывного вращения (это тот, который я использовал)
- Кабель Micro USB
- Сеть Wi-Fi
- Приложение Telegram
- Бот-отец-бот (не волнуйтесь, мы доберемся до него)
Шаг 2: Шаг 2: Подключите серводвигатель
Следуйте этой схеме, чтобы подключить серводвигатель.
- Черный: GND (Земля)
- Красный: 3,3 В или 5 В (питание)
- Желтый или белый: цифровой выход (сигнал)
Итак, если вы используете тот же серводвигатель, который использовал я, и у вас есть плата Arduino с более высоким выходным напряжением (5 В макс.), Вы можете вставить туда силовой кабель. Это просто будет означать, что серводвигатель будет производить больший крутящий момент. В любом случае, 3,3 В или 5 В подойдут.
Шаг 3: Шаг 3: небольшое понимание
Прежде чем мы начнем тестирование кода и посмотрим, работает ли он, вам нужно кое-что понять об этом серводвигателе. Поскольку это не обычный серводвигатель, который поворачивается под определенным углом, код, который вам нужно использовать, немного отличается.
Я не рекомендую использовать сервопривод на полном крутящем моменте, так как он выделяет много тепла и может потреблять значительную часть срока службы продукта. Старайтесь оставаться в районе [60, 120].
void loop {
myservo.write (90); // это означает отсутствие движения, серводвигатель остановился delay (1000); myservo.write (0); // это означает задержку движения против часовой стрелки на полной скорости (1000); myservo.write (180); // это означает задержку движения по часовой стрелке на полной скорости (1000); }
Шаг 4: Шаг 4: Добавьте код для проверки серводвигателя
#включают
Сервомашина; пустая настройка () {myservo.attach (D5); // прикрепляем сервопривод к выводу D5)} void loop () {myservo.write (85); // вращает двигатель против часовой стрелки на медленной скорости delay (1000); myservo.write (120); задержка (1000); myservo.write (90); задержка (5000); }
Шаг 5: Шаг 5: Подготовка к общению
Чтобы иметь возможность общаться с Arduino, вам нужно исправить пару вещей. Они довольно простые. Мы разделим эту задачу на два небольших раздела.
Бот
- Установите Telegram на свой мобильный телефон.
- Создайте аккаунт в Telegram.
- Найдите пользователя Botfather.
- Создайте нового бота, используя команды, которые он показывает (сохраните ключ, который он вам дает).
Задачи Arduino
- Откройте Arduino IE.
- Перейдите в «Менеджер библиотеки».
- Добавьте библиотеку «Универсальный телеграмбот».
-
Добавьте библиотеку ArduinoJson.
- Не добавляйте бета-версию
- Добавьте последнюю версию 5.x.
Шаг 6: Шаг 6: Проверка связи
Мы почти там.
- Откройте echobot из библиотеки universaltelegrambot> esp8266.
- Измените учетные данные Wi-Fi, чтобы они соответствовали вашей сети в том месте, где вы находитесь.
- Измените BOTtoken, который вам дал Botfather.
- Добавьте эту строку кода в цикл for, который находится в `void loop ();`
Serial.println (bot.messages .text);
Теперь мы готовы к тестированию.
Загрузите этот код в свой Arduino. Проверьте монитор последовательного порта, если вы NodeMCU подключаетесь к вашей сети Wi-Fi. Как только вы увидите, что он подключен, отправьте сообщение своему боту. Он должен отправить вам то же самое сообщение.
Шаг 7: Шаг 7: Добавление команд
Итак, сработало! У нас есть связь между устройствами. Следующим шагом будет сложение вещей. Итак, мы собираемся добавить команды к существующему коду эхобота. Было бы неплохо поместить следующий код вместо последнего кода, который я вам дал. Так что мы не позволим нам создать бота, который ведет себя как попугай.
Следующий фрагмент кода должен быть в цикле for, который перебирает новые сообщения. В зависимости от того, как вы размещаете серводвигатель, вы можете поменять местами команды «Открыть» и «Закрыть». Загрузите это в свой esp8266 и проверьте, работает ли он.
// нужная команда
if (bot.messages .text == "Открыть") {
// Ответ, который ваш бот даст вам bot.sendMessage (bot.messages .chat_id, «Я открываю для вас шторы.»);
// что будет делать плата Arduino
myservo.write (80); // серводвигатель вращается против часовой стрелки, чтобы открыть шторы
}
if (bot.messages .text == "Stop") {// Ответ, который ваш бот даст вам bot.sendMessage (bot.messages .chat_id, «Остановка штор.»); // что будет делать плата Arduino myservo.write (90); // серводвигатель перестает вращаться}
if (bot.messages .text == "Close") {// Ответ, который ваш бот даст вам bot.sendMessage (bot.messages .chat_id, "Я закрываю для вас шторы."); // что будет делать плата Arduino myservo.write (80); // серводвигатель вращается по часовой стрелке, чтобы закрыть шторы}
Шаг 8: Шаг 8: Подключите устройство к шторам (не обязательно)
Дааааааааааааааааа конец готово!
Инструкции были о том, как подключить Telegrambot к вашему Arduino, чтобы вы могли управлять им на расстоянии. Но я сделал эту особую настройку, чтобы иметь возможность открывать шторы в своей студии, не открывая их физически. Итак, если вы хотите сделать то же самое, что и я, последний шаг - подключить наше маленькое устройство к вашим шторам и вуаля.