Всем ардуинщикам привет! Сегодня рассмотрим модуль фоторезистора.
Подключение
Начнём с того, что просто проверим модуль на работоспособность и заставим ардино отправлять слово "ON", когда он срабатывает, а когда нет, "OFF".
Для этого подключаем по схеме:
Пины подключения:
Пин датчика Пин ардуино
DO D2
GND GND
VCC 5V/VIN
Скетч
Для удобства объявим директиву с пином подключения модуля и назовем её lightSensor.
Дальше в setup'e откроем монитор порта со скоростью 9600 бод. Дальше укажем режим работы пина, как вход.
В функции loop(), объявим переменную, типа int с именем statusLightSensor, эта переменная будет равна значению на пине lightSensor, который мы объявляли в самом начале.
Дальше пишем в serial текст со статусом, и создаём условие if, в котором, если переменная statusLightSensor равна логическому нулю, то мы пишем "ON", иначе пишем "OFF".
Задержка 500, чтобы в сериал не выводилась информация слишком быстро.
Вот мы разобрали 1 скетч из 3.
Второй скетч
Во втором скетче я даже нечего писать не буду, вы можете сами всё понять по комментариям в скетче.
define lightSensor 2 //объявляем дерективу с пином подключния модуля
void setup() {
Serial.begin(9600);
pinMode(lightSensor, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
int statusLightSensor = digitalRead(lightSensor);
Serial.print("Status: ");// Выводим текст со статус
if (statusLightSensor == LOW) // Если statusLightSensor равно "0"
{
Serial.println ("ON"); // Выводим текст ON
digitalWrite(LED_BUILTIN, HIGH);
}
else //Иначе...
//statusLightSensor равно "1 "
{
Serial.println ("OFF"); // Выводим текст OFF
digitalWrite(LED_BUILTIN, LOW);
}
delay (500); // Ждем 500 мс
}
Загрузив в ардуино, мы видим, что когда срабатывает датчик, включается светодиод не только на самом модуле, но и на ардуино. Если, кто не понял, включается встроенный светодиод, который подключен к 13 пину.
Третий скетч
В последнем скетче надо подключить реле:
Подключение:
Пин датчика Пин ардуино
DO D2
GND GND
VCC 5V
Пин реле Пин ардуино
DC+ VIN
DC- GND
IN D3
Скетч
В 3 скетче мы добавим реле.
По сути это такой же скетч, как и 2, но тут уже есть реле.
В самом начале добавим директиву с пином подключения реле и назовём её relayPin.
В setup() мы укажем relayPin, как выход, в остальном всё также.
В loop() Всё точно так же, только, когда statusLightSensor равен 0 реле выключается, а если statusLightSensor равен 1, то реле включается.
Возможно вы спросите, как сделать, что бы реле включалось, когда статус переменной statusLightSensor равен 0 и наоборот.
Для этого поставьте сюда ! :
На этом всё!
Видео
Ссылки: