Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

Автоматическое освещение лестницы

Ср июн 27, 2012 13:50:50

Добрый день, уважаемые коты!
Направте, пожалуйста, на путь истинный. Нашел интересный проэкт
http://lukjanow.ru/2012/04/automatic-il ... s-arduino/
но, хотел бы сделать (или лучше переделать?) в следующее:
1. Светодиоды RGB для возможности смены цвета подсветки (и, или каких-нибудь эффектов)
2. Зажигание светодиодов сделать по ШИМ
3. Включать подсветку на 1-ой и последней ступенкька с наступленем темноты на 10-20% можности

Или лучше отказаться от RGB и сделать просто ШИМ...

Как платформу собираюсь использовать Ардушку, ультразвууковые датчики тоже есть
Посоветуйте каким образом грамотно организовать сие дело.
Количество ступенек 16 шт.

Жду советов. Заранее всем спасибо!

Re: Автоматическое освещение лестницы

Ср июн 27, 2012 16:03:18

Переделок слишком много получается. Проще написать с нуля, заодно избавится от ардуины. Если брать AVR, то подойдет любой с АЦП (для определения темноты) и SPI (для управления 16х3 каналами светодиодов), т.е. практически любой, даже семейства TINY.

Re: Автоматическое освещение лестницы

Чт июн 28, 2012 18:42:10

Проект интересный. Скоро буду пилить подобное, только для коридора.
Не совсем понял эти моменты.
Igor Sokol писал(а):Зажигание светодиодов сделать по ШИМ
Или лучше отказаться от RGB и сделать просто ШИМ

Без ШИМа не вариант сделать плавное затухание и зажигание. а цвета это немного другая история.
Удваиваю Engineer_Keen. Без ардуины выйдет дешевле и опыта(experience) получишь больше. Для определения темноты либо датчик либо часики даласовские (к ним потом прикрутишь дисплей, холодильник, пылесо.. умный дом короче /flight of ideas).
А вот от бампера звукового я бы отказался в пользу ИК бампера/барьера или механики/пьез на ступеньках.

Re: Автоматическое освещение лестницы

Пт июн 29, 2012 10:15:36

И насчет ультразвука согласен с VIRUS_6666, он имеет смысл когда нужно расстояние до объекта мерить, а вам нужно просто обнаружение "пересечения объектом луча", так что ИК или механического датчика хватит. А вот для определения темноты лучше все-таки использовать фотодиод/фототранзистор, так как освещенность вряд ли будет совпадать со временем суток...

Re: Автоматическое освещение лестницы

Пт июн 29, 2012 11:51:05

Только пришло в голову. :idea: Как-то видел на тюбике подобное.
Суть такова: каждая ступенька оборудована сенсором, и светятся не все разом, а только та ступенька на которой стоишь и, в пол силы, одна выше и ниже. ОЧЕ КРУТО ). Хотя если память мне не изменяет в том проекте лестница была стеклянная и пластины подсвечивались "в ребро".
В общем, как говориться, было бы желание, а идей и их реализаций великое множество.

Re: Автоматическое освещение лестницы

Пн июл 02, 2012 08:55:32

За советы спасибо. Буду просматривать варианты.
Но, наверное, всетаки буду делать на ардушке, бутлоудер в принципе в любую мегу прошить можна...
Да и програмить на ней несложно... так как я в программировании новичек.
Иначе без помощи никак...

Почему советуете отказатся от ультразвуковых барьеров?

Re: Автоматическое освещение лестницы

Пн июл 02, 2012 09:40:28

Патамучта, они дороже (3 бака на ибэе), с ними придётся погемороить потому, что они выдают не просто данные есть что перед ними или нет, а имеют вполне конкретный протокол общения, который придётся обрабатывать. ик-барьер или механика куда проще.
для общего развития вот ссыль на статью про эти дальномеры http://avrproject.ru/publ/kak_podkljuchit/ultrasonic_sonar_hc_sr04/2-1-0-51

Да и програмить на ней несложно... так как я в программировании новичек.
Иначе без помощи никак...

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

Re: Автоматическое освещение лестницы

Пн июл 02, 2012 09:57:48

Так и хочу. Сначала на ардушке - потом на мегу. ультразвуковіе барьеры уже есть, просто валяются... хотя переделать пару строк будет не проблема.
Как смотрите на TLC5940NT? хоть и дороговата, но зато сразу 16 каналов ШИМ.
итого их нада всего 3...

вообщем начинаю генерировать код. буду выкладывать сюда, если кому интересно...

Re: Автоматическое освещение лестницы

Пн июл 02, 2012 11:35:33

Идейно. но вот, как мне кажется, проект достаточно простой и зачем городить огород с этой дорогой и большой микрой. Шим вполне можно сделать программно если в контроле его нет. если раскинуть мозгами - можно даже на тиньке 13 реализовать и тогда всё будет уберкомпактно. хотя без этой микры придётся ставитьсиловые ключи для подключения светодиодных лент...

Re: Автоматическое освещение лестницы

Пн июл 02, 2012 12:20:40

Короче заинтересовался, т.к. тоже присутствует лестница на даче. RGB делать не буду (пока), т.к. это именно подсветка, а не декоративное освещение. Остановился на tiny24+пара 595-х регистров (не 13-я тинька просто потому что в наличии есть 24-е). Светодиоды собираюсь подключать к регистрам через полевики (как раз раздраконил старую материнку, там была куча k3919). Пока сделал только ШИМ. На 8МГц тактовой легко получается 100Гц ШИМ для 16 выходов при 8 битах. Теоретически можно и до 48 каналов сделать.

Re: Автоматическое освещение лестницы

Пн июл 02, 2012 13:36:14

М-да... по-белому Вам завидую. Я в программировании не селен.... потому и выбрал ардушку.

PS. Вот так всегда, кому почти непосильная задача, а кому 15 минут работы и воплощение на том, "что есть в ящике"...

Re: Автоматическое освещение лестницы

Пн июл 02, 2012 16:45:44

Igor Sokol писал(а):М-да... по-белому Вам завидую. Я в программировании не селен.... потому и выбрал ардушку.

PS. Вот так всегда, кому почти непосильная задача, а кому 15 минут работы и воплощение на том, "что есть в ящике"...


кому надо - берите
делал знакому давно

просто: нажал 1 раз коротко - одно время, нажал и подержал - время работы увеличится на (непомню) сколько сек
перемычками всё задаётся
Не жалуется, значит доволен :)

http://narod.ru/disk/55002420001.d8a0a6 ... v.zip.html

Re: Автоматическое освещение лестницы

Чт июл 19, 2012 15:53:15

Ну, вообщем родил я таки сий проект. Собрал на ардушке микро и драйвере tlc5940 (16 каналов).
датчики ультразвуковые, четырехпроводные. Дороговато, зато просто и быстро... :)

Включается по фоторезостору.

Схему не рисовал, все и так понятно. кому интересно - могу выслать скетч и фотки на макетке. в принципе могу и схему отрисовать...

Песпектив много - подключение еще парочки драйверов позволит делать RGB, еще можна сделать эфекты всякие там, подключить дистанционку и т.п. замена датчиков на инфракрасные... вообщем есть где разгулятся...

Re: Автоматическое освещение лестницы

Пн июл 23, 2012 09:18:32

Добрый день! Обнаружился первый глюк...
При определенном затемнении девайс начинает штормить: моргают первая и последняя ступенька. Выставить в условии включения по большему условию не помагает... Условие либо вообще не срабатывает... либо слтшком рано...

Что посоветуете? как можна усреднить показания? Из идей только подсчет в цикле, усреднение, а потом проверка условия... Тогда, в зависимости от количества шагов образуется пауза перед сработкой датчика, либо же он вообще не сработает...

код

#include "Tlc5940.h"
#include "Ultrasonic.h"

TLC_CHANNEL_TYPE channel;

//Устанавливаем контакты для первого датчика
#define TRIG_PIN 5
#define ECHO_PIN 6
//Устанавливаем контакты для второго датчика
#define TRIG2_PIN 7
#define ECHO2_PIN 8
//Определяем первый датчик
Ultrasonic OurModuleUp(TRIG_PIN, ECHO_PIN);
//Определяем второй датчик
Ultrasonic OurModuleDown(TRIG2_PIN, ECHO2_PIN);

const unsigned char DataPin = 0;
const unsigned char clockPin = 1;

// Диапазон при котором сработает сенсор
const float minBottomIn = 33.0f;
const float minTopIn = minBottomIn;

//задержка выстрела сенсоров
const long pingReadDelay = 50;

// задержка между ступеньками
const long lightSpacing = 150;
//задержка свечения всей лестницы
const long lightHold = 7000;
//количество ступенек
const byte kol_st = 9;
//маскимальная яркость
const long maxLight = 4095;
//задержка ШИМ
const int delPWM = 5;
//шаг наращивания яркости
const int stepPWM = 100;

//переменная под датчик освещенности
int val;

void setup()
{
Tlc.init();

Serial.begin(9600);
pinMode(DataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}

void loop()
{

val = analogRead(0);
//Проверяем освещенность в помещении
Serial.println(val);

if (val>=1022){

//зажигаем первую и последнюю ступеньку на 5% от максимума
Tlc.set(0,200);
Tlc.set(kol_st-1,200);
Tlc.update();

//проверяем дачтики, сначала верхний, потом нижний
if((OurModuleUp.Ranging(INC) < minTopIn) && (OurModuleUp.Ranging(INC) > 0))
{
Serial.println("Top sensor tripped.");
fadeDOWN();
}
if((OurModuleDown.Ranging(INC) < minTopIn) && (OurModuleDown.Ranging(INC) > 0)) {
Serial.println("Bottom sensor tripped.");
fadeUP();
}

}
else {
//обнуляем первую и последнюю
Tlc.set(0,0);
Tlc.set(kol_st-1,0);
Tlc.update();
}
delay(pingReadDelay);
}

void fadeUP()
{
// Tlc.clear();
for (int i=0; i<kol_st; i++) {
for (int j=0; j<=maxLight; j=j+stepPWM) {
Tlc.set(i,j);
Tlc.update();
delay(delPWM);
}
delay(lightSpacing);
}
delay(lightHold);
for (int i=0; i<kol_st; i++) {
for (int j=maxLight; j>0; j=j-stepPWM) {
if (j<stepPWM) j=0;
Tlc.set(i,j);
Tlc.update();
delay(delPWM);
}
delay(lightSpacing);
}
}

void fadeDOWN()
{
for (int i=kol_st; i>=0; i--) {
for (int j=0; j<=maxLight; j=j+stepPWM) {
Tlc.set(i,j);
Tlc.update();
delay(delPWM);
}
delay(lightSpacing);
}
delay(lightHold);
for (int i=kol_st; i>=0; i--) {
for (int j=maxLight; j>0; j=j-stepPWM) {
if (j<stepPWM) j=0;
Tlc.set(i,j);
Tlc.update();
delay(delPWM);
}
delay(lightSpacing);
}
}

Re: Автоматическое освещение лестницы

Ср июл 25, 2012 16:09:59

Кстати говоря есть готовые решения , например http://ipfgroup.co.uk/ .
Я бы на вашем месте сделал отдельно фотореле , которое давало бы на пин контроллера сразу либо 1 либо 0, исключив таким образом из кода обработку фоторезистора.
Либо как вариант попробовать добавить после проверки датчика освещенности задержку, либо сделать таким образом: если значение датчика освещенности достигло 1022 ждем несколько секунд, затем проверяем еще раз, если оно не меньше 1020 допустим то включаем устройство в работу.
Таким образом если у вас за окном солнце, и тут быстренько по небу пробежит тучка у вас не будет ложных срабатываний + вы избавитесь от мерцания при затемнении (так как мерцание сейчас из-за неравномерности затемнения фоторезистора)
Но я могу и ошибаться, если что поправьте.

Re: Автоматическое освещение лестницы

Чт июл 26, 2012 08:31:13

готовое решение я находил... вот только 99 баксов + доставка.... у меня деталей максимум на 15 вышло :)
решение с инфракрасными датчиками мне не подходит ибо лестница внизу соприкасается со стеной только справа а слева комната...
способ проверки фотодатчика "еще раз" думал... смысла ставить отдельное реле не вижу, ибо теже яйца, только в профиль.
вообщем на эти выходные планирую монтаж на лестницу, потом уже буду игратся с датчиком...
в любом случае -- спасибо за совет.

Re: Автоматическое освещение лестницы

Сб июл 28, 2012 16:50:38

так поставь датчик не "на просвет", а "на отражение" и все станет нормально :beer:

Re: Автоматическое освещение лестницы

Вт июл 31, 2012 06:33:04

Igor Sokol писал(а):готовое решение я находил... вот только 99 баксов + доставка.... у меня деталей максимум на 15 вышло :)
решение с инфракрасными датчиками мне не подходит ибо лестница внизу соприкасается со стеной только справа а слева комната...
способ проверки фотодатчика "еще раз" думал... смысла ставить отдельное реле не вижу, ибо теже яйца, только в профиль.
вообщем на эти выходные планирую монтаж на лестницу, потом уже буду игратся с датчиком...
в любом случае -- спасибо за совет.

Добрый день. Интересно увидеть продолжение своего проекта. Можете схему накидать с этим драйвером?

Re: Автоматическое освещение лестницы

Вт июл 31, 2012 08:25:36

запросто. постараюсь сегодня-завтра

Re: Автоматическое освещение лестницы

Ср авг 01, 2012 12:03:18

схемка где вот такая. включение ТЛС5940 стандартное по даташиту...
на схеме нет преобразователя с 12 на 5 вольт... в принципе и все.

кстати, сделал такой девайс другу, но с небольшими изменениями. пришлось добавить логику "НЕ" и ключи на транзисторах. зато теперь хоть прожекторы зажигай...
Вложения
ardu+tlc5940.jpg
(116.4 KiB) Скачиваний: 2496
Тема закрыта