Тема урока: Программирование Arduino: управление светодиодами

Цель:

  • Научить детей основам программирования Arduino для управления светодиодами.
  • Создать программу, которая зажигает лампочку, затем заставляет ее моргать, и в конце добавляет вторую лампочку, которая будет моргать асинхронно с первой.

Ход урока:

1. Введение

  • Объяснить учащимся, что такое Arduino и как его можно использовать для управления различными устройствами.
  • Рассказать о платформе Wokwi.com, где они будут программировать Arduino виртуально.
  • Обсудить, как работают светодиоды, и зачем необходимы резисторы для их защиты.

2. Подключение первой лампочки

  • Объяснить схему подключения первого светодиода к Arduino:
  • Катод (короткая ножка) подключен к GND.
  • Анод (длинная ножка) подключен через резистор к цифровому пину 13.
  • Пример программы для зажигания светодиода:
  void setup() {
    pinMode(13, OUTPUT); // Устанавливаем пин 13 как выход
  }

  void loop() {
    digitalWrite(13, HIGH); // Включаем светодиод
  }
  • Обсудить код и его смысл, акцентировав внимание на функциях setup() и loop().

3. Лампочка моргает

  • Объяснить, как заставить светодиод моргать.
  • Добавить в код паузу с помощью функции delay(). Пример программы для мигания светодиода:
  void setup() {
    pinMode(13, OUTPUT);
  }

  void loop() {
    digitalWrite(13, HIGH); // Включаем светодиод
    delay(1000); // Ждем 1 секунду
    digitalWrite(13, LOW);  // Выключаем светодиод
    delay(1000); // Ждем 1 секунду
  }
  • Запустить код в эмуляторе Wokwi и обсудить, как работает функция delay().

4. Подключение второй лампочки

  • Подключить второй светодиод к пину 12.
  • Катод второго светодиода также подключается к GND.
  • Анод второго светодиода через резистор подключается к пину 12.
  • Изменить программу так, чтобы второй светодиод моргал асинхронно с первым. Пример программы для асинхронного моргания:
  void setup() {
    pinMode(13, OUTPUT);
    pinMode(12, OUTPUT);
  }

  void loop() {
    digitalWrite(13, HIGH);  // Включаем первый светодиод
    delay(1000);             // Ждем 1 секунду
    digitalWrite(13, LOW);   // Выключаем первый светодиод

    digitalWrite(12, HIGH);  // Включаем второй светодиод
    delay(500);              // Ждем 0.5 секунды
    digitalWrite(12, LOW);   // Выключаем второй светодиод
    delay(500);              // Ждем 0.5 секунды
  }
  • Запустить код и посмотреть, как оба светодиода работают асинхронно.