Содержание

Эксперимент 1. Маячок

Оглавление | Маячок с нарастающей яркостью →

В этом эксперименте мы просто мигаем светодиодом.

Видеоурок

Прочтите перед выполнением

Список деталей для эксперимента

Принципиальная схема

Схема на макетке

Обратите внимание

Скетч

p010_blink.ino
void setup()
{
  // настраиваем пин №13 в режим выхода,
  // т.е. в режим источника напряжения
  pinMode(13, OUTPUT);
}
 
void loop()
{
  // подаём на пин 13 «высокий сигнал» (англ. «high»), т.е.
  // выдаём 5 вольт. Через светодиод побежит ток.
  // Это заставит его светиться
  digitalWrite(13, HIGH);
 
  // задерживаем (англ. «delay») микроконтроллер в этом
  // состоянии на 100 миллисекунд
  delay(100);
 
  // подаём на пин 13 «низкий сигнал» (англ. «low»), т.е.
  // выдаём 0 вольт или, точнее, приравниваем пин 13 к земле.
  // В результате светодиод погаснет
  digitalWrite(13, LOW);
 
  // замираем в этом состоянии на 900 миллисекунд
  delay(900);
 
  // после «размораживания» loop сразу же начнёт исполняться
  // вновь, и со стороны это будет выглядеть так, будто
  // светодиод мигает раз в 100 мс + 900 мс = 1000 мс = 1 сек
}

Пояснения к коду

void setup()
{
}

Вопросы для проверки себя

  1. Что будет, если подключить к земле анод светодиода вместо катода?
  2. Что будет, если подключить светодиод с резистором большого номинала (например, 10 кОм)?
  3. Что будет, если подключить светодиод без резистора?
  4. Зачем нужна встроенная функция pinMode? Какие параметры она принимает?
  5. Зачем нужна встроенная функция digitalWrite? Какие параметры она принимает?
  6. С помощью какой встроенной функции можно заставить микроконтроллер ничего не делать?
  7. В каких единицах задается длительность паузы для этой функции?

Задания для самостоятельного решения

  1. Сделайте так, чтобы маячок светился полсекунды, а пауза между вспышками была равна одной секунде
  2. Измените код примера так, чтобы маячок включался на три секунды после запуска устройства, а затем мигал в стандартном режиме

Оглавление | Маячок с нарастающей яркостью →