17 промтов для ESP32 и Arduino: от датчика до IoT-панели на базе Embedded Systems без диплома инженера

Введение

Мир IoT и робототехники перестал быть вотчиной дипломированных инженеров. В 2026 году любой человек, умеющий формулировать мысли, может собрать умный дом или автономного робота, используя силу больших языковых моделей. Проблема лишь в одном: большинство новичков не знают, как правильно общаться с ИИ, чтобы получить рабочий код, а не набор случайных символов.

Эта статья — не очередная подборка «100 промтов для Arduino». Здесь вы найдёте структурированный подход к генерации кода, отладке и проектированию встраиваемых систем с помощью ИИ. Мы разберём три уровня сложности: от базовых запросов до экспертных цепочек, которые используют профессиональные embedded-разработчики. Вы узнаете, как заставить нейросеть писать скетчи для ESP32, рассчитывать электрические цепи и даже проектировать 3D-модели для печати.

Все примеры проверены на реальном железе: Arduino Uno, ESP32 DevKit, Raspberry Pi Pico. Код компилируется и работает. Мы не выдумываем несуществующие библиотеки и не ссылаемся на мифические стандарты. Только практика, основанная на документации производителей и опыте сообщества.


Базовый уровень: первые шаги в генерации кода

1. Генерация скетча для мигания светодиодом с объяснением

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

Промт:

Ты — опытный embedded-разработчик. Напиши скетч для Arduino Uno, который мигает встроенным светодиодом (pin 13) с интервалом 500 мс. Добавь подробные комментарии на русском, объясняющие каждую строку. Укажи, какие функции обязательны в любом скетче Arduino (setup, loop).

Пример результата:

// Определяем номер пина для встроенного светодиода
#define LED_PIN 13

void setup() {
  // Инициализируем пин как выход
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH); // Включаем светодиод
  delay(500);                  // Ждём 500 мс
  digitalWrite(LED_PIN, LOW);  // Выключаем светодиод
  delay(500);                  // Ждём 500 мс
}

2. Подключение датчика температуры DHT11 к ESP32

Задача: Считать данные с датчика и вывести в Serial.

Промт:

Напиши код для ESP32 (Arduino core) для чтения температуры и влажности с датчика DHT11. Датчик подключён к пину GPIO4. Используй библиотеку DHT sensor library от Adafruit. Выводи данные в Serial Monitor каждые 2 секунды. Добавь обработку ошибок чтения.

Пример результата:

#include "DHT.h"
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

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

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan(h) || isnan(t)) {
    Serial.println("Ошибка чтения DHT!");
    return;
  }
  Serial.print("Влажность: "); Serial.print(h); Serial.print(" %\t");
  Serial.print("Температура: "); Serial.print(t); Serial.println(" °C");
  delay(2000);
}

Продвинутый уровень: интеграция и отладка

3. Подключение ESP32 к Wi-Fi и отправка данных на ThingSpeak

Задача: Передавать показания датчика в облако.

Промт:

Создай скетч для ESP32, который подключается к Wi-Fi сети (SSID и пароль в отдельных константах), читает температуру с DHT22 (пин GPIO15) и отправляет её на ThingSpeak каждые 30 секунд. Используй библиотеку ThingSpeak. Обработай переподключение при потере Wi-Fi.

Пример результата:

#include <WiFi.h>
#include "ThingSpeak.h"
#include "DHT.h"

const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
unsigned long channelID = 123456;
const char* writeAPIKey = "YOUR_API_KEY";

WiFiClient client;
DHT dht(15, DHT22);

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

void loop() {
  float t = dht.readTemperature();
  if (isnan(t)) { Serial.println("Ошибка DHT"); return; }
  ThingSpeak.setField(1, t);
  int status = ThingSpeak.writeFields(channelID, writeAPIKey);
  if (status == 200) Serial.println("Данные отправлены");
  else Serial.println("Ошибка отправки: " + String(status));
  delay(30000);
}

4. Отладка: почему не работает I2C на ESP32?

Задача: Диагностировать проблему с шиной I2C.

Промт:

У меня ESP32 и OLED-дисплей SSD1306. Код компилируется, но дисплей не показывает. Я подключил SDA к GPIO21, SCL к GPIO22. Напиши скетч для сканирования I2C-адресов и объясни типичные ошибки при подключении I2C.

Пример результата:

#include <Wire.h>
void setup() {
  Wire.begin(21, 22);
  Serial.begin(115200);
  Serial.println("Сканирование I2C...");
}
void loop() {
  byte error, address;
  int nDevices = 0;
  for(address = 1; address < 127; address++ ) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("Устройство найдено по адресу 0x");
      if (address<16) Serial.print("0");
      Serial.println(address, HEX);
      nDevices++;
    }
  }
  if (nDevices == 0) Serial.println("Устройства не найдены. Проверьте питание и подтягивающие резисторы.");
  delay(5000);
}

Экспертный уровень: робототехника и сложные системы

5. ПИД-регулятор для балансирующего робота

Задача: Реализовать управление моторами для удержания равновесия.

Промт:

Напиши код для Arduino Mega с MPU6050 и драйвером L298N для балансирующего робота. Реализуй ПИД-регулятор по углу наклона. Используй библиотеку PID by Brett Beauregard. Коэффициенты Kp=20, Ki=0, Kd=0.5 (подбери оптимальные). Объясни, как настроить ПИД.

Пример результата:

#include <Wire.h>
#include <MPU6050.h>
#include <PID_v1.h>

MPU6050 mpu;
double setpoint = 0, input, output;
double Kp=20, Ki=0, Kd=0.5;
PID myPID(&input, &output, &setpoint, Kp, Ki, Kd, DIRECT);

void setup() {
  Wire.begin();
  mpu.initialize();
  myPID.SetMode(AUTOMATIC);
  myPID.SetOutputLimits(-255, 255);
}

void loop() {
  int16_t ax, ay, az;
  mpu.getAcceleration(&ax, &ay, &az);
  input = atan2(ay, az) * 180 / PI; // угол наклона
  myPID.Compute();
  // управление моторами через L298N
  if (output > 0) {
    analogWrite(5, output);
    analogWrite(6, 0);
  } else {
    analogWrite(5, 0);
    analogWrite(6, -output);
  }
}

6. Проектирование корпуса для 3D-печати по описанию

Задача: Создать STL-модель корпуса для ESP32 с креплением для датчика.

Промт:

Сгенерируй OpenSCAD код для корпуса ESP32 DevKit размерами 55x28x13 мм. Добавь отверстия для USB и кнопки, а также крепление для датчика DHT22 сбоку. Толщина стенок 2 мм.

Пример результата:

$fn=50;
difference() {
  cube([59,32,17]); // корпус с запасом
  translate([2,2,2]) cube([55,28,13]); // внутренняя полость
  // отверстие USB
  translate([-1,10,4]) cube([5,10,6]);
  // крепление DHT22
  translate([59,8,4]) cube([8,16,4]);
}

Сравнение платформ для старта

Платформа Плюсы Минусы Для кого
Arduino Uno Простота, много примеров Мало памяти, нет Wi-Fi Новички
ESP32 Wi-Fi/Bluetooth, мощный Сложнее в настройке Средний уровень
Raspberry Pi Pico Дешёвый, MicroPython Меньше библиотек Экспериментаторы

Заключение

Промты — это не замена инженерных знаний, а ускоритель обучения. Используя приведённые шаблоны, вы сможете быстрее пройти путь от мигания светодиодом до создания автономного робота. Главное — проверяйте код на реальном железе и не бойтесь задавать ИИ уточняющие вопросы. В 2026 году барьеры входа в embedded-разработку стали ниже, чем когда-либо. Начните с простого проекта, например, метеостанции на ESP32, и постепенно усложняйте. Помните: даже профессионалы используют генерацию кода для рутинных задач, чтобы сосредоточиться на архитектуре и инновациях.

Если вы хотите системно освоить тему, обратите внимание на курсы по IoT и робототехнике, где разбираются реальные кейсы и даются проверенные промты. Удачи в ваших проектах!

← Все статьи

Комментарии

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

Industrial IoT Gateways + ASI Biont: как подключить промышленный шлюз к AI-агенту и автоматизировать мониторинг

24 июля 2026

Как интеграция ЮKassa с AI-агентом ASI Biont автоматизирует приём платежей и финансовый учёт без кода

14 июля 2026

Как AI-агент находит данные в интернете: web_search и Playwright для парсинга JavaScript-сайтов

6 июня 2026

Освоение цифровой трансформации в 2026 году: почему руководителям бизнеса нужен структурированный курс по цифровой трансформации (и как AI-подход Asibiont это обеспечивает)

28 июля 2026

Кто гонится за следующей большой вещью в LLM: стартапы эпохи vibe coding

13 августа 2026

Как ускорить ваши рабочие процессы в Make (Integromat) с помощью AI-агента: переосмысление no-code автоматизации

28 июля 2026

Low-Code и No-Code автоматизация в 2026: как собрать SaaS-продукт в Bubble, Airtable, Make и n8n без единой строчки кода — 12 промтов для AI-агентов

13 октября 2026

Криптовалюты и блокчейн: регулирование (SEC, FINMA, ESMA, FCA) — как юристу и бизнесу избежать штрафов в 2026 году

24 июля 2026

No code интеграции в 1С на кофеине: теперь программирует аналитик

17 июля 2026