Очень хорошим чувством «робота» является способность распознавать свет/тень. В этом как раз и может помочь фоторезистор.
Фоторезистор (англ. Light Dependent Resistor или сокращённо LDR) изменяет своё сопротивление в зависимости от силы света, попадающего на его керамическую «змейку»
Использование фоторезистора в конструкциях на микроконтроллере удобно осуществить с помощью резисторного делителя напряжения.
Для него мы ранее вывели ряд уравнений и пропорций
Если вместо R2 использовать не постоянный резистор, а датчик, который меняет своё сопротивление, Vout будет зависеть от измеряемого значения.
Один из вариантов изображения фоторезистора («американский», в нашем отечестве надо рисовать прямоугольник 🙂 )
Управление пьезоизлучателем с помощью фоторезистора
На схеме видим датчик — фоторезистор, включенный в «верхнее плечо» резисторного делителя (вместе с R1). Такое включение позволяет получить рост напряжения на А5 Arduino при увеличении освещенности. Помним, что сопротивление фоторезистора падает с ростом освещенности. В качестве «исполнительного устройства» в схеме «пищалка», подключение которой рассмотрено ранее.
int x; void setup() { } void loop() { x = analogRead(A5); tone(3, x * 4); delay(200); }
Простейший скетч делает следующее: считываем данные с АЦП по входу А5 (они у нас могут быть в диапазоне от 0 до 1023). Чтоб расширить частотный диапазон звука — множим считанное значение на 4 (получаем расширение частоты до 4КГц). И выводим функцией tone() на вывод, где подключен пьезоизлучатель.
Таким образом в темноте будет низкий тон, при ярком освещении — высокий. Получился некий «фототерменвокс», на котором можно попробовать «сыграть» какую-нибудь мелодию.
По материалам курса робототехники.
