Управляемый Arduino датчик освещенности

Добавлено 17 октября 2017 в 23:14

Мониторинг состояния светочувствительного резистора, или фоторезистора, позволяет Arduino знать, насколько сейчас светло или темно. Когда освещенность падает ниже определенного уровня, Arduino зажигает пару светодиодов.

Светочувствительный резистор, или фоторезистор, – это датчик, сопротивление которого уменьшается по мере увеличения количества падающего на него света. Когда темно, сопротивление фоторезистора может достигать нескольких МОм. Однако, когда светло, сопротивление фоторезистора может быть столь же низким, до нескольких сотен Ом.

В данном эксперименте мы подключим фоторезистор к аналоговому входу Arduino и прочитаем значение с помощью функции analogRead(). В зависимости от значения, которое прочитает Arduino, программа затем установит на выводе 3 высокий или низкий логический уровень, чтобы включить или выключить светодиоды ночника. Пороговое значение равно 150. Когда показание аналогового значения меньше 150, Arduino включит светодиоды. Когда показание аналогового значения больше 150, Arduino выключит светодиоды.

Необходимые комплектующие

  • 1 x фоторезистор;
  • 2 x светодиод;
  • 2 x резистор 470 Ом;
  • 1 x резистор 1 кОм;
  • 1 x Arduino Mega2560;
  • 1 x макетная плата;
  • перемычки.

Схема соединений

Подключите компоненты, как показано на рисунке ниже. Подключите светодиоды к выводу 3 платы Arduino. Два резистора 470 Ом – токоограничивающие резисторы. Один вывод фоторезистора подключен к шине +5V, а другой – к одному из выводов резистора 1 кОм. Второй вывод резистора 1 кОм соединен с землей GND. Это образует делитель напряжения, выход которого соединен с выводом A1 платы Arduino. По мере того, как свет, падающий на фоторезистор, становится сильнее, сопротивление фоторезистора уменьшается, а напряжение на выходе делителя увеличивается. Когда падающий свет становится слабее, происходит обратное.

Схема соединений датчика освещенности на Arduino
Схема соединений датчика освещенности на Arduino

Ниже показан собранный макет датчика освещенности.

Макет датчика освещенности на Arduino
Макет датчика освещенности на Arduino

Сборка

  1. Подключите один из двух выводов фоторезистора к линии +5V, а второй к линии GND через резистор 1 кОм.
  2. Подключите один конец перемычки в аналоговому выводу A1, а второй – к точке соединения фоторезистора и резистора 1 кОм.
  3. Подключите два светодиода параллельно, каждый через резистор 470 Ом, отрицательным выводом (катодом) на землю, как показано на схеме выше.
  4. Подключите вывод 3 к положительным выводам (анодам) светодиодов через резисторы 470 Ом.
  5. Подключите линию земли на макетной плате к выводу GND платы Arduino.
  6. Подключите плату Arduino с помощью USB кабеля к компьютеру и загрузите программу с помощью Arduino IDE.
  7. Подайте питание на плату Arduino, используя источник питания, батарею или USB кабель.

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

Код

const int led=3; // переменная, которая хранит номер вывода

void setup() 
{
  pinMode(led, OUTPUT);  // настраивает вывод 3 на выход
}

void loop() 
{
  int sensor_value = analogRead(A0);
  if (sensor_value < 150)     // точка, в которой меняется состояние светодиодов 
  { 
    digitalWrite(led, HIGH);  // зажечь светодиоды
  }
  else
  {
    digitalWrite(led,LOW);    // погасить светодиоды
  }
}

Видео


На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.


Сообщить об ошибке