Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Помогите, кормушка на esp32

Я начинающий в этой теме. Решил помочь деду, купил esp32, реле, моторчик от шуруповерта. Хотел сделать кормушку для собак которая бы вращала моторчик при нажатии кнопки в телеграм боте. Все собрал, но понял что не работает, запрогал - пошел дым из схемы. Помогите довести мое дело до конца. Помогите и с кодом и с схемой!

По дате
По рейтингу
Аватар пользователя
Мыслитель
2мес

Микросхемы работают на волшебном дыму. Если дым вышел - работать уже не будет.
Вообще, меня всегда удивляет, зачем люди начинают покупать что-то, если не разобрались, как с этим всем вообще работать

Аватар пользователя
Гуру
2мес

Начни с изучения языка си на компьютере. Потом основы электроники, программа мигания светодиодом и развивайся дальше. Учебников и примеров в сети полно.
Кормушку нужно делать автономной, а не привязанной к интернету, сети и твоему телефону. А ещё лучше если и электроники в ней не будет - просто перевёрнутая в миску ёмкость с кормом.
А ещё вода намного важнее чем еда.

Аватар пользователя
Мастер
2мес

Схема:
Подключение ESP32 к реле :
GPIO пин ESP32 (например, GPIO5) → вход IN реле.
GND ESP32 → GND реле.
VCC реле → 5 В (или 3.3 В, в зависимости от реле).
Подключение реле к моторчику :
COM реле → один вывод моторчика.
NO (Normally Open) реле → другой вывод моторчика.
Подключение моторчика к источнику питания :
Положительный полюс источника питания → один вывод моторчика (через реле).
Отрицательный полюс источника питания → другой вывод моторчика.
Параллельно моторчику подключите диод 1N4007 (катод к положительному полюсу, анод к отрицательному).
Код:
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

// Настройки Wi-Fi
const char* ssid = "ВАШ_SSID";
const char* password = "ВАШ_ПАРОЛЬ";

// Настройки Telegram-бота
#define BOT_TOKEN "ВАШ_TELEGRAM_BOT_TOKEN"
#define CHAT_ID "ВАШ_CHAT_ID"

// Пин для реле
const int relayPin = 5;

WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TOKEN, client);

bool isMotorRunning = false;

void setup() {
Serial.begin(115200);

// Настройка пина реле
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // Выключаем реле

// Подключение к Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Подключение к Wi-Fi...");
}
Serial.println("Wi-Fi подключен!");

// Отключаем проверку SSL-сертификата
client.setInsecure();
}

void loop() {
// Проверяем сообщения от Telegram
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
for (int i = 0; i < numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;

if (text == "/start") {
bot.sendMessage(chat_id, "Привет! Используй /feed, чтобы покормить собаку.");
} else if (text == "/feed") {
feedDog();
bot.sendMessage(chat_id, "Кормушка активирована!");
}
}
}

void feedDog() {
// Включаем моторчик на 5 секунд
digitalWrite(relayPin, HIGH);
delay(5000); // 5 секунд
digitalWrite(relayPin, LOW);
}