ARDUINO Подсветка лестницы

AlexGyver

★★★★★★✩
Команда форума
30 Июл 2018
236
505
Ветка обсуждения проекта Контроллер подсветки лестницы
Страница проекта на AlexGyver.ru: https://alexgyver.ru/ledstairs/
Репозиторий на GitHub: https://github.com/AlexGyver/LEDstairs
Видео:

Делитесь своими вариантами изготовления, модификациями и улучшениями!
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
1,699
383
Москва
wan-derer.ru
В эту ветку складываем ваши реализации данного проекта. Для проблем и вопросов есть специальная тема. Здесь вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.

Если у вас есть отличная идея как улучшить проект, но вы ждёте что кто-то сделает это за вас, вам сюда.
 

Зиппо

★✩✩✩✩✩✩
23 Фев 2020
5
11
Привет Алекс
Доработал немного вашу подсветку для лестницы.
эта доработка необходима , если в доме несколько человек, в вашем проекте , если один человек, входит на лестницу, а другой чел, или толстый КОТ с секундой позже подходит с другой стороны, подсветка гаснет.
я убрал пир датчики, заменил на ИК датчики по 2, с каждой стороны, с диодом и фоторезистом. и добавил код.
теперь с каждой стороны происходит замер количество прошедших , и их направление. в какую сторону прошел человек.


#define in 14
#define out 19
#define relay 2
int count=0;

void IN()
{
count++;

delay(1000);
}

void OUT()
{
count--;

delay(1000);
}

void setup() / *********************

{
pinMode(in, INPUT);
pinMode(out, INPUT);
pinMode(relay, OUTPUT);
}

void loop() / **********************

{if(digitalRead(in))
IN();
if(digitalRead(out))
OUT();if(count<=0)
{
digitalWrite(relay, LOW);
delay(200);
}

else
digitalWrite(relay, HIGH);

}
 

Вложения

Gen@

★★✩✩✩✩✩
13 Апр 2020
105
89
Привет всем.

моя доработка тут https://github.com/degterjow/LEDstairs/tree/master/firmware/LEDstairs_v1.1

  1. поддержка ночного режима. Подсвечиваются крайние ступеньки. Настройка:
  • маска (какие диоды на ступеньке включать) NIGHT_LIGHT_BIT_MASK
  • цвет NIGHT_LIGHT_COLOR
  • яркость NIGHT_LIGHT_BRIGHT
 

ivang

★✩✩✩✩✩✩
28 Сен 2020
5
10
хочу тоже поделиться реализацией проекта хоть пока что и без лестницы так как делал не для себя а на подарок лучшему другу на ДР!
в дальнейшем планирую доработать! если получиться разобраться до конца с кодом, так как хочу сделать чтоб эффекты выбирались с помощью дип переключателя.
Видео работы прилагаю
 

Вложения

шурра

✩✩✩✩✩✩✩
19 Янв 2022
6
6
Оформи код соответствующим тэгом
Благодарю автора за идею, переделал скеч в более простой вид, может кому сгодится. Кстати, он работает и на ESP8266, так что в перспективе Web интерфейс с настройками цвета, скорости и возможностью воздушной прошивки.

C++:
#include <Adafruit_NeoPixel.h>
#define pin 12
#define leds 259
Adafruit_NeoPixel strip = Adafruit_NeoPixel(leds, pin, NEO_GRB + NEO_KHZ800);
float k = 1;

void setup()
{
    //Serial.begin(9600);
    pinMode(3, INPUT);
    pinMode(2, INPUT);
    strip.begin();
    strip.show(); // ощищаем экран для отключения случайных пикселей
}

void loop()
{
    int sensor = analogRead(A0);
    //Serial.println(sensor);
    if (sensor < 500) { // темно
        sensor = map(sensor, 1, 500, 1, 10);
        if (digitalRead(3) == HIGH) {
            for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
            for (int i = 1; i <= leds; i++) {
                strip.setPixelColor(i - 1, 20 * sensor, 0 * sensor, 10 * sensor); // нужный цвет
                if (i != 16 && i != 32 && i != 48 && i != 64 && i != 80 && i != 96 && i != 112 && i != 128 && i != 144 && i != 160 && i != 173 && i != 195 && i != 211 && i != 227 && i != 243 && i != 259) continue; // номера крайних диодов
                strip.show();
                delay(500);
            }
            delay(1000);
            for (int i = 1; i <= leds; i++) {
                strip.setPixelColor(i - 1, 0, 0, 0);
                strip.show();
                delay(10);
            }
        }
        if (digitalRead(2) == HIGH) {
            for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
            for (int i = leds; i >= 1; i--) {
                strip.setPixelColor(i - 1, 20 * sensor, 0 * sensor, 10 * sensor); // нужный цвет
                if (i != 1 && i != 17 && i != 33 && i != 49 && i != 65 && i != 81 && i != 97 && i != 113 && i != 129 && i != 145 && i != 161 && i != 174 && i != 196 && i != 212 && i != 228 && i != 244) continue; // номера крайних диодов
                strip.show();
                delay(500);
            }
            delay(1000);
            for (int i = leds; i >= 1; i--) {
                strip.setPixelColor(i - 1, 0, 0, 0);
                strip.show();
                delay(10);
            }
        }
        for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
        for (int i = k; i <= 16; i = i + 4) strip.setPixelColor(i - 1, 10 * sensor, 0, 5 * sensor); // нужный цвет
        for (int i = 243 + k; i <= leds; i = i + 4) strip.setPixelColor(i - 1, 10 * sensor, 0, 5 * sensor); // нужный цвет
        k = k + 0.01;
        if (k > 4.99) k = 1;
        strip.show();
    }
    else {
        for (int i = 1; i <= leds; i++) strip.setPixelColor(i - 1, 0, 0, 0); // ощищаем экран
        strip.show();
    }
    delay(500);
}
 

Вложения

Изменено:
  • Лойс +1
Реакции: Константин 271

Станислав Олегович

✩✩✩✩✩✩✩
19 Сен 2022
1
1
Сделал подсветку, получилось отлично! Немного доработать рассеиватели и будет совсем хорошо. Ещё бы как нибудь допилить, что бы один цвет был в подсветке)
 

Вложения

  • Лойс +1
Реакции: Wan-Derer