Урок 6. arduino и фоторезистор

Простой пример использования фоторезистора

В этом скетче берутся считываемые аналоговые значения для определения яркости светодиода. Чем темнее будет, тем ярче будет светить светодиод! Не забудьте, что светодиод должен быть подключен к ШИМ контакту для работы данного примера. В данном случае используется контакт 11.

Этот пример предполагает, что вы знакомы с основами программирования Arduino.

/* простой проверочный скетч для фоторезистора.

Подключите одну ногу фоторезистора к 5 В, вторую к аналоговому пину Analog 0.

После этого подключите резистор на 10 кОм между Analog 0 и землей.

Через резистор подключите светодиод между 11 пином и землей. */

int photocellPin = 0; // сенсор и понижающий резистор 10 кОм подключены к a0

int photocellReading; // считываем аналоговые значения с делителя сенсора

int LEDpin = 11; // подключаем красный светодиод к пину 11 (ШИМ пин)

// информацию для дебагинга мы будем отправлять на серийный монитор

Serial.println(photocellReading); // аналоговые значения с сенсора

// светодиод горит ярче, если уровень освещенности на датчике уменьшается

// это значит, что мы должны инвертировать считываемые значения от 0-1023 к 1023-0

//теперь мы должны преобразовать диапазон 0-1023 в 0-255, так как именно такой диапазон использует analogWrite

LEDbrightness = map(photocellReading, 0, 1023, 0, 255);

Можете попробовать другие резисторы в зависимости от уровня освещенности, который вы хотите измерять!

KY-013, аналоговый термодатчик

Модуль аналогового термодатчика

 Такой же терморезистор стоит от 3 р, в составе модуля- от 50 р
 За таким красивым названием кроется обыкновенный терморезистор! Опять же практически любые датчики изначально являются АНАЛОГЫВЫМИ. Только после соответствующей обработки сигнала они уже становятся ЦИФРОВЫМИ. Но в нашем случае изначально аналоговый датчик. Поэтому подключать его нужно к АНАЛОГОВЫМ входам ARDUINO. Диапазон рабочей температуры датчика -55…125 °C, т.е. на 1 бит 10 битного преобразования приходится (125+55)/1024= 0,17578125 градуса Цельсия ,что позволяет довольно точно измерять температуру. Кроме того датчик имеет малые размеры что позволяет снизить инерционность при измерении. Т.е. чем меньше датчик тем меньше нужно времени для достижения им температуры окружающей среды. Применяется, как и понятно из описания, для измерения температуры.

Описание

В комплекте – набор 37 датчиков и других устройств, выполненных в виде модулей на небольших печатных платах.

Платы имеют штыревые контакты для удобного подключения к другим устройствам с помощью переходников (в основном модули 3-х контактные).

Модули хорошо стыкуются с платами “Arduino”. Сенсоры из этого набора можно использовать для изучения электроники и программирования, а также встраивать в различные бытовые устройства умного дома. Набор датчиков подойдет и начинающим и опытным любителям электроники и автоматизации дома.


Комплект датчиков 37 в 1 для Arduino поставляется в удобной коробке

Инструкции, назначение и варианты использования каждого сенсора, можно найти по ссылкам ниже.

Как работает датчик освещенности?

Основным элементом датчика являются фоторезисторы, фототранзисторы и фотодиоды.

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

Когда свет попадает на фоторезистор, он меняет сопротивление, чем больше света тем меньше сопротивление и больше падение напряжения на нем. При увеличении падения напряжения транзистор открывается, срабатывает реле. Порог срабатывания реле можно отрегулировать при помощи переменного резистора 50 кОм.

Различаются фоторезисторы по диапазону сопротивления. Например:

  • VT83N1 — 12-100кОм;
  • VT93N2 — 48-500кОм.

Это значит, что в темноте сопротивления фоторезистора равно 12кОм, а при определенной тестовой засветке — 100кОм. Конкретно в случае этих светодиодов, тестовая засветка имела параметры: освещенность -10 Люкс, и цветовая теплота — 2856К.

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

Подключение

Датчик света будет правильно работать в системе Ардуино только при правильном подключении. Для того чтобы выполнить эту работу самостоятельно необходимо подготовить:

  • Датчик освещенности для системы Ардуино.
  • Плату Ардуино (Nano, Uno, Mega).
  • Любой подходящий по напряжению светодиод.
  • Беспаечную плату-макет.
  • Провода для подключения.

Когда все необходимое будет приготовлено необходимо соединить выход 5v платы Ардуино с соответствующим разъемом устройства. Затем подключается аналогичным образом «земля» (контакт GND). Выход S датчика соединяется с pin2 основной платы.

Если элемент был правильно подключен, то при изменении освещенности электрическое напряжение на выходе S будет изменяться в пределах от 0 до 5 Вольт. Цифровой датчик, в свою очередь, будет преобразовывать этот показатель в диапазон значений от 0 до 1024, для дальнейшего вывода к устройствам отображения информации.

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

KY-008, модуль лазерного светодиода

Модуль лазерного диода

 Можно заменить на лазерный диод за 20 р  и последовательно поставить токоограничивающий резистор, на Али удовольствие стоит  от 50 р
 Модуль аналогичен KY-005, только в роли излучающего элемента выступает 3 мВт лазерный светодиод. Можно использовать для передачи данных на дальние расстояния (лазер все таки, имеет довольно узкий луч, который имеет больший световой поток при одинаковой мощности инфракрасных и лазерных диодов), если использовать зеркала  то можно построить довольно объемную охранную сигнализацию помещения. Единственный недостаток в ней будет заключаться в юстировке зеркал.

Как подключить фоторезистор к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • 1 фоторезистор;
  • 1 светодиод;
  • 2 резистора 220 Ом;
  • провода «папа-папа».

На этом занятии мы соберем электрическую схему «умного» светильника. Если на предыдущем занятии мы с помощью потенциометра включали и изменяли яркость светодиода, то сегодня мы будем использовать фоторезистор в схеме для автоматического включения светодиода. Фоторезистор будет играть роль переменного сопротивления, которое изменяет напряжение на аналоговом входе A0.


Схема сборки светильника с фоторезистором на Ардуино

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

Скетч. Светильник с автоматическим включением

// Присваиваем имя для аналогового входа A0 с фоторезистором
#define SENSOR A0
// Присваиваем имя для порта 9 со светодиодом
#define LED 9

// Присваиваем имя для цифрового значения аналогового входа A0
// unsigned int округляет значения и принимает только положительные числа
unsigned int value = 0;
 
void setup() {
  // Пин 9 со светодиодом будет выходом (англ. «output»)
  pinMode(LED, OUTPUT);
  // Пин A0 с фоторезистором будет входом (англ. «input»)
  pinMode(SENSOR, INPUT);
}
 
void loop() {
  // Считываем значение с фоторезистора на аналоговом входе A0
  value = analogRead(SENSOR);
  
  // Если значение value на входе A0 меньше 500, включаем светодиод
  if (value<500) digitalWrite(LED, HIGH);

  // В противном случае (если value>500), выключаем светодиод 
  if (value>500) digitalWrite(LED, LOW);
}

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

  1. для удобства, в первой строчке программы мы присвоили имя для аналогового входа A0 с помощью функции ;
  2. оператор указывает, что значение может принимать только положительное целое число, а начальное значение равно нулю;
  3. условный оператор позволяет определить действие при истинном условии. Оператор позволяет определить действие, когда истинное условие ложно.

Скетч. Умный светильник на Ардуино

// Присваиваем имя для аналогового входа A0 с фоторезистором
#define SENSOR A0
// Присваиваем имя для порта 9 со светодиодом
#define LED 9

// Присваиваем имя для цифрового значения аналогового входа A0
// unsigned int округляет значения и принимает только положительные числа
unsigned int value = 0;

// Назначаем переменную data, которую будем использовать в скетче
int data;
 
void setup() {
  // Пин 9 со светодиодом будет выходом (англ. «output»)
  pinMode(LED, OUTPUT);
  // Пин A0 с фоторезистором будет входом (англ. «input»)
  pinMode(SENSOR, INPUT);
}
 
void loop() {
  // Считываем значение с фоторезистора на аналоговом входе A0
  value = analogRead(SENSOR);
  
  // Полученные значения на аналоговом входе A0 делим на 4
  data = value / 4;
  
  // Включаем светодиод с полученной ранее мощностью - от 0 до 255
  analogWrite(LED, data);
}

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

  1. в этом скетче мы добавили переменную , которая равна деленная на 4;
  2. пин 9 мы использовали, как аналоговый выход, который плавно изменяет яркость свечение светодиода в зависимости от значения .

Символ фоторезистора на схеме

Символ американского стандарта и символ международного фоторезистора показаны на рисунке ниже.

Чувствительность фоторезистора

Фотрезисторы имеют более низкую чувствительность, чем фотодиоды и фототранзисторы. Фотодиоды и фототранзисторы — полупроводниковые устройства, в которых используется свет для управления потоком электронов и дырок через PN-переход, а фоторезисторы лишеные этого PN-перехода.

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

ТИПОВЫЕ ОБОЗНАЧЕНИЯ ФОТОРЕЗИСТОРОВ

Вид фоторезисторов Старое обозначение Новое обозначение
Сернисто-свинцовые ФСА-0, ФСА-1, ФСА-6, ФСА-Г1, ФСА-Г2
Сернисто-кадмиевые ФСК-0, 1, 2, 4, 5, 6, 7, ФСК-Г1, ФСК-Г2, ФС’Р;-Г7, ФСК-П1 СФ2-1, 2, 4, 9, 12
Селенисто-кадмиевые ФСД-0, ФСД-1, ФСД-Г1 СФ3-1, 8

 Чувствительность фоторезисторов меняется (уменьшается) в первые 50 часов работы, оставаясь в дальнейшем практически постоянной в течение всего срока службы, измеряемого несколькими тысячами часов. Интервал рабочих температур для сернисто-кадмиевых фоторезисторов составляет от -60 до +85°С для селенисто-кадмиевых — от -60 до +40°С и для сернисто-свинцовых — от -60 до +70°С.

Фотореле на микросхеме КР1564ТЛ2

Предлагаемая схема (рис. 1), как нам представляется, оригинальна. В качестве фотодатчика служит распространенный фоторезистор СФЗ-1.

Рис.1. Принципиальная схема фотореле на фоторезисторе.

Он преобразует световой сигнал, улавливаемый чувствительной поверхностью, в электрические колебания, которые затем поступают на вход порогового детектора на одном элементе микросхемы D1.1 типа КР1564ТЛ2.

Эта микросхема состоит из шести однотипных элементов-логических инверторов с триггерами Шмитта. На втором элементе D1.2 реализована схема задержки времени включения нагрузки.

Чувствительность схемы (порог переключения триггера Шмитта) плавно регулируется переменным резистором R1, который совместно с фотодатчиком образует делитель постоянного напряжения. Желательно применить многооборотистый прибор, типа СП5-1.

Когда темно-инвертирующий выход D1.1 (выв. 2) в состоянии высокого логического уровня (лог. 1) и конденсатор С2 быстро разряжается через резистор R4, благодаря диоду VD1. Когда освещение попадает на фоторезистор PR, — на выв. 2 элемента лог. 0.

Далее сигнал поступает на схему временной задержки. В результате зарядки конденсатора С2 через резистор R3 до напряжения порога срабатывания элемента D1.2 выдержка времени существенно может изменяться в зависимости от номиналов С2 и R3 от нескольких секунд до минут.

Зарядившись, конденсатор С2 перебрасывает триггер в другое устойчивое состояние, и на выходе D1.2 (выв. 4) оказывается высокий логический уровень (лог. 1). Транзистор VT1 открывается, на реле К1 поступает напряжение питания и реле коммутирует нагрузку. Диод VD2 препятствует броскам обратного тока при включении/выключении реле.

Схема очень проста и не требует настройки, кроме установки резистором R1 порога срабатывания триггера в зависимости от освещенности конкретного объекта.

Транзистор VT1 можно заменить на КТ312(А“В), КТбОЗ(А-Б), КТ608Б, КТ801(А, Б). К1 -маломощное реле РЭС15, паспорт (003), или аналогичное, на напряжение срабатывания сообразно напряжению питания схемы.

Питание схемы некритично и осуществляется от любого стабилизированного блока питания с выходным напряжением 9…14 В. Ток, потребляемый схемой от источника питания в пассивном режиме (фоторезистор не освещается), не превышает 2…3 мА. При включении реле, ток увеличивается до 20 мА.

Step 4: Build a Physical Arduino Circuit (optional)

To program your physical Arduino Uno, you’ll need to install the free software (or plugin for the web editor), then open it up. Various photocells have different values, so if your physical circuit is not working, you may need to change the resistor that is paired with it. Learn more about voltage dividers in the Instructables Electronics Class lesson on resistors.

Wire up the Arduino Uno circuit by plugging in components and wires to match the connections shown here in Tinkercad Circuits. For a more in-depth walk-through on working with your physical Arduino Uno board, check out the free Instructables Arduino class.

Copy the code from the Tinkercad Circuits code window and paste it into an empty sketch in your Arduino software, or click the download button (downward facing arrow) and open
the resulting file using Arduino.You can also find this example in the Arduino software by navigating to File -> Examples -> 03.Analog -> AnalogInOutSerial.

Plug in your USB cable and select your board and port in the software’s Tools menu.

Upload the code and use your hand to cover the sensor from receiving light, and/or shine a light on your sensor!

Open the serial monitor to observe your sensor values. It’s likely that real world values will not extend all the way to 0 or all the way to 1023, depending on your lighting conditions. Feel free to adjust the 0-1023 range to your observed minimum and observed maximum in order to get the maximum brightness expression range on the LED.

Мигание светодиода после нажатия на кнопку

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

Полная схема проекта изображена на рисунке:

Фрагмент схемы со светодиодом уже хорошо нам знаком. Мы собрали обычный маячок со светодиодом и ограничительным резистором. А вот во второй части мы видим знакомую нам кнопку и еще один резистор. Пока не будем вдаваться в подробности, просто соберем схему и закачаем в ардуино простой скетч. Все элементы схемы  идут в самых простых стартовых наборах ардуино.

/*
  Скетч для схемы с использованием тактовой кнопки и светодиода
  Светодиод мигает, пока нажата кнопка.
  Кнопка подтянута к земле, нажатию соответствует HIGH на входе
*/

const int PIN_BUTTON = 2;
const int PIN_LED = 13;

void setup() {
  Serial.begin(9600);
  pinMode(PIN_LED, OUTPUT);
}

void loop() {
  // Получаем состояние кнопки
  int buttonState = digitalRead(PIN_BUTTON);
  Serial.println(buttonState);
  // Если кнопка не нажата, то ничего не делаем
  if (!buttonState) {
    delay(50);
    return;
  }

  // Этот блок кода будет выполняться, если кнопка нажата
  // Мигаем светодиодом
  digitalWrite(PIN_LED, HIGH);
  delay(1000);
  digitalWrite(PIN_LED, LOW);
  delay(1000);
}

Нажимаем и держим – светодиод мигает. Отпускаем – он гаснет. Именно то , что хотели. Хлопаем от радости в ладоши и приступаем к анализу того, что сделали.

Давайте посмотрим на скетч. В нем мы видим довольно простую логику.

  1. Определяем, нажата ли кнопка.
  2. Если кнопка не нажата, то просто выходим из метода loop, ничего не включая и не меняя.
  3. Если кнопка нажата, то выполняем мигание, используя фрагмент стандартного скетча:
    1. Включаем светодиод, подавая напряжение на нужный порт
    2. Делаем нужную паузу при включенном светодиоде
    3. Выключаем светодиод
    4. Делаем нужную паузу при выключенном светодиоде

Логика поведения кнопки в скетче может зависеть от способа подключения с подтягивающим резистором. Об этом мы поговорим в следующей статье.

Что такое фотодиод?

Фотодиод — это полупроводниковый диод, у которого ток зависит от освещенности. Обычно под этим током подразумевают обратный ток фотодиода, потому что его зависимость от освещенности выражена на порядки сильнее, чем прямого тока. В дальнейшем мы будем говорить именно про обратный ток. В общем случае фотодиод представляет собой p-n переход, открытый для светового излучения. Под воздействием света в области p-n перехода генерируются носители заряда (электроны и дырки), которые проходят через него и вызывают напряжение на выводах фотодиода или протекание тока в замкнутой цепи. Фотодиод, в зависимости от его материала, предназначен для регистрации светового потока в инфракрасном, оптическом и ультрафиолетовом диапазоне длин волн. Фотодиоды изготавливают из кремния, германия, арсенида галлия, арсенида галлия индия и других материалов. Фотодиоды широко используются в системах управления, метрологии, робототехнике и других областях. Также они используются в составе других компонентов, например, оптопар, оптореле. Применительно к микроконтроллерам, фотодиоды находят применение в качестве различных датчиков — концевых датчиков, датчиков освещенности, расстояния, пульса и т.д.

Область применения

В современном мире область применения этих радиодеталей значительно расширена.

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

  1. Системы автоматических выключателей света.
  2. Счетные устройства.
  3. Датчики обрыва полотна или бумаги.
  4. Датчики проникновения.
  5. В приборах оснащенных экспонометрами. Например, такие элементы могли использоваться в типовых фотоаппаратах-мыльницах.

Сами по себе они только элемент сложных фотоприёмных устройств, в которых помимо фотодетектора может быть входить:

  • интегральный усилитель;
  • микросхема, отвечающая за автоматическую регулировку освещения;
  • схемы цепей питания, дополненные системой охлаждения на элементах Пельтье.

Всё это многообразие элементов для фотодекторов, заключается в небольшой герметичный корпус.

Если эти приборы работают в ИК-диапазоне, их область применения немного другая. Они используются как часть сложных устройств, таких как:

  • датчики обнаружения пламени;
  • системы бесконтактного измерения температуры;
  • системы отслеживания уровня влажности;
  • применяются для обнаружения углекислых газов;
  • в приборах инфракрасных анализаторах газов;
  • используется в датчиках обрыва бумажной ленты в типографии или в бумажной промышленности;
  • в промышленной электронике подключение фоторезистора может применяться для автоматического подсчета изделий, которые двигаются по транспортерной ленте.

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

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

Автоматика уличного освещения

Автоматы, включающие уличное освещение, способны обнаружить наличие/отсутствие солнечного света.

Вот типичная схема реализации подключения фоторезистора для автоматической активации ночного осветительного прибора.

В общих чертах принцип действия схемы.

С наступлением сумерек и в ночное время сопротивление LDR повышается, что вызывает понижение напряжения на переменном резисторе R2. Транзистор VT1 закрыт, а VT2 открывается и таким образом подается напряжение на реле включающее лампу.

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

Эта электронная деталь помогает отследить степень освещенности окружающей среды.

Датчики наличия других условий

В полиграфической промышленности конструкции на специальном фоторезисторе отслеживают обрыв бумажного рулона. Так же с их помощью можно вести подсчет бумажных листов на конвейере.

Подключение фоторезистора к ардуино

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

Самодельный модуль дает возможность держать под контролем уровень освещенности и прореагировать на его изменение.

Имея на руках такую плату Arduino, легко реализовать такие проекты как:

  • датчик освещения;
  • для включения/выключения реле;
  • запускает двигатели и так далее.

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

Step 3: Photoresistor Arduino Code Explained

When the code editor is open, you can click the dropdown menu on the left and select «Blocks + Text» to reveal the Arduino code generated by the code blocks. Follow along as we explore the code in more detail.

int sensorValue = 0;

Before the , we create a variable to store the current value read from the potentiometer. It’s called because it’s an integer, or any whole number.

void setup()
{
  pinMode(A0, INPUT);
  pinMode(9, OUTPUT);
  Serial.begin(9600);
}

Inside the setup, pins are configured using the function. Pin A0 is configured as an input, so we can «listen» to the electrical state of the potentiometer. Pin 9 is configured as an output to control the LED. To be able to send messages, the Arduino opens a new serial communication channel with , which takes a baud rate argument (what speed to communicate), in this case 9600 bits per second.

void loop()
{
  // read the value from the sensor
  sensorValue = analogRead(A0);
  // print the sensor reading so you know its range
  Serial.println(sensorValue);

Anything after a set of slashes is a comment, which helps folks understand in plain language what the program is intended to do, but is not included in the program your Arduino runs. In the main loop, a function called checks the state of pin A0 (which will be a whole number from 0-1023), and stores that value in the variable .

  // map the sensor reading to a range for the LED
  analogWrite(9, map(sensorValue, 0, 1023, 0, 255));
  delay(100); // Wait for 100 millisecond(s)
}

The line following the next comment is doing a lot at once. Remember takes two arguments, the pin number (9 in our case), and the value to write, which should be between 0 and 255. The inline function takes five arguments: the number to evaluate (the ever-changing sensor variable), the expected minimum and expected maximum, and the desired min and max. So the function in our case is evaluating the incoming sensorValue, and doing some cross multiplication to scale the output down from 0-1023 to 0-255. The result is returned into the second argument of , setting the brightness of the LED connected to pin 9.

Заключение

Проекты с применением датчика освещенности на базе фоторезистора достаточно просты и эффектны. Вы можете реализовать множество интересных проектов, при этом стоимость оборудования будет не высока. Подключение фоторезистора осуществляется по схеме делителя напряжения с дополнительным сопротивлением. Датчик подключается к аналоговому порту для измерения различных значений уровня освещенности или к цифровому, если нам важен лишь факт наступления темноты. В скетче мы просто считываем данные с аналогового (или цифрового) порта и принимаем решение, как реагировать на изменения. Будем надеяться, что теперь в ваших проектах появятся и такие вот простейшие «глаза».

Датчик света — это прибор, который позволяет нашему устройству оценивать уровень освещенности. Для чего нужен такой датчик? Например, для системы уличного освещения, чтобы включать лампы только тогда, когда на город спускается ночь.

Еще одно применение датчиков света — это детектирование препятствия роботом, путешествующем по лабиринту. Либо детектирование линии роботом следопытом (LineFollower). Но в этих двух случаях, в паре с датчиком света используют специальный источник света.

Мы же начнем с простого примера, и подключим к микроконтроллеру Ардуино Уно один из самых распространенных датчиков — фоторезистор. Как долнжо быть понятно из названия, фоторезистор — это резистор, который меняет свое сопротивление в зависимости от падающего на него света. Выглядит этот радиоэлемент так:

Различаются фоторезисторы по диапазону сопротивления. Например:

  • VT83N1 — 12-100кОм;
  • VT93N2 — 48-500кОм.

Это значит, что в темноте сопротивления фоторезистора равно 100кОм, а при определенной тестовой засветке — 12 кОм. Конкретно в случае этих светодиодов, тестовая засветка имела параметры: освещенность -10 Люкс, и цветовая теплота — 2856К.

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

Заключение

Проекты с применением датчика освещенности на базе фоторезистора достаточно просты и эффектны. Вы можете реализовать множество интересных проектов, при этом стоимость оборудования будет не высока. Подключение фоторезистора осуществляется по схеме делителя напряжения с дополнительным сопротивлением. Датчик подключается к аналоговому порту для измерения различных значений уровня освещенности или к цифровому, если нам важен лишь факт наступления темноты. В скетче мы просто считываем данные с аналогового (или цифрового) порта и принимаем решение, как реагировать на изменения. Будем надеяться, что теперь в ваших проектах появятся и такие вот простейшие «глаза».

Вывод

Итак, вернемся к теме нашей статьи. Что же все-таки лучше изучать? Голые МК AVR или взять набор Arduino?

Для новичков часто бывает проблемой выставление фьюзов у МК AVR. Этого минуса лишены все Ардуино. Там просто нет такой функции при подключении через USB кабель. Также при небрежном выставлении фьюзов можно залочить дорогой МК AVR, который не всегда просто реанимировать. В Ардуино залочить МК нереально. При прошивке программатором ISP USBASP, мы можем прошить МК Ардуино, как и любой другой МК AVR.

Также одним важным отличием Ардуино от МК AVR – это наличие худшей оптимизации размера кода. То есть программа, которая выполняет одни и те же действия на МК и Arduino будет иметь разный вес. На Arduino она будет весить больше. И может даже случиться так, что просто не войдет в память. Микроконтроллеры AVR имеют более широкие возможности в создании электронных устройств, но есть у них и свои минусы – это необходимость наличия программатора, источника питания, а также мощного компьютера для комфортной работы в Atmel Studio 6.

Этой публикацией мы начинаем цикл статей, посвященных конструированию электронных устройств на платформе Arduino. Оставайтесь с нами и мы поэтапно, следуя от простого к сложному, разберем самостоятельную сборку электронных устройств. Будут рассмотрены разные модели Arduino, программатор Usb – Serial и её периферия. Вы научитесь самостоятельно писать скетчи в среде разработки и обязательно соберете все то, что давно хотели собрать, но затруднялись в создании на практике.