Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Ср июн 27, 2012 13:50:50
Добрый день, уважаемые коты!
Направте, пожалуйста, на путь истинный. Нашел интересный проэкт
http://lukjanow.ru/2012/04/automatic-il ... s-arduino/но, хотел бы сделать (или лучше переделать?) в следующее:
1. Светодиоды RGB для возможности смены цвета подсветки (и, или каких-нибудь эффектов)
2. Зажигание светодиодов сделать по ШИМ
3. Включать подсветку на 1-ой и последней ступенкька с наступленем темноты на 10-20% можности
Или лучше отказаться от RGB и сделать просто ШИМ...
Как платформу собираюсь использовать Ардушку, ультразвууковые датчики тоже есть
Посоветуйте каким образом грамотно организовать сие дело.
Количество ступенек 16 шт.
Жду советов. Заранее всем спасибо!
Ср июн 27, 2012 16:03:18
Переделок слишком много получается. Проще написать с нуля, заодно избавится от ардуины. Если брать AVR, то подойдет любой с АЦП (для определения темноты) и SPI (для управления 16х3 каналами светодиодов), т.е. практически любой, даже семейства TINY.
Чт июн 28, 2012 18:42:10
Проект интересный. Скоро буду пилить подобное, только для коридора.
Не совсем понял эти моменты.
Igor Sokol писал(а):Зажигание светодиодов сделать по ШИМ
Или лучше отказаться от RGB и сделать просто ШИМ
Без ШИМа не вариант сделать плавное затухание и зажигание. а цвета это немного другая история.
Удваиваю
Engineer_Keen. Без ардуины выйдет дешевле и опыта(experience) получишь больше. Для определения темноты либо датчик либо часики даласовские (к ним потом прикрутишь дисплей, холодильник, пылесо.. умный дом короче /flight of ideas).
А вот от бампера звукового я бы отказался в пользу ИК бампера/барьера или механики/пьез на ступеньках.
Пт июн 29, 2012 10:15:36
И насчет ультразвука согласен с VIRUS_6666, он имеет смысл когда нужно расстояние до объекта мерить, а вам нужно просто обнаружение "пересечения объектом луча", так что ИК или механического датчика хватит. А вот для определения темноты лучше все-таки использовать фотодиод/фототранзистор, так как освещенность вряд ли будет совпадать со временем суток...
Пт июн 29, 2012 11:51:05
Только пришло в голову.
Как-то видел на тюбике подобное.
Суть такова: каждая ступенька оборудована сенсором, и светятся не все разом, а только та ступенька на которой стоишь и, в пол силы, одна выше и ниже. ОЧЕ КРУТО ). Хотя если память мне не изменяет в том проекте лестница была стеклянная и пластины подсвечивались "в ребро".
В общем, как говориться, было бы желание, а идей и их реализаций великое множество.
Пн июл 02, 2012 08:55:32
За советы спасибо. Буду просматривать варианты.
Но, наверное, всетаки буду делать на ардушке, бутлоудер в принципе в любую мегу прошить можна...
Да и програмить на ней несложно... так как я в программировании новичек.
Иначе без помощи никак...
Почему советуете отказатся от ультразвуковых барьеров?
Пн июл 02, 2012 09:40:28
Патамучта, они дороже (3 бака на ибэе), с ними придётся погемороить потому, что они выдают не просто данные есть что перед ними или нет, а имеют вполне конкретный протокол общения, который придётся обрабатывать. ик-барьер или механика куда проще.
для общего развития вот ссыль на статью про эти дальномеры
http://avrproject.ru/publ/kak_podkljuchit/ultrasonic_sonar_hc_sr04/2-1-0-51Да и програмить на ней несложно... так как я в программировании новичек.
Иначе без помощи никак...
сложная задача - лучший способ улучшить свои навыки. А в помощи я думаю не откажут. Ну или можешь сделать на ардуине, а потом перенести на нормальное устройство.
Пн июл 02, 2012 09:57:48
Так и хочу. Сначала на ардушке - потом на мегу. ультразвуковіе барьеры уже есть, просто валяются... хотя переделать пару строк будет не проблема.
Как смотрите на TLC5940NT? хоть и дороговата, но зато сразу 16 каналов ШИМ.
итого их нада всего 3...
вообщем начинаю генерировать код. буду выкладывать сюда, если кому интересно...
Пн июл 02, 2012 11:35:33
Идейно. но вот, как мне кажется, проект достаточно простой и зачем городить огород с этой дорогой и большой микрой. Шим вполне можно сделать программно если в контроле его нет. если раскинуть мозгами - можно даже на тиньке 13 реализовать и тогда всё будет уберкомпактно. хотя без этой микры придётся ставитьсиловые ключи для подключения светодиодных лент...
Пн июл 02, 2012 12:20:40
Короче заинтересовался, т.к. тоже присутствует лестница на даче. RGB делать не буду (пока), т.к. это именно подсветка, а не декоративное освещение. Остановился на tiny24+пара 595-х регистров (не 13-я тинька просто потому что в наличии есть 24-е). Светодиоды собираюсь подключать к регистрам через полевики (как раз раздраконил старую материнку, там была куча k3919). Пока сделал только ШИМ. На 8МГц тактовой легко получается 100Гц ШИМ для 16 выходов при 8 битах. Теоретически можно и до 48 каналов сделать.
Пн июл 02, 2012 13:36:14
М-да... по-белому Вам завидую. Я в программировании не селен.... потому и выбрал ардушку.
PS. Вот так всегда, кому почти непосильная задача, а кому 15 минут работы и воплощение на том, "что есть в ящике"...
Пн июл 02, 2012 16:45:44
Igor Sokol писал(а):М-да... по-белому Вам завидую. Я в программировании не селен.... потому и выбрал ардушку.
PS. Вот так всегда, кому почти непосильная задача, а кому 15 минут работы и воплощение на том, "что есть в ящике"...
кому надо - берите
делал знакому давно
просто: нажал 1 раз коротко - одно время, нажал и подержал - время работы увеличится на (непомню) сколько сек
перемычками всё задаётся
Не жалуется, значит доволен
http://narod.ru/disk/55002420001.d8a0a6 ... v.zip.html
Чт июл 19, 2012 15:53:15
Ну, вообщем родил я таки сий проект. Собрал на ардушке микро и драйвере tlc5940 (16 каналов).
датчики ультразвуковые, четырехпроводные. Дороговато, зато просто и быстро...
Включается по фоторезостору.
Схему не рисовал, все и так понятно. кому интересно - могу выслать скетч и фотки на макетке. в принципе могу и схему отрисовать...
Песпектив много - подключение еще парочки драйверов позволит делать RGB, еще можна сделать эфекты всякие там, подключить дистанционку и т.п. замена датчиков на инфракрасные... вообщем есть где разгулятся...
Пн июл 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);
}
}
Ср июл 25, 2012 16:09:59
Кстати говоря есть готовые решения , например
http://ipfgroup.co.uk/ .
Я бы на вашем месте сделал отдельно фотореле , которое давало бы на пин контроллера сразу либо 1 либо 0, исключив таким образом из кода обработку фоторезистора.
Либо как вариант попробовать добавить после проверки датчика освещенности задержку, либо сделать таким образом: если значение датчика освещенности достигло 1022 ждем несколько секунд, затем проверяем еще раз, если оно не меньше 1020 допустим то включаем устройство в работу.
Таким образом если у вас за окном солнце, и тут быстренько по небу пробежит тучка у вас не будет ложных срабатываний + вы избавитесь от мерцания при затемнении (так как мерцание сейчас из-за неравномерности затемнения фоторезистора)
Но я могу и ошибаться, если что поправьте.
Чт июл 26, 2012 08:31:13
готовое решение я находил... вот только 99 баксов + доставка.... у меня деталей максимум на 15 вышло
решение с инфракрасными датчиками мне не подходит ибо лестница внизу соприкасается со стеной только справа а слева комната...
способ проверки фотодатчика "еще раз" думал... смысла ставить отдельное реле не вижу, ибо теже яйца, только в профиль.
вообщем на эти выходные планирую монтаж на лестницу, потом уже буду игратся с датчиком...
в любом случае -- спасибо за совет.
Сб июл 28, 2012 16:50:38
так поставь датчик не "на просвет", а "на отражение" и все станет нормально
Вт июл 31, 2012 06:33:04
Igor Sokol писал(а):готовое решение я находил... вот только 99 баксов + доставка.... у меня деталей максимум на 15 вышло
решение с инфракрасными датчиками мне не подходит ибо лестница внизу соприкасается со стеной только справа а слева комната...
способ проверки фотодатчика "еще раз" думал... смысла ставить отдельное реле не вижу, ибо теже яйца, только в профиль.
вообщем на эти выходные планирую монтаж на лестницу, потом уже буду игратся с датчиком...
в любом случае -- спасибо за совет.
Добрый день. Интересно увидеть продолжение своего проекта. Можете схему накидать с этим драйвером?
Вт июл 31, 2012 08:25:36
запросто. постараюсь сегодня-завтра
Ср авг 01, 2012 12:03:18
схемка где вот такая. включение ТЛС5940 стандартное по даташиту...
на схеме нет преобразователя с 12 на 5 вольт... в принципе и все.
кстати, сделал такой девайс другу, но с небольшими изменениями. пришлось добавить логику "НЕ" и ключи на транзисторах. зато теперь хоть прожекторы зажигай...
- Вложения
-
- ardu+tlc5940.jpg
- (116.4 KiB) Скачиваний: 2500
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.