Перейти к содержимому
robotips

Этап 2 из 6, недели 3 и 4

Микроконтроллеры, Arduino и ESP32

Ваша цель: Написать код, который считывает данные из мира и управляет выходом: сначала на Arduino, потом на ESP32.

Здесь вы начинаете управлять схемой с помощью кода. На этом этапе полезнее всего видеть, какая строка управляет каким пином.

Lab этого этапа

Изометрический рисунок синего Arduino UNO, соединённого двумя проводами с макетной платой, на которой стоят красный LED и резистор на 220 Ω.

Lab 00

Blink: ваша первая программа

Первая программа для Arduino изнутри: пин 13 переключается между 5 V и 0 V, и от этого LED включается и выключается.

Что изучить

  1. 1Первый blink и как считывать кнопку
  2. 2PWM: управление яркостью и скоростью
  3. 3Последовательный порт, чтобы видеть, что происходит внутри платы
  4. 4Распиновка ESP32-S3 и почему в ESP32 есть Wi-Fi и Bluetooth
  5. 5Чтение прошивки строка за строкой

Слово незнакомо? Поищите его в глоссарии.

Типичная ошибка

Использовать delay() везде. delay() останавливает весь цикл: пока он ждёт, программа не читает ни один датчик. Чтобы ждать без блокировки, используйте millis().

Всё понятно?

Вопрос 1 из 3

Что делает digitalWrite(13, HIGH) на Arduino Uno?

Практика

В симуляторе Arduino напишите программу, которая считывает потенциометр, меняет яркость LED с помощью PWM и выводит значение через последовательный порт. Сначала на Arduino Uno, потом перенесите на ESP32. Обратите внимание на диапазон, который выводит каждая плата: Uno читает от 0 до 1023, а ESP32 от 0 до 4095. Выясните причину, прежде чем двигаться дальше.