Устройство предназначено для управления светом. Рассмотрим два варианта управления светом либо включение или выключение осветительного прибора, либо изменение свечения светодиодной ленты.
Вариант 1:
В первом варианте будем включать ваш осветительные прибор в момент когда уровень освещенности слишком низок и вы хотели бы включить свет. Устройство само по заданному уровню определит, когда его включить и вы всегда будете находится при достаточном уровне освещенности.
Описание работы:
Для начала работы подключите питание к Arduino. Подключите к реле источник света. Теперь потенциометром отрегулируйте уровень при котором будет включаться реле, а значит и наш источник света.
Нам понадобится:
- Arduino Uno х 1шт.
- Trema Set Shield х 1шт.
- Trema-модуль реле х 1шт.
- Trema-модуль потенциометр х 1шт.
- Trema-модуль датчик освещённости х 1шт.
- Проводков для пайки. (в ассортименте: 5 см, 10 см, 20 см)
Схема сборки:
- Устанавливаем Trema Set Shield в Arduino Uno.
- Устанавливаем Trema-модуль потенциометр во 2 посадочную площадку.
- Устанавливаем Trema-модуль реле в 4 посадочную площадку.
- Устанавливаем Trema-модуль датчик освещённости в 6 посадочную площадку.
- Подключаем лампочку через реле, как показано на рисунке.
Код программы:
const uint8_t pinDatL = A3; // Объявляем пин для работы с датчиком звука. const uint8_t pinPot = A0; // Объявляем пин для работы с потенциометром. const uint8_t pinRele = 3; // Объявляем пин для работы с реле. // int potValue; // Переменная для считывания показания потенциометра. int datValue; // Переменная для считывания показании датчика освещенности. // void setup() // { // pinMode(pinRele, OUTPUT); // Переводим вывод pinRele в режим выхода. } // // void loop() // { // potValue = analogRead(pinPot); // Считываем показания потенциометра datValue = analogRead(pinDatL); // Считываем показания датчика освещенности. // if(potValue + 5 < datValue){digitalWrite(pinRele, HIGH);} // Если показания потенциометра + 5 меньше показаний датчика освещенности, то включаем реле. if(potValue - 5 > datValue){digitalWrite(pinRele, LOW);} // Если показания потенциометра - 5 больше показаний датчика освещенности, то выключаем реле. } //
Алгоритм работы:
В начале скетча (до кода setup) выполняются следующие действия:
- Объявляем пины для работы с Trema-модуль реле, Trema-модуль потенциометром, Trema-модуль датчиком освещённости.
- Объявляем переменные задействованные в скетче.
В коде setup выполняются следующие действия:
- Переводим выводы pinRele для реле в режим выхода.
В коде loop выполняются следующие действия:
- Считываем показания потенциометра.
- Считываем показания датчика освещенности.
- Если показания потенциометра + 5 меньше показаний датчика освещенности, то включаем реле.
- Если показания потенциометра - 5 больше показаний датчика освещенности, то выключаем реле.
Вариант 2:
Во втором варианте мы будем управлять светодиодной лентой. А именно чем темнее помещение, тем ярче будет светить светодиодная лента. Постепенный переход из дневного времени суток в ночной благоприятно влияет на организм и вы не заметите как наступит ночь.
Описание работы:
Для начала работы подключите питание к Arduino. Подключите источник света через силовой ключ. Теперь в зависимости от уровня освещенности наш источник света будет так же менять свое свечение. При максимальной яркости стороннего света,
Нам понадобится:
- Arduino Uno х 1шт.
- Trema Set Shield х 1шт.
- Trema-модуль cиловой ключ х 1шт.
- Trema-модуль потенциометр х 1шт.
- Trema-модуль датчик освещённости х 1шт.
- Источник питания на 12В. 1А. для Arduino х 1шт.
- Коннектор power jack Мама с клемником для Arduino х 1шт.
- Проводков для пайки. (в ассортименте: 5 см, 10 см, 20 см)
Схема сборки:
- Устанавливаем Trema Set Shield в Arduino Uno.
- Устанавливаем Trema-модуль потенциометр во 2 посадочную площадку.
- Устанавливаем Trema-модуль cиловой ключ в 4 посадочную площадку.
- Устанавливаем Trema-модуль датчик освещённости в 6 посадочную площадку.
- Подключить светодиодную ленту к Источник питания на 12В, через Коннектор с помощью Проводков, как показано на рисунке ниже.
Код программы:
const uint8_t pinDatL = A3; // Объявляем пин для работы с датчиком освещенности. const uint8_t pinPowerKey = 3; // Объявляем пин для работы с силовым ключом. // const int minL = 50; // const int maxL = 920; // // void setup() // { // pinMode(pinPowerKey, OUTPUT); // Переводим вывод pinPowerKey в режим выхода. } // // void loop() // { // if (analogRead(pinDatL) > maxL) {analogWrite(pinPowerKey, 0);} // Если показания с датчика больше макисмальной границы, выключаем силовой ключ. else // Если показания датчика в диапазоне от минимального значения до максимальго значения. {analogWrite(pinPowerKey, map(analogRead(pinDatL), minL, maxL, 255, 0));} // Считываем показания датчика освещенности и присваиваем его значения силовому ключу в диапазоне от 255 до 0. if (analogRead(pinDatL) < minL) {analogWrite(pinPowerKey, 255);} // Если показания с датчика меньше минимальной границы, подаем 100% напряжения на силовой ключ. } //
Алгоритм работы:
В начале скетча (до кода setup) выполняются следующие действия:
- Объявляем пины для работы с Trema-модулем датчик освещённости, Trema-модулем cиловой ключ.
В коде setup выполняются следующие действия:
- Переводим выводы pinPowerKey для силового ключа в режим выхода.
В коде loop выполняются следующие действия:
- Проверяем показания с датчика освещенности, если показания больше максимального значения, то подаем ноль на силовой ключ.
- Считываем показания датчика освещенности и присваиваем его значения силовому ключу в диапазоне от 255 до 0.
- Проверяем показания с датчика освещенности, если показания меньше минимального значения, то подаем 100% напряжения на силовой ключ.
Особенности:
В скетче присутствуют переменные "minL" - минимальная граница и "maxL" - максимальная граница. Это переменные между которыми датчик освещенности плавно переходит из яркого состояния в темное. И так как датчик освещенности в зависимости от помещения не может достигнуть своего максимального или минимального значения, вводятся константы, для того чтобы, при значениях датчика освещенности которые вышли за пределы диапазона от "minL" до "maxL", источнику света принудительно подается максимальное либо минимальное напряжение. Эти константы регулируются в скетче в начале программы.
Обсуждение