Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Простая динамическая подсветка для стола на Ардуино

    Простая динамическая подсветка для стола на Ардуино


    Думаю, есть люди которым несколько неудобно постоянно подходить к лампе и включать свет, отчего есть охота заставить всё лампу включаться самостоятельно. Да, есть "умные" розетки, которые управляются по Wi-Fi, есть более простые, на которых можно настроить время срабатывания, но, конечно же, можно всегда купить диммер и не особо не мучаться. Но это всё можно сделать своими руками (кроме Wi-Fi-розетки), хоть этот вариант для, например, светодиодных лент, так как при управлении переменкой будут некоторые ньюансы, в лице вышеупомянутого диммера. В нашем же случае яркость в зависимости от окружающего освещения будет плавно меняться.

    Необходимые детали



    1. Arduino, в данном случае – Nano, можно что-нибудь мельче, например Micro
    2. Светочувствительный элемент, здесь - резистор (18 КОм) и фоторезистор (у меня стоит СФ-2 6А), соединённый последовательно. Всё это будет работать практически как подстроечный резистор.
    3. MOSFET-транзистор IRF3205, лучше слабее, 55 ампер – это чересчур много (если потребляемый ток небольшой, то и особо мощный транзистор не требуется)
    4. Само собой, провода. Тонкий провод нужен для отведения "датчика" ближе к окну, тот, что толще подключим к блоку питания лампы и к Ардуинке (да и сам модуль необязательно на толстый провод вешать, всё равно мало потребляет)



    Сборка. Шаг 1



    Работу этого своеобразного датчика освещённости надо по-хорошему проверить, ибо я пытался сделать всё максимально дешевле и проще, как у меня выходило.

    Чтобы его сделать, нужен резистор и фоторезистор. Соединяем их последовательно, к началу и концу будут подсоединены выводы 5V и GND, центральный - к заданному аналоговому контакту в прошивке, его номер меняется.

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

    Код для проверки, если возникли сомнения:

    #define potent_pin 0  // Контакт средней ноги, 0 меняется на любой другой аналоговый
    int val;              
    
    void setup() {
      Serial.begin(9600);  //Включаем вывод в порт на 9600 бод
      
    }
    
    void loop() {
      val = analogRead(potent_pin);     
      val = map(val, 0, 1023, 0, 100);   //100 можно заменить на любое значение до 1023 включительно
      val = constrain (val, 0, 100);     //100 меняем на значение, заданное выше, если было изменено
       Serial.println (val);             //вывод в монитор порта
      delay (30);                        //задержка
    
    }





    Если значения на выходе меняются, в зависимости от освещённости, значит всё нормально

    Сборка. Шаг 2



    Отлично, датчик работает. Теперь время создать код для генерации ШИМ-сигнала для управления полевиком.

    ВНИМАНИЕ. ШИМ на контроллёрах ATmega168/ATmega328 генерируется только на 3, 5, 6, 9, 10 и 11 цифровых выводах.

    Код 2:

    int pwm;              
    
    void setup() {
     
    }
    
    void loop() {
    pwm = analogRead(0);
    pwm = map(pwm, 1023, 0, 0, 255);
    pwm = constrain(pwm, 0, 255);
    analogWrite (3, pwm-255); //   ШИМ на третий цифровой                      
    
    }


    Число 255 можно менять в диапазоне от 0 до 1023 включительно, причём менять это значение можно прямо «на ходу». Как мне показала практика, максимальное 255 - оптимальный вариант, если меньше - днём горит слишком ярко, если больше - слабее горит тогда, когда надо.

    Сборка. Финал



    На вывод 5V и GND паяем крайние контакты нашего резистора, на А0 ставим средний. Затвор полевого транзистора припаиваем к D3, исток к минусу питания от Ардуино и блока питания, светодиоды - минусом к стоку и плюсом питания к плюсу источника. Схематически это выглядит примерно так:

    Полевой транзистор на радиатор ставить не обязательно, если, конечно, используется мощный, но в особо мощном смысла нет. Длинный же провод нужен был для отведения датчика в то место, куда не попадает сторонний свет, например за цветок или на улицу через окно и т. п. На плюс питания и сток полевого транзистора желательно поставить конденсатор, ибо, например, моя лента стала работать не очень-то и правильно. Ардуино можно питать не от USB или блока питания от телефона, а от блока питания ленты, подав напряжение 7-15 вольт на GND и VIN.

    Корпус сделан из корпуса убитого блока питания, куда я и поместил блок питания ленты и Ардуино, с выпаянным разъёмом. Чуть-чуть не подошёл по размеру, но он и так постоянно был на изоленте.



    Вот я закрыл датчик рукой:

    А вот не держу руку над ним:


    Где же это может пригодиться?



    Эта конструкция может помочь при какой-либо тонкой работе, где нужна стабильная подсветка, например, если вы забыли включить свет, но лента включена. Так же это удобно использовать, если у вас где-либо есть рассада для дальнейшей посадки на грядку. Где же такое использовать, судить, конечно же, Вам.

    P.S. Верно, мои руки кривые и я на схеме неправильно воткнул светодиод.
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    RGB-ночник управляемый руками

    Ночник в форме призмы. На основе ESP8266 и WS2812

    9.2
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    9.4
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.4
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 9.0 из 10 (голосов: 5 / История оценок)

    Добавить комментарий

    1 комментарий
    Имя
    Посмотри Гайвера
    @@@
    Cделай раз в 10 лучше
    @@@
    Profit

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

    Последние комментарии

    Все комментарии