Использование цикла While для калибровки аналогового сенсора

1 апреля 2018

Иногда вы хотите, чтобы все в программе остановилось, пока выполняемое условие верно. Вы можете сделать это, используя цикл «While». Этот пример показывает, как использовать цикл while, чтобы калибровать значение аналогового сенсора.

В главном цикле, скетч ниже читает значение фоторезистора на аналоговом пине A0 и использует его, чтобы погасить светодиод на пине D9. Но в то время как кнопка, подключенная к цифровому пину D2, нажата, программа запускает метод, который называется calibrate(), который ищет самые высокие и самые низкие значения аналогового сенсора. Когда вы отпускаете кнопку, скетч продолжает с главным циклом. 

Эта техника позволяет вам обновлять максимальные и минимальные значения для фоторезистора, когда условия освещения изменяются.

Необходимые аппаратные средства

  1. 1 шт. Плата Arduino
  2. 1 шт. Тактовая кнопка
  3. 1 шт. Фотоэлемент или датчик света
  4. 2 шт. Резисторы на 10 КОм
  5. 1 шт. Макетная плата

Цепь

Соедините ваш аналоговый датчик (например, потенциометр, светочувствительный датчик) с аналоговым входом 2 с 10 КОм резистором, для заземления. Подключите вашу кнопку к цифровому пину, снова с 10 КОм резистором, чтобы заземлить. Соедините ваш светодиод с цифровым пином 9, с резистором на 220 Ом, последовательно.

Схема