🔧 Arduino IDE и первая программа
🎯 Цели и планируемые результаты урока
Предметные результаты:
- Освоение установки и настройки Arduino IDE для ESP32
- Понимание структуры программы Arduino (setup/loop)
- Навыки безопасного подключения ESP32 к компьютеру
- Умение загружать и запускать простые программы
- Понимание принципов программирования микроконтроллеров
Метапредметные результаты:
- Развитие алгоритмического мышления
- Формирование навыков работы с программным обеспечением
- Умение следовать пошаговым инструкциям
- Развитие навыков отладки и поиска ошибок
Личностные результаты:
- Формирование интереса к программированию
- Развитие терпения и настойчивости при решении технических задач
- Воспитание аккуратности при работе с оборудованием
🚀 Мотивационное начало (5 минут)
“Оживление робота - первые слова”
Учитель показывает ESP32 с уже загруженной программой мигающего светодиода
Демонстрация “магии”:
- ESP32 мигает светодиодом в определенном ритме
- “Видите? Он нам что-то говорит! Это его первые слова!”
- Показать тот же ESP32 без программы (не мигает)
Интрига: “Сегодня мы станем ‘учителями роботов’ и научим наших ESP32 их первым словам!”
Аналогия с обучением ребенка:
👶 Обучение ребенка ↔ 🤖 Обучение ESP32
🗣️ Учим говорить "мама" ↔ 💡 Учим мигать светодиодом
📚 Используем букварь ↔ 💻 Используем Arduino IDE
👨🏫 Нужен учитель ↔ 👨💻 Нужен программист (это мы!)
🎯 Повторяем до успеха ↔ 🔄 Отлаживаем программу
Вызов дня: “К концу урока каждый ваш ESP32 будет ‘говорить’ светом, а вы станете его первыми учителями!”
📖 Основная часть урока
Блок 1: “Установка Arduino IDE - подготовка учительского стола” (12 минут)
💻 “Создание рабочего места программиста”
Шаг 1: Установка Arduino IDE
Учитель демонстрирует на большом экране, дети следуют на своих компьютерах
🌐 Где скачать: arduino.cc → Software → Downloads
📥 Выбираем: Arduino IDE 2.x.x (новая версия)
💻 Операционная система: Windows/Mac/Linux
⏱️ Время установки: ~5 минут
Пошаговая установка:
- Скачивание установщика
- Запуск с правами администратора
- Выбор папки установки
- Ожидание завершения
Аналогия: “Как устанавливаем игру на компьютер - нужно немного подождать, и появится новая ‘игрушка’ для программирования!”
Шаг 2: Установка драйверов ESP32
Важное объяснение:
🔌 Драйвер = "переводчик"
- Помогает компьютеру "понимать" ESP32
- Как изучение иностранного языка для общения
- Без драйвера: компьютер видит "неизвестное устройство"
- С драйвером: "О, это ESP32! Я знаю, как с ним общаться!"
Автоматическая установка (современные ОС):
- Подключаем ESP32 через USB
- Windows/Mac автоматически найдет драйвер
- Смотрим в “Диспетчер устройств” - должен появиться COM порт
Шаг 3: Добавление поддержки ESP32 в Arduino IDE
Демонстрация учителем:
🛠️ Меню: File → Preferences
📋 Additional Board Manager URLs:
https://dl.espressif.com/dl/package_esp32_index.json
🔧 Tools → Board → Boards Manager
🔍 Поиск: "esp32"
📥 Установка: "ESP32 by Espressif Systems"
⏱️ Ждем 3-5 минут (зависит от интернета)
Проверка установки:
- Tools → Board → ESP32 Dev Module (должен появиться)
- “Если видите ESP32 в списке - поздравляю, вы готовы к программированию!”
🎯 Практическое задание “Настройка рабочего места”
Каждый ученик проверяет:
✅ ЧЕКЛИСТ ГОТОВНОСТИ:
□ Arduino IDE запускается
□ ESP32 платы видны в Tools → Board
□ ESP32 подключен и опознан компьютером
□ В Tools → Port виден COM порт
□ Не горят красные ошибки в консоли
Блок 2: “Архитектура программы - анатомия кода” (10 минут)
🏗️ “Дом для программы”
Центральная метафора: Программа Arduino как двухэтажный дом
🏠 ПРОГРАММА ARDUINO = ДОМ ИЗ 2 ЭТАЖЕЙ
🏗️ 1 ЭТАЖ: setup() - "Комната подготовки"
- Выполняется ОДИН раз при включении
- Здесь мы "готовим" ESP32 к работе
- Как утренняя зарядка - делаем один раз
🔄 2 ЭТАЖ: loop() - "Комната действий"
- Выполняется БЕСКОНЕЧНО по кругу
- Здесь ESP32 "живет" и работает
- Как сердце - бьется постоянно
📝 “Изучение структуры кода”
Показ базового шаблона:
// 🏠 ДОМ ПРОГРАММЫ НАЧИНАЕТСЯ ЗДЕСЬ
void setup() {
// 🏗️ 1 ЭТАЖ - КОМНАТА ПОДГОТОВКИ
// Сюда пишем то, что нужно сделать ОДИН раз
// Например: настроить пины, подключиться к WiFi
}
void loop() {
// 🔄 2 ЭТАЖ - КОМНАТА ДЕЙСТВИЙ
// Сюда пишем то, что нужно делать ПОСТОЯННО
// Например: мигать светодиодом, читать датчики
}
// 🏠 ДОМ ПРОГРАММЫ ЗАКАНЧИВАЕТСЯ ЗДЕСЬ
Объяснение ключевых элементов:
// 💬 КОММЕНТАРИИ - наши заметки
// Начинаются с двух слешей
// Компьютер их игнорирует, но людям помогают
void setup() {
//👆 void = "ничего не возвращает"
// setup = "настройка"
// () = "без параметров"
// {} = "тело функции"
Serial.begin(9600);
//👆 Команда для начала общения с компьютером
// 9600 = скорость "разговора"
🎭 “Театр команд”
Ролевая игра для понимания структуры:
- Режиссер (учитель): “Включаем ESP32!”
- Актер Setup: Выходит, говорит свои строчки ОДИН раз, уходит
- Актер Loop: Выходит, говорит строчки, возвращается в начало, повторяет БЕСКОНЕЧНО
Пример диалога:
🎬 СЦЕНА: Включение ESP32
Режиссер: "Мотор! Камера! Поехали!"
Setup: "Привет! Я настраиваю светодиод как выход. Готово! Ухожу!"
Loop: "Включаю светодиод! Жду секунду! Выключаю светодиод! Жду секунду!"
Loop: "Включаю светодиод! Жду секунду! Выключаю светодиод! Жду секунду!"
Loop: "Включаю светодиод! Жду секунду! Выключаю светодиод! Жду секунду!"
... (и так до отключения питания)
Блок 3: “Безопасность подключения - правила дружбы с ESP32” (8 минут)
🔌 “Правильное знакомство ESP32 и компьютера”
Пошаговый ритуал безопасного подключения:
🛡️ ПРОТОКОЛ БЕЗОПАСНОГО ПОДКЛЮЧЕНИЯ:
1️⃣ ПРОВЕРКА КАБЕЛЯ:
✅ USB кабель цел (нет перегибов, трещин)
✅ Разъемы чистые (нет пыли, окисления)
✅ Кабель поддерживает передачу данных (не только зарядный!)
2️⃣ ПРОВЕРКА ESP32:
✅ Плата не имеет видимых повреждений
✅ Ничего не замкнуто случайно
✅ На плате нет металлических предметов
3️⃣ ПОДКЛЮЧЕНИЕ:
✅ Сначала подключаем к ESP32
✅ Потом к компьютеру
✅ Слушаем звук подключения (Windows/Mac)
4️⃣ ПРОВЕРКА СВЯЗИ:
✅ Загорается ли индикатор питания на ESP32?
✅ Видит ли Arduino IDE устройство в Tools → Port?
✅ Нет ли сообщений об ошибках?
⚠️ Что НЕЛЬЗЯ делать:
❌ НЕ подключать ESP32 к USB HUB (концентратору)
❌ НЕ использовать удлинители USB
❌ НЕ подключать/отключать во время загрузки программы
❌ НЕ дергать за кабель - только за разъем
❌ НЕ оставлять подключенным без присмотра
🔬 Практическая демонстрация “Диагностика подключения”
Каждая команда проверяет свое подключение:
🔍 ДИАГНОСТИЧЕСКИЙ ПРОТОКОЛ:
Тест 1: "Физическая проверка"
- Осмотр кабеля и платы
- Качество соединений
Тест 2: "Электрическая проверка"
- Индикатор питания на ESP32
- Нет ли нагрева компонентов
Тест 3: "Программная проверка"
- Определение устройства в системе
- Выбор правильного COM порта
Результат: □ ВСЕ ОК □ ЕСТЬ ПРОБЛЕМЫ
Блок 4: “Первая программа - Hello, World!” (12 минут)
👋 “Учим ESP32 здороваться”
Объяснение концепции “Hello, World!”:
🌍 В мире программирования есть традиция:
- Первая программа всегда говорит "Hello, World!"
- Это как первое слово ребенка "мама"
- Для ESP32 "слова" - это мигание светодиодом
- Наша версия: "Hello, LED!" (Привет, светодиод!)
📝 Написание программы шаг за шагом
Учитель печатает код, объясняя каждую строчку:
// 🌟 МОЯ ПЕРВАЯ ПРОГРАММА ДЛЯ ESP32
// Автор: [ИМЯ УЧЕНИКА]
// Дата: [СЕГОДНЯШНЯЯ ДАТА]
// Цель: Научить светодиод мигать
// 🎯 Настройки и переменные
int ledPin = 2; // Встроенный светодиод на пине 2
void setup() {
// 🏗️ КОМНАТА ПОДГОТОВКИ (выполняется 1 раз)
Serial.begin(9600); // Начинаем "разговор" с компьютером
Serial.println("Привет, ESP32 запущен!"); // Говорим привет
pinMode(ledPin, OUTPUT); // Говорим ESP32: "Пин 2 - это выход для света"
Serial.println("Светодиод готов к работе!"); // Сообщаем о готовности
}
void loop() {
// 🔄 КОМНАТА ДЕЙСТВИЙ (выполняется постоянно)
Serial.println("Включаю светодиод");
digitalWrite(ledPin, HIGH); // Включаем светодиод (HIGH = включено)
delay(1000); // Ждем 1000 миллисекунд (1 секунда)
Serial.println("Выключаю светодиод");
digitalWrite(ledPin, LOW); // Выключаем светодиод (LOW = выключено)
delay(1000); // Ждем еще 1 секунду
// После этого loop() начинается заново!
}
🔤 “Словарь команд ESP32”
Разбор основных команд:
📚 СЛОВАРЬ ЮНОГО ПРОГРАММИСТА:
int ledPin = 2;
└─ "Создай переменную с именем ledPin и запомни число 2"
Serial.begin(9600);
└─ "Начни разговаривать с компьютером со скоростью 9600"
Serial.println("текст");
└─ "Скажи компьютеру 'текст' и переходи на новую строку"
pinMode(ledPin, OUTPUT);
└─ "Настрой пин как ВЫХОД для управления устройствами"
digitalWrite(ledPin, HIGH);
└─ "Подай на пин высокое напряжение (включи)"
digitalWrite(ledPin, LOW);
└─ "Подай на пин низкое напряжение (выключи)"
delay(1000);
└─ "Подожди 1000 миллисекунд (1 секунду)"
⌨️ Практическое задание “Ввод программы”
Дети печатают программу самостоятельно:
🎯 ПРАВИЛА ВВОДА КОДА:
1. Печатаем медленно и внимательно
2. Каждую строчку сверяем с образцом
3. Обращаем внимание на:
- Точки с запятой ;
- Скобки () {}
- Кавычки ""
- Регистр букв (HIGH не равно high)
4. Сохраняем программу: Ctrl+S
Блок 5: “Загрузка и запуск - момент истины!” (10 минут)
🚀 “Отправка программы в ESP32”
Пошаговый процесс загрузки:
🎯 ПРОТОКОЛ ЗАГРУЗКИ:
1️⃣ ФИНАЛЬНАЯ ПРОВЕРКА:
✅ Код написан без ошибок
✅ ESP32 подключен к компьютеру
✅ Выбрана правильная плата: ESP32 Dev Module
✅ Выбран правильный порт: COM X
2️⃣ КОМПИЛЯЦИЯ:
📋 Нажимаем кнопку "Verify" (галочка)
⏱️ Ждем сообщения "Done compiling"
✅ Проверяем: нет ли красных ошибок
3️⃣ ЗАГРУЗКА:
📤 Нажимаем кнопку "Upload" (стрелка)
📊 Наблюдаем прогресс загрузки
🎉 Ждем "Done uploading"
4️⃣ ПРОВЕРКА РЕЗУЛЬТАТА:
💡 Должен мигать встроенный светодиод!
💬 Открываем Serial Monitor для сообщений
🔧 “Отладка - поиск и устранение проблем”
Самые частые ошибки и их решения:
❌ ОШИБКА: "Board not found"
✅ РЕШЕНИЕ: Проверить подключение USB, выбрать правильный порт
❌ ОШИБКА: "Compilation error"
✅ РЕШЕНИЕ: Проверить синтаксис, точки с запятой, скобки
❌ ОШИБКА: "Upload failed"
✅ РЕШЕНИЕ: Нажать кнопку BOOT на ESP32 во время загрузки
❌ ОШИБКА: Программа загрузилась, но светодиод не мигает
✅ РЕШЕНИЕ: Проверить номер пина (должен быть 2), проверить код
🎊 “Момент триумфа - первый успех!”
Когда программа заработала:
🏆 ПОЗДРАВЛЕНИЯ! ВЫ ПРОГРАММИСТ!
Что произошло:
1. Вы написали код на языке C++
2. Arduino IDE перевел его в машинный код
3. ESP32 получил инструкции и выполняет их
4. Светодиод мигает по вашей команде!
Это значит:
✨ Вы управляете электричеством с помощью кода
✨ Вы создали свою первую IoT программу
✨ Вы готовы к более сложным проектам
🎨 Творческое задание: “Персонализация первой программы” (8 минут)
🎯 “Сделай программу своей!”
Каждый ученик модифицирует базовую программу:
Вариант 1: “Изменение ритма”
// Быстрое мигание (0.5 секунды)
delay(500);
// Медленное мигание (2 секунды)
delay(2000);
// Морзянка: быстро-быстро-медленно
digitalWrite(ledPin, HIGH); delay(200);
digitalWrite(ledPin, LOW); delay(200);
digitalWrite(ledPin, HIGH); delay(200);
digitalWrite(ledPin, LOW); delay(200);
digitalWrite(ledPin, HIGH); delay(800);
digitalWrite(ledPin, LOW); delay(800);
Вариант 2: “Персональные сообщения”
Serial.println("Это программа Маши!");
Serial.println("Мой ESP32 приветствует мир!");
Serial.println("Светодиод мигает специально для моих друзей!");
Вариант 3: “Счетчик миганий”
int count = 0; // Счетчик
void loop() {
count = count + 1; // Увеличиваем счетчик
Serial.print("Мигание номер: ");
Serial.println(count);
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
🎪 “Демонстрация достижений”
Каждый ученик показывает свою версию:
- Демонстрирует ритм мигания
- Читает свои сообщения в Serial Monitor
- Объясняет, что изменил и почему
📸 “Фотосессия первых программ”
- Фото учеников с мигающими ESP32
- Скриншоты кода в Arduino IDE
- Создание “Стены славы первых программистов”
📝 Рефлексия и закрепление (5 минут)
🎉 “Квест достижений”
Проверяем, чего мы достигли:
🏅 СПИСОК ДОСТИЖЕНИЙ:
□ Установил Arduino IDE
□ Подключил ESP32 к компьютеру
□ Написал свою первую программу
□ Загрузил программу в ESP32
□ Заставил светодиод мигать
□ Понимаю структуру setup() и loop()
□ Модифицировал программу по своему желанию
□ Могу объяснить другу, как это работает
💭 “Одной фразой”
Каждый ученик завершает фразу:
- “Программирование ESP32 - это…”
- “Самое сложное было…”
- “Больше всего понравилось…”
- “Хочу теперь научиться…”
🔮 “Планы на будущее”
Краткое обсуждение:
- Что еще можно заставить делать ESP32?
- Какие устройства хотели бы подключить к светодиоду?
- О каких проектах мечтаете?
🏠 Домашнее задание
💻 “Эксперименты дома”
Основное задание:
Показать программу родителям
- Продемонстрировать мигающий светодиод
- Объяснить, как это работает
- Рассказать о структуре программы
Эксперименты с кодом
- Изменить время мигания (попробовать разные значения delay)
- Создать свой уникальный ритм
- Добавить личные сообщения в Serial Monitor
Дневник программиста
📔 МОЙ ДНЕВНИК ПРОГРАММИСТА - УРОК 5
📅 Дата: ___________
🎯 Цель урока: Написать первую программу для ESP32
✅ ЧТО УДАЛОСЬ:
- Установка Arduino IDE: □ Легко □ Средне □ Сложно
- Написание кода: □ Легко □ Средне □ Сложно
- Загрузка программы: □ Легко □ Средне □ Сложно
📝 МОЯ ПЕРВАЯ ПРОГРАММА:
Что она делает: _________________________
Какой ритм мигания: ____________________
Мои сообщения в коде: __________________
💭 ИДЕИ ДЛЯ УЛУЧШЕНИЯ:
1. _____________________________________
2. _____________________________________
3. _____________________________________
🚀 ПЛАНЫ НА СЛЕДУЮЩИЙ УРОК:
Хочу научиться: ________________________
🔬 Исследовательское задание (для увлеченных):
- Найти в интернете примеры других простых программ для ESP32
- Изучить команды для работы с другими пинами
- Подготовить вопросы о том, что непонятно
🎨 Творческое задание:
- Нарисовать схему того, как программа “путешествует” от компьютера к ESP32
- Создать комикс “Приключения моей первой программы”
📊 Критерии оценивания
“Отлично” (5):
- Самостоятельно установил и настроил Arduino IDE
- Написал программу без ошибок
- Успешно загрузил программу в ESP32
- Понимает структуру setup() и loop()
- Творчески модифицировал базовую программу
- Может объяснить принцип работы одноклассникам
- Демонстрирует понимание основ программирования
“Хорошо” (4):
- Установил Arduino IDE с небольшой помощью
- Написал программу с 1-2 мелкими ошибками
- Загрузил программу в ESP32
- Понимает основы структуры программы
- Внес простые изменения в код
“Удовлетворительно” (3):
- Установил Arduino IDE с помощью учителя
- Написал программу по образцу
- С помощью загрузил программу в ESP32
- Имеет общее представление о структуре программы
🛠️ Материалы и оборудование
Для каждого ученика:
- Компьютер с Windows/Mac/Linux
- ESP32 DevKit плата
- USB кабель (Micro-USB или USB-C)
- Доступ к интернету для скачивания Arduino IDE
Программное обеспечение:
- Arduino IDE (версия 2.x.x)
- Драйверы для ESP32 (обычно устанавливаются автоматически)
- Board support package для ESP32
Для учителя:
- Проектор для демонстрации
- Компьютер с настроенной Arduino IDE
- Запасные USB кабели
- ESP32 платы для демонстраций
Дополнительные материалы:
- Памятки по основным командам Arduino
- Шпаргалки по структуре программы
- Примеры кода для вдохновения
🔍 Методические заметки для учителя
Ключевые моменты урока:
- Пошаговость установки - каждый шаг должен быть четко продемонстрирован
- Понимание структуры - важно донести концепцию setup/loop через аналогии
- Культура программирования - аккуратность кода, комментарии, именование
- Отладка - научить не бояться ошибок, а искать и исправлять их
Возможные сложности:
Проблема: Различные операционные системы у учеников Решение: Подготовить инструкции для Windows/Mac/Linux, назначить помощников
Проблема: Медленный интернет для скачивания Arduino IDE Решение: Предварительно скачать установщики на флешки
Проблема: Страх детей перед программированием Решение: Подчеркивать простоту, использовать игровые аналогии
Проблема: Разная скорость работы учеников Решение: Подготовить дополнительные задания для быстрых, помощников для медленных
Дифференциация обучения:
Для быстро усваивающих:
- Дополнительные команды (analogWrite, различные пины)
- Эксперименты с более сложными ритмами
- Помощь одноклассникам
Для испытывающих трудности:
- Упрощенная версия программы
- Больше времени на каждый этап
- Работа в паре с сильным учеником
Для разных типов восприятия:
- Визуалы: схемы, диаграммы потока программы
- Аудиалы: озвучивание каждого действия
- Кинестетики: физическое взаимодействие с оборудованием
Связь с предыдущими уроками:
- Использование знаний об архитектуре ESP32
- Применение навыков безопасной работы с оборудованием
- Развитие технической грамотности
Подготовка к следующему уроку:
- Навыки программирования понадобятся для работы с датчиками
- Понимание структуры программы - основа для более сложных проектов
- Опыт отладки поможет в решении технических проблем
Техническая подготовка:
- Проверить работу Arduino IDE на всех компьютерах
- Убедиться в наличии интернета
- Подготовить резервные варианты для офлайн установки
- Проверить все USB кабели и ESP32 платы
