Подсветим... ночной путь: подсветка кровати.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 25 ноя 2014.

Метки:
  1. Evgeni

    Evgeni Нерд

    Всем привет, а почему на сам PIR не повешать фоторезистр ? Там есть под него место для пайки.
     
  2. ИгорьК

    ИгорьК Оракул Модератор

    Та повесьте, кто мешает.
     
  3. BladzheR

    BladzheR Нерд

    Сделал подсветку - шикарно! В реальности смотрится круто.
    Спасибо за схему!
    Код взял и первого поста, думаю на днях будут время погонять/потестировать и прилажу свой вариант кода.
    [​IMG] [​IMG] [​IMG]
    [​IMG] [​IMG]
     
    ИгорьК нравится это.
  4. ИгорьК

    ИгорьК Оракул Модератор

    Это реально очень простая и эффектная вещь. Не зря меня заставили сделать ее второй раз :)
     
    Последнее редактирование: 24 янв 2019
    BladzheR нравится это.
  5. buba911

    buba911 Гик

    Вложения:

  6. ИгорьК

    ИгорьК Оракул Модератор

    Вы считаете что это как-то умаляет мой проект 2014 года с полтысячей повторений, который слизали китайцы?

    Они даже повторили два датчика.
    Вообще, мне периодически пишут товарищи с акцентом с просьбами разъяснить что-то.
     
    Последнее редактирование: 26 янв 2019
    Limoney, Airbus и DetSimen нравится это.
  7. BladzheR

    BladzheR Нерд

    Готовый вариант конечно хорошо, но не всегда)
    Я бы не купил, поскольку, главный минус: функционал ограничен.
     
  8. Airbus

    Airbus Радиохулиган Модератор

    Как вариант.У кого то нет денег.У кого то времени.Почему нет.Хитрые кетайцы не дремлют
     
  9. buba911

    buba911 Гик

    Я не делаю рекламмы узкоплёночным. Просто хотел обратить внимание, что "товарищи" не дремлют и копируют или крадут берут идеи и... ну. вобщем, без коментариев.
     
  10. BladzheR

    BladzheR Нерд

    Заметил, что после подключения, на кровати появилось статическое электричество.
    Пока не особо понимаю, как его нейтрализовать...
     
  11. ИгорьК

    ИгорьК Оракул Модератор

    Не замечал такого на двух устройствах.
    1. Переверните розетку, поменяете ноль и фазу (шаманство)
    2. Проверьте заземление в розетке и устройстве.
     
  12. Airbus

    Airbus Радиохулиган Модератор

    Про электрический стул слышал.Про электрическую кровать в первый раз.Заземлите ее на батарею чтоли проводом?
     
  13. alp69

    alp69 Гик

    ИМХО это не связано с устройством. Пониженная влажность зимой в помещениях - обычное дело. Особенно в морозы. Отсюда и статика.
    Увлажнение воздуха скорее всего исправит ситуацию.
     
    Airbus нравится это.
  14. alp69

    alp69 Гик

    Лучше вилку перевернуть. Проще и менее затратно.:rolleyes::)
    Это я так, шутки ради к словам цепляюсь. Ничего личного ;)
     
  15. parovoZZ

    parovoZZ Гуру

    Всё, что угодно, но только не статическое электричество. Переменный ток не может его породить. Кровать железная? Истории известен электрический стул. Теперь будет электрическая кровать.
     
  16. parovoZZ

    parovoZZ Гуру

    ходи босиком, чтобы заряд с себя снять.
     
  17. ZAZ-965

    ZAZ-965 Гуру

    Статическое электричество можно снять электростатическим браслетом эл.стат.браслет.jpg
     
    KindMan, alp69 и ИгорьК нравится это.
  18. BladzheR

    BladzheR Нерд

    Ахахха

    Основа кровати железная, когда монтировал датчики и ленту, то всё в дерево вкручивал.
    Возможно из-за влажности конечно, поскольку датчики показывают около 15-20% и это оч плохо.
    Насколько я понимаю, необходимо приобрести увлажнитель воздуха, поскольку всякие там советы не помогают :(

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

    В общем, буду думать :)
     
  19. parovoZZ

    parovoZZ Гуру

    Покрывало из какого материала?
     
  20. Airbus

    Airbus Радиохулиган Модератор

    Дело было вечером-делать было нечего.решил подсветить кровать.Так как у меня северная сторона да ещё Север закрыт подобным небоскрёбом-в спальне темно круглосуточно.Поэтому датчик-день/ночь решил не ставить убрал и его и всё что связано с ним из кода.PIR-2 х АМ 312.Ну и код получился смешной-мне стало жалко под него целую Ардуину даже Про Мини.Решил сделать на Тини-13.Тини прошил как Пушной Звер учил.Фьюзы дефолтные.И всё получилось!Спасибо Игорю за код и идею.Вот код-может кому сгодиться.в процессе настройки менял по месту значения начальной и конечной яркости.Это не трудно.
    Код (C++):
    /* Плавная подсветка
       Работает с PIR датчиками

                         ATMEL ATTINY13 / ARDUINO
                                     +-\/-+
                   (RESET/ADC0) PB5 1|    |8 Vcc
      digital pin 3       (ADC3) PB3 2|    |7 PB2 (SCK/ADC1)  digital pin 2
      digital pin 4       (ADC2) PB4 3|    |6 PB1 (MISO)      digital pin 1 PWM
                                GND 4|    |5 PB0 (MOSI)      digital pin 0 PWM
                                     +----+
    */

    #define PIN_MOTION01 3                    // Ноги для ИК датчиков
    #define PIN_MOTION02 2
    #define PIN_PWM 0                        // MOSFET
    #define TIME_DELAY_LIGHT 15000            // Задержка включения подсветки
    #define LIGHT_NIGHT 127                    // Яркость свечения ленты
    #define DELAY_TO_NEXT_LIGHT 30            // Плавность изменения света

    bool gotMotion = false;                    // Флаг движение
    bool lightIsSwitchedOn = false;            // Флаг включения подсветки
    bool flag20 = false;                       // Флаг включения ночной подстветки
    #define LIGHT_VISION 10                    // Яркость постоянной ночной подсветки

    uint8_t sensorA=0, sensorB = 0, sensorStep = 0; // Разные счетчики
    unsigned long timeToNextDecision = 0;    // Когда принять решение о выключении

    void setup()
    { }

    void loop()
    {              // сработал любой из датчиков движения
                   // устанавливаем флаг обнаружения движения
                    if ( (digitalRead(PIN_MOTION01)) || (digitalRead(PIN_MOTION02))  ) gotMotion = true;
                   // Если подсветка не включена и обнаружено движение
                    if((!lightIsSwitchedOn) && (gotMotion)) {
                        for(int i = LIGHT_VISION; i <LIGHT_NIGHT; i++) {    // Плавно включаем подсветку
                            analogWrite(PIN_PWM, i);
                            delay(DELAY_TO_NEXT_LIGHT);
                        }
                        lightIsSwitchedOn = 1;            // Устанавливаем флаг о включении
                        gotMotion = 0;                    // Сбрасываем флаг обнаружения движения
                                                         // Вычисляем время, когда будем проверять что подсветку пора выключать
                        timeToNextDecision = millis() + TIME_DELAY_LIGHT;
                    }
                                                        // Если движения нет, подсветка включена и наступило время ее выключать
                    if((!gotMotion) && (lightIsSwitchedOn) && (millis() > timeToNextDecision)){
                        for(int i = LIGHT_NIGHT; i >LIGHT_VISION; i--) { // Плавно выключаем
                            analogWrite(PIN_PWM, i);
                            delay(DELAY_TO_NEXT_LIGHT);
                        }
                        analogWrite(PIN_PWM, LIGHT_VISION);
                        lightIsSwitchedOn = 0;                // Сбрасываем флаг включенной подсветки
                        timeToNextDecision = 0;                // Обнуляем время следующей проверки отсутствия движения
                    }                                        // Если подсветка включена и движение продолжвается
                    if((gotMotion) && (lightIsSwitchedOn) && (millis() > timeToNextDecision)) {
                        timeToNextDecision = millis() + TIME_DELAY_LIGHT; // Устанавливаем новое время проверки отсутствия движения
                        gotMotion = 0;
                    }

                }
     
    DetSimen и ИгорьК нравится это.