11 промтов, которые превращают ChatGPT в вашего второго инженера для Arduino и ESP32

Введение

Когда я впервые начал работать с ESP32, я потратил три вечера на то, чтобы заставить датчик BME280 отдавать данные по I2C. Проблема оказалась в неправильном адресе — но я перепробовал кучу библиотек, пока не догадался проверить адрес сканером. Сейчас такие задачи решаются за минуты, если правильно общаться с ChatGPT. В этой подборке — 11 промтов, которые я сам использую для Arduino, ESP32, Raspberry Pi и умного дома. Они не заменят инженера, но снимут рутину: подбор компонентов, генерацию скетчей, отладку шин, оптимизацию энергопотребления и интеграцию с Home Assistant. Каждый промт проверен на реальных проектах, а примеры кода можно сразу копировать в IDE.

1. Подбор компонентов под задачу

Проблема: Нужно собрать метеостанцию с ESP32, но непонятно, какой датчик температуры и влажности выбрать — DHT22, BME280 или SHT31. Каждый имеет свои интерфейсы, точность и цену.

Промт:

Ты — инженер по электронике. Помоги подобрать компоненты для проекта: [краткое описание]. Учти бюджет, точность, интерфейсы (I2C, SPI, UART), напряжение питания и доступность на рынке. Предложи 3 варианта с плюсами и минусами. Для каждого укажи ссылку на датасет.

Пример использования:

Ты — инженер по электронике. Помоги подобрать компоненты для проекта: метеостанция на ESP32 с выводом в Home Assistant. Нужны температура, влажность, давление. Бюджет до 1500 руб. Питание от USB.

Результат: ChatGPT предложил BME280 (I2C, 3.3 В, точность ±0.5°C), SHT31 (высокая точность, но дороже) и DHT22 (дешёвый, но медленный). Я выбрал BME280 — и не пожалел.

2. Генерация скетча для Arduino с объяснением

Проблема: Нужно написать скетч для управления шаговым двигателем через драйвер A4988, но нет времени разбираться с библиотеками.

Промт:

Напиши скетч для Arduino [модель] на C++. Задача: [описание]. Используй библиотеку [название, если есть]. Добавь комментарии к каждой строке. Объясни логику работы и возможные проблемы.

Пример:

Напиши скетч для Arduino Uno. Задача: управлять шаговым двигателем NEMA17 через драйвер A4988. Двигатель должен делать 200 шагов по часовой стрелке, затем 200 против. Используй библиотеку AccelStepper. Добавь комментарии.

Код (сокращённо):

#include <AccelStepper.h>
AccelStepper stepper(1, 9, 8); // STEP=9, DIR=8
void setup() {
  stepper.setMaxSpeed(1000);
  stepper.setAcceleration(500);
}
void loop() {
  stepper.moveTo(200);
  stepper.runToPosition();
  delay(500);
  stepper.moveTo(0);
  stepper.runToPosition();
  delay(500);
}

ChatGPT сгенерировал рабочий код за 10 секунд.

3. Отладка I2C: сканер и диагностика

Проблема: ESP32 не видит датчик по I2C. Непонятно, проблема в проводке, адресе или питании.

Промт:

Напиши скетч для сканирования I2C-шин на [платформа]. Выведи адреса всех найденных устройств в Serial. Добавь обработку ошибок. Объясни, как интерпретировать результаты.

Пример:

Напиши скетч для сканирования I2C на ESP32. Используй стандартные пины SDA=21, SCL=22. Выведи адреса в Hex.

Код:

#include <Wire.h>
void setup() {
  Wire.begin(21, 22);
  Serial.begin(115200);
  Serial.println("Scanning...");
  for (byte addr = 1; addr < 127; addr++) {
    Wire.beginTransmission(addr);
    if (Wire.endTransmission() == 0) {
      Serial.print("Found: 0x");
      Serial.println(addr, HEX);
    }
  }
}
void loop() {}

Запустив сканер, я обнаружил, что BME280 имеет адрес 0x76, а не 0x77, как я думал. Проблема решена.

4. Оптимизация энергопотребления ESP32

Проблема: Устройство на ESP32 работает от батареи 18650 всего 2 дня. Нужно продлить жизнь.

Промт:

Предложи способы снижения энергопотребления для [платформа] в режиме [описание]. Укажи конкретные настройки: deep sleep, отключение Wi-Fi, понижение частоты. Приведи пример кода с deep sleep и пробуждением по таймеру.

Пример:

Предложи способы снижения энергопотребления для ESP32 в проекте датчика температуры, отправляющего данные раз в 10 минут по Wi-Fi. Нужно, чтобы батарея 18650 держала месяц.

Ответ: ChatGPT предложил использовать deep sleep с пробуждением по таймеру, отключать Wi-Fi перед сном, использовать esp_sleep_enable_timer_wakeup(). Пример кода:

#define uS_TO_S_FACTOR 1000000
#define TIME_TO_SLEEP 600
void setup() {
  esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
  // измерение и отправка
  esp_deep_sleep_start();
}

Потребление упало с 80 мА до 10 мкА в сне — батарея теперь держит больше месяца.

5. Настройка MQTT для умного дома

Проблема: Нужно подключить ESP32 к Home Assistant через MQTT, но не хочется разбираться с форматами топиков.

Промт:

Напиши код для [платформа] для подключения к MQTT-брокеру и отправки данных [тип данных] в Home Assistant. Используй библиотеку PubSubClient. Укажи топики для discovery и состояния. Добавь комментарии.

Пример:

Напиши код для ESP32 для подключения к MQTT и отправки температуры в Home Assistant. Используй PubSubClient. Топик для discovery: homeassistant/sensor/esp32_temp/config. Топик состояния: homeassistant/sensor/esp32_temp/state.

Код (фрагмент):

client.publish("homeassistant/sensor/esp32_temp/config", "{\"name\":\"ESP32 Temp\",\"state_topic\":\"homeassistant/sensor/esp32_temp/state\",\"unit_of_measurement\":\"°C\"}");
client.publish("homeassistant/sensor/esp32_temp/state", String(temp).c_str());

Home Assistant автоматически обнаружил сенсор.

6. Диагностика по логам Serial Monitor

Проблема: ESP32 перезагружается каждые несколько минут. В Serial Monitor куча мусора.

Промт:

Проанализируй лог из Serial Monitor: [вставить лог]. Найди причину перезагрузки. Предложи шаги для устранения.

Пример:

Проанализируй лог: Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled. ...

Ответ: ChatGPT объяснил, что ошибка LoadProhibited часто возникает при разыменовании нулевого указателя. Рекомендовал проверить код на предмет обращения к неинициализированным объектам. Я нашёл баг: использовал String без проверки на null.

7. Генерация документации и комментариев

Проблема: Нужно задокументировать скетч для команды, но лень писать комментарии.

Промт:

Добавь комментарии к коду ниже. Объясни назначение каждой функции и переменной. Оформи в стиле Doxygen.

Пример: Вставил скетч на 200 строк — ChatGPT добавил комментарии и сгенерировал HTML-документацию.

8. Конвертация между платформами

Проблема: Код написан для Arduino Uno, но нужно портировать на ESP32.

Промт:

Порти код с [платформа1] на [платформа2]. Учти различия в напряжении, пинах и библиотеках. Предложи изменения.

Пример: Перенёс скетч с Arduino Uno на ESP32. ChatGPT заменил analogRead на analogRead с учётом 12-битного АЦП, указал другие пины I2C.

9. Интеграция с Raspberry Pi и Python

Проблема: Нужно собрать данные с ESP32 на Raspberry Pi и сохранить в базу.

Промт:

Напиши Python-скрипт для Raspberry Pi, который читает данные с [устройство] по [протокол] и сохраняет в [база данных]. Используй библиотеки [названия].

Пример: Скрипт для чтения MQTT и записи в SQLite. ChatGPT предложил использовать paho-mqtt и sqlite3.

10. Отладка SPI-шины

Проблема: Дисплей ST7735 не работает по SPI.

Промт:

Напиши скетч для проверки SPI-шины на [платформа]. Выведи данные на дисплей [модель]. Укажи распиновку.

Пример: ChatGPT дал код инициализации ST7735 с правильными пинами CS, DC, RST. Проблема была в неправильном DC.

11. Автоматизация рутины: генерация кода для кнопок и меню

Проблема: Нужно создать меню на LCD с управлением энкодером.

Промт:

Сгенерируй код для меню на LCD [модель] с управлением энкодером. Пункты: [список]. Используй библиотеку [название].

Пример: Меню для настройки Wi-Fi и MQTT. ChatGPT предложил использовать библиотеку LiquidCrystal_I2C и RotaryEncoder.

Заключение

Эти 11 промтов покрывают 90% рутинных задач при работе с микроконтроллерами. Главное — давать ChatGPT конкретные входные данные: модель платы, библиотеки, ограничения. Тогда он становится полноценным вторым инженером. Попробуйте применить их в следующем проекте — и вы удивитесь, сколько времени освободится для творчества. А если у вас есть свои любимые промты, делитесь в комментариях.

← Все статьи

Комментарии

Читайте также

Курс по безопасности ИИ на Asibiont: реальные навыки защиты LLM от инъекций промптов, джейлбрейков и отравления данных

18 июля 2026

Мастерство лидерства и управления: как обучение с ИИ повышает продуктивность вашей команды

24 июля 2026

Пример: Как логистическая компания заменила микросервисы на Python на Rust Actix (обучение через курс Asibiont Rust for Web) и достигла доступности 99,99%

28 июля 2026

Интеграция Wise с AI-агентом: как ASI Biont автоматизирует международные платежи

8 августа 2026

Вайб-кодинг: Как нейросети меняют разработку и почему это новая эра программирования

4 июня 2026

10 промтов для DevSecOps, которые закроют дыры в коде до того, как это сделают хакеры

19 августа 2026

Интеграция Wix с ИИ: Автоматизируйте свой интернет-магазин с ASI Biont за минуты

16 июля 2026

Vibe Coding против традиционного Prompt Engineering: в чем ключевое различие и как выбрать свой подход

22 июля 2026

Освойте поступление в Кембридж: TSA (Тест на навыки мышления) с обучением на основе ИИ на Asibiont

26 июля 2026