Maksim, я с програмированием вообще никак. Стыдно конечно. Но, в 45 лет не лезит в голову, как не стараюсь. Решил сделать подсветку в прихожей, залил соответственно этот скетч, с 42 поста. Все настроил, работает. У меня вопрос, нелья сделать так если в момент включенного освещения, проходит второй человек, свечение не выключалось по заданному в программе времени, а продливалось на некоторое время. И по последнему срабатыванию сенсора измнялось направление выключения светодиодов.
На данный момент, получается так. Человек вышел, подсветка ещё горит. Второй пошел, а у него на половине пути, освещение выключится. Т.е, топай в потёмках.
здравствуйте, не подскажете а как можно использовать m5451 для семисегментных дисплеев, в режиме динамической индикации, есть ли какие нибудь библиотеки
Здравствуйте.. попытался сделать ШИМ на 5451... впринципе выходит вполне красиво...
но он полу ручной, то есть некоторые цифры прописаны вручную.
у кого есть идеи как унифицировать - давайте подумаем...
//Устанавливаем контакты для драйвера
#define DATA 8
#define CLOCK 12
//Устанавливаем контакт фоторезистора
#define FOTO A0
//Устанавливаем контакты для первого датчика
#define T1 10
#define E1 6
//Устанавливаем контакты для второго датчика
#define T2 5
#define E2 4
//Устанавливаем контакты для Третьего датчика
#define T3 3
#define E3 2
//Устанавливаем контакт управления яркостью светодиодов
#define BR 9
const byte brightset = 250;// яркость включенной лестницы
const byte brightsetFirstLast = 1; // яркость первой и последнй ступеньки
//Задаем количество светодиодов
#define NUM_LEDS 14
#define NUM_MIDDLE_LEDS 9
const uint32_t masky []= {
0b0000000000000000000000000000001,
0b0000000000000000000000000000001,
0b0000000000000000000000000000001,
0b0000000000000000000000000000001,
0b1000000000000000000000000000001,
0b1000000000000000000000000000001,
0b1000000000000000000000000000001,
0b1000000000000000100000000000001,
0b1000000000100000000000100000001,
0b1000000000000000100000000000001,
0b1000000100000001000000010000001,
0b1000000100000001000000010000001,
0b1000010000010000001000001000001,
0b1000010000010000001000001000001,
0b1000100001000010000100001000001,
0b1000100001000010000100001000001,
0b1010101010101010101010101010101,
0b1101101101101101101101101101101,
0b1111011111011111101111110111111,
0b1111111111111111111111111111111,
};
const uint32_t shadow[] =
{ // бегущая тень
0b11111111111111111110,
0b11111111111111111101,
0b11111111111111111011,
0b11111111111111110111,
0b11111111111111101111,
0b11111111111111011111,
0b11111111111110111111,
0b11111111111101111111,
0b11111111111011111111,
0b11111111110111111111,
0b11111111101111111111,
0b11111111011111111111,
0b11111110111111111111,
0b11111101111111111111,
0b11111011111111111111,
0b11110111111111111111,
0b11111111111111111111,
};
unsigned long FirstLastBitDec; // количество ступенек в двоичном коде типо 0b100000000000000000000....
unsigned long MidleBitDec; // количество ступенек до первого перерыва в двоичном коде типо 0b0000000100000000000000....
uint32_t piss;
uint32_t data;
void setup()
{
Serial.begin(9600);
pinMode(DATA, OUTPUT);
pinMode(CLOCK, OUTPUT);
digitalWrite(CLOCK, HIGH);
digitalWrite(FOTO, HIGH);
pinMode(BR, OUTPUT);
pinMode(T1, OUTPUT);
pinMode(T2, OUTPUT);
pinMode(E1, INPUT);
pinMode(T3, OUTPUT);
pinMode(E3, INPUT);
pinMode(E2, INPUT);
digitalWrite(E1, HIGH);
digitalWrite(E2, HIGH);
DetectBitNumLeds();
FirstLast();
}
void loop() // Основной цикл.
{
//Serial.println(analogRead(FOTO)); //Serial.println(BitDec); // Serial.println(" ");
delay(10);
static bool state, state0;
if (analogRead(FOTO) > 500) state0 = 1; // включение выключеие дежурки
if (analogRead(FOTO) < 200) // гистерезис отключения дежурки
{
state0 = 0;
analogWrite(BR, LOW);
}
if (state0 == 1) FirstLast();
if (analogRead(FOTO) > 500) state = 1; // порог освещенности включения
//else analogWrite(9, LOW); // выключаем ночную подсветку
if (analogRead(FOTO) < 200) state = 0; // порог освещенности выключения
// else analogWrite(9, HIGH); // включаем ночную подсветку
if (state)
{
int D1 = Ultrasonic(T1, E1); // измеряем расстояние НИЖНЕГО датчика
// Serial.print("BOT");
// Serial.println(D1);
if (D1 > 0 && D1 < 80) // если расстояние меньше 70см, то
TurnOnBotTop ();
int D2 = Ultrasonic(T2, E2); // измеряем расстояние ВЕРХНЕГО датчика
// Serial.print("TOP");
// Serial.println(D2);
if (D2 > 0 && D2 < 80) // если расстояние меньше 70см, то
TurnOnTopBot ();
int D3 = Ultrasonic(T3, E3); // измеряем расстояние ВЕРХНЕГО датчика
// Serial.print("MID");
// Serial.println(D3);
if (D3 > 0 && D3 < 80) // если расстояние меньше 70см, то
TurnOnMidle ();
//delay (5000);
//TurnOffMidle();
}
}
void TurnOnMidle ()
{
unsigned long PriviusMidleBitDecBot=0;
unsigned long PriviusMidleBitDecTop=0;
analogWrite (BR, brightset);
if ((NUM_LEDS-NUM_MIDDLE_LEDS)>=NUM_MIDDLE_LEDS)
{
for (char i = 1; i <NUM_MIDDLE_LEDS-1; i++)
{
unsigned long LesenkaTop = (MidleBitDec << i)+PriviusMidleBitDecTop;
unsigned long LesenkaBot = (MidleBitDec >> i)+PriviusMidleBitDecBot;
PWM_MM5450(LesenkaTop+LesenkaBot+FirstLastBitDec+1+MidleBitDec);
//delay(300); // задержка зажигания
PriviusMidleBitDecBot=LesenkaBot;
PriviusMidleBitDecTop=LesenkaTop;
}
for (char i = NUM_MIDDLE_LEDS-1; i <NUM_LEDS-NUM_MIDDLE_LEDS; i++)
{
unsigned long LesenkaTop = (MidleBitDec << i)+PriviusMidleBitDecTop;
unsigned long LesenkaBot = (MidleBitDec >> i)+PriviusMidleBitDecBot;
PWM_MM5450(LesenkaTop+LesenkaBot+FirstLastBitDec+MidleBitDec);
// delay(300); // задержка зажигания
PriviusMidleBitDecBot=LesenkaBot;
PriviusMidleBitDecTop=LesenkaTop;
}
//delay(500);
for (char i= 1; i< NUM_MIDDLE_LEDS-1 ;i++)
{
unsigned long LesenkaTop = ((FirstLastBitDec-MidleBitDec) << i);
unsigned long LesenkaBot = ((MidleBitDec*2-1) >> i);
PWMOFF_MM5450(LesenkaTop+LesenkaBot+MidleBitDec);
//delay(300);
}
for (char i= NUM_MIDDLE_LEDS-1; i<= NUM_LEDS-NUM_MIDDLE_LEDS ;i++)
{//Serial.println(i);
unsigned long LesenkaTop = ((FirstLastBitDec-MidleBitDec) << i);
unsigned long LesenkaBot = ((MidleBitDec*2-1) >> i);
PWMOFF_MM5450(LesenkaTop+MidleBitDec+1);
// delay(300);
}
}
else
{
for (char i = 1; i <= NUM_LEDS-NUM_MIDDLE_LEDS-1; i++)
{
unsigned long LesenkaTop = (MidleBitDec >> i)+PriviusMidleBitDecTop;
unsigned long LesenkaBot = (MidleBitDec << i)+PriviusMidleBitDecBot;
PWM_MM5450(LesenkaTop+LesenkaBot+FirstLastBitDec+1+MidleBitDec);
PriviusMidleBitDecBot=LesenkaBot;
PriviusMidleBitDecTop=LesenkaTop;
//delay(300);// задержка зажигания
}
for (char i = NUM_LEDS-NUM_MIDDLE_LEDS; i < NUM_MIDDLE_LEDS-1; i++)
{
unsigned long LesenkaTop = (MidleBitDec >> i)+PriviusMidleBitDecTop;
unsigned long LesenkaBot = (MidleBitDec << i)+PriviusMidleBitDecBot;
PWM_MM5450(LesenkaTop+LesenkaBot+MidleBitDec+1);
PriviusMidleBitDecBot=LesenkaBot;
PriviusMidleBitDecTop=LesenkaTop;
//delay(300);// задержка зажигания
}
// delay(500);
for (char i= 1; i<= NUM_LEDS-NUM_MIDDLE_LEDS ;i++)
{
unsigned long LesenkaTop = ((FirstLastBitDec-MidleBitDec) << i);
unsigned long LesenkaBot = ((MidleBitDec*2-1) >> i);
PWMOFF_MM5450(LesenkaTop+LesenkaBot+MidleBitDec);
//delay(300);
}
for (char i= NUM_LEDS-NUM_MIDDLE_LEDS+1; i< NUM_MIDDLE_LEDS ;i++)
{
unsigned long LesenkaTop = ((FirstLastBitDec-MidleBitDec) << i);
unsigned long LesenkaBot = ((MidleBitDec*2-1) >> i);
PWMOFF_MM5450(LesenkaBot+MidleBitDec+LesenkaTop+FirstLastBitDec);
// delay(300);
}
}FirstLastAfterON();
}
void TurnOnBotTop () //Зажигаем лестницу снизу вверх
{
analogWrite (BR, brightset);
for (char i = NUM_LEDS - 1; i >NUM_LEDS-NUM_MIDDLE_LEDS; i--) // зажигаем светодиоды в другую сторону
{
PWM_MM5450((FirstLastBitDec*2-1 >> i)+FirstLastBitDec+MidleBitDec);
//delay(300); // задержка зажигания
}
for (char i = NUM_LEDS-NUM_MIDDLE_LEDS - 1; i >0; i--) // зажигаем светодиоды в другую сторону
{
PWM_MM5450((FirstLastBitDec*2-1 >> i)+FirstLastBitDec);
//delay(300); // задержка зажигания
}
// delay(500); // ждем 0,5 секунд
for (int j = 0; j <= 2; j++) // бегущая тень
{
// delay(1000);
for (int k = 0; k <= NUM_LEDS; k++)
{
PWM_MM5450(shadow[k]);
// delay(100);
}
}
for (char i = 1; i < NUM_MIDDLE_LEDS; i++) // тушим светодиоды
{
PWMOFF_MM5450((FirstLastBitDec*2-1 << i)+1);
//delay(300); // задержка затухания
}
for (char i = NUM_MIDDLE_LEDS+1; i < NUM_LEDS; i++) // тушим светодиоды
{
PWMOFF_MM5450((FirstLastBitDec*2-1 << i)+1+MidleBitDec);
//delay(300); // задержка затухания
}
FirstLastAfterON();
}
void TurnOnTopBot () // зажигаем лестницу сверху вниз
{
analogWrite (BR, brightset);
for (char i = NUM_LEDS-1; i > NUM_MIDDLE_LEDS; i--) // зажигаем светодиоды в одну сторону
{
PWM_MM5450((FirstLastBitDec*2-1 << i)+1+MidleBitDec);
// delay(300); // задержка зажигания
}
for (char i = NUM_MIDDLE_LEDS-1; i > 0; i--) // зажигаем светодиоды в одну сторону
{
PWM_MM5450((FirstLastBitDec*2-1 << i)+1);
// delay(300); // задержка зажигания
}
// delay(500); // ждем 15 секунд
for (int j = 0; j <= 2; j++) //бегущая тень
{
PWM_MM5450(shadow[16]);
for (int k = NUM_LEDS; k >=0; k--)
{
PWM_MM5450(shadow[k]);
// delay(100);
}
}
for (char i = 1; i <NUM_LEDS-NUM_MIDDLE_LEDS; i++) // тушим светодиоды
{
PWMOFF_MM5450((FirstLastBitDec*2-1 >> i)+FirstLastBitDec);
// delay(300); // задержка затухания
}
for (char i = NUM_LEDS-NUM_MIDDLE_LEDS+1; i < NUM_LEDS; i++) // тушим светодиоды
{
PWMOFF_MM5450((FirstLastBitDec*2-1 >> i)+FirstLastBitDec+MidleBitDec);
// delay(300); // задержка затухания
}
FirstLastAfterON();
}
void DetectBitNumLeds()//определяем число ступенек в BIN формате первой, последней и той что по середине исходя из количества ступенек
{
FirstLastBitDec=1;
MidleBitDec=1;
for (int i=1;i<NUM_LEDS;i++)
{
FirstLastBitDec=FirstLastBitDec*2;
Serial.println(FirstLastBitDec);
}
for (int j=1;j<NUM_MIDDLE_LEDS;j++)
{
MidleBitDec=MidleBitDec*2;
Serial.println(MidleBitDec);
}
}
void FirstLastAfterON()// зажигаем первую последнюю и ту что посередине после того как прошел
{ for (int i=brightset;i>=brightsetFirstLast;i--)
{analogWrite (BR, i);
MM5450(FirstLastBitDec+MidleBitDec+1);
}
analogWrite (BR, brightsetFirstLast);
MM5450(FirstLastBitDec+MidleBitDec+1);
}
void FirstLast()// зажигаем первую последнюю и ту что посередине
{
analogWrite (BR, brightsetFirstLast);
MM5450(FirstLastBitDec+MidleBitDec+1);
}
int Ultrasonic(byte Trig_pin, byte Echo_pin)// расчитвыем расстояние ультрасоников
{
digitalWrite(Trig_pin, HIGH);
delayMicroseconds(20);
digitalWrite(Trig_pin, LOW);
return pulseIn(Echo_pin, HIGH, 20000) / 29.0 / 2;// возвращение дистанции в см
}
void PWM_MM5450(uint32_t data) // шим включения ступеньки
{
for (int j=0;j<=19;j++)
{
for (int i=0;i<=32;i++)
{
if (masky[j] & (1UL << i))
{
MM5450(data);
}
else
{MM5450(piss);
}
}
}piss=data;
}
void PWMOFF_MM5450(uint32_t data) // шим выключения ступеньки
{
for (int j=19;j>=0;j--)
{
for (int i=0;i<=32;i++)
{
if (masky[j] & (1UL << i))
{
MM5450(piss);
}
else
{MM5450(data);
}
}
}piss=data;
}
void MM5450(uint32_t jopa) // програмка зажигания ступеньки
{byte i;
digitalWrite(DATA, 1);
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
for (i = 0; i < NUM_LEDS; i++)
{
if (jopa & (1UL << i)) digitalWrite(DATA, HIGH);
else digitalWrite(DATA, LOW);
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
}
digitalWrite(DATA, 0);
for (byte j = 0; j < 35 - NUM_LEDS; j++)
{
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
}
}
код писал для себя, у меня есть еще вход в комнату по середине лестницы, поэтому используется три датчика (не обращайте внимание на горящую посерединке ступеньку либо закомментируйте). проверьте pinы от ардуины.
проблемы в том что не использую delay(); а значит установить какие то временные рамки не могу нормально, приходится изголяться..
здравствуйте, не подскажете а как можно использовать m5451 для семисегментных дисплеев, в режиме динамической индикации, есть ли какие нибудь библиотеки
Всем привет. Тоже задумался соорудить такую подсветку, для своей будущей лестницы.
Практически все купил. Остался пока один вопрос. Какой фоторезистор брать? Я правильно понимаю, что можно вообще любой? под какой отлажена программа с 339 поста? Спасибо.
Всем привет. Тоже задумался соорудить такую подсветку, для своей будущей лестницы.
Практически все купил. Остался пока один вопрос. Какой фоторезистор брать? Я правильно понимаю, что можно вообще любой? под какой отлажена программа с 339 поста? Спасибо.
вообще любой пойдет, какой понравится - такой бери....
У меня ардуину будет питает один маломощный БП, а на ленты питание будет идти от другого мощного ватт на 150 БП. Я тут задумался над таким вопросом: зачем постоянно держать под напругой этот мощный БП особенно днем, может запитать его через доп. реле, а этим реле будет управлять ардуина? Кто-нибудь делал такое?
Так что ж там заводить розетка 220 вольт в которую ,кстати, будет подключены и Ваши блоки питания, и для Андруино, и для лент, а нагрузкой у него те же блоки питания и 2-3 метра провода вот и вся синхронизация, потемнело- пиалово подалось на всю систему.
Так что ж там заводить розетка 220 вольт в которую ,кстати, будет подключены и Ваши блоки питания, и для Андруино, и для лент, а нагрузкой у него те же блоки питания и 2-3 метра провода вот и вся синхронизация, потемнело- пиалово подалось на всю систему.
Свет включили - все отрубилось по датчику... Зачем вам отрубать БП? пусть даже и мощный, на холостом ходу сколько он потребляет? полватта? ватт? 1.5-2 рубля мнимой экономии в месяц вам погоду не сделают, а дергать питание ардуины лишний раз смысла нет... Вспомните свой опыт - лампочки в 90% случаях сгорают при включении, ардуина не лампочка, но лишний раз ее дергать не стоит.
а зачем его держать постоянно под напряжением? он же 75% времени будет бездействовать
Обесточивать или нет - ваше личное дело. К чему вас переубеждать? тем более вы сами себя убедили уже в необходимости экономить 1.5-2р в месяц))
У меня куча сотрудников, которые работают за компами, компы никогда не выключаются (по причине того, что по ночам устанавливаются обновления и часть процессов запускаются в ночь). Через 1 час бездействия они конечно "засыпают", потребление снижается в разы, но они все равно потребляют энергию. Но это не суть, есть у меня безопасник, который в силу своей профессиональной специфики постоянно выключает монитор, а когда уходит вечером домой, то и компьютер. Так вот ему я меняю монитор и комп каждые 3 года, другие сотрудники уже и по 5 лет отработали: компы живут, на паре мониторов подсветку меняли... и все))
PS. Помню был у меня когда-то в инстутитуте предмет - "Переходные процессы" - жуткая вещь... вспоминая все что происходит при включении оборудования совсем пропадает желание что-то выключать))) Ну это так, лирическое отступление... сорри за оффтоп.
Главная беда с ШИМ на 5450, длинный цикл загрузки данных. После того как в предел по даташиту его упихал, получается добрых 60мкс, что весьма не мало и оставляет нам пространство только для 16кГц несущей частоты, если мы берем 8бит ШИМ, еле выходит 60Гц частоты ШИМ... К тому же, при таких накладных, держать дежурку на ШИМ вообще не реально и надо ее выставлять через Brightness pin.
R33 это перемычка, поставь 10Ом если хочешь, разницы никакой.. больше 1 кОм - работать не будет... Имхо, резистора там не нужно...
R34 это переменный резистор, на сколько понял от датчика освещения или для замены датчика... там надо подбирать в зависимости от датчика освещения, думаю не больше 1-10 кОм , програмно потом подбираются состояния...
как уже писал выше у меня отличается... по середине лестницы есть еще один вход с полуторного этажа ) поэтому использую три датчика движения.. если поможет , то пользуйся)
это лежит сейчас на тумбочке.. лестница еще не до конца готова.. все проверено, все работает
Здравствуйте, пробовал ваш скейтч для умной лестницы из 182 поста, работает супер, не подскажите как в программе ступени лишние отключать, я начинающий, хочется сделать своми руками:) и схема если есть есть нарисованная тоже посмотреть, не могу с этими полевиками разобраться, спасибо:)).
Здравствуйте, пробовал ваш скейтч для умной лестницы из 182 поста, работает супер, не подскажите как в программе ступени лишние отключать, я начинающий, хочется сделать своми руками:) и схема если есть есть нарисованная тоже посмотреть, не могу с этими полевиками разобраться, спасибо:)).
Скажите пожалуйста на какой схеме вы попробовали данный скейч и работает супер выложите пожалуйста линк
Всмысле на какой схеме?На столе собрал,к микросхеме 5450 подключил по отрезку ленты из трёх светодиодов,смотрел и наслаждался как работает),теперь задача поставить транзисторы для усиления каналов и уменьшить количество ступеней и всё).Неужели так просто вместо цифры 16,поставить например 14 для уменьшения количества ступеней,или ещё где то в программе изменять надо?
Всмысле на какой схеме?На столе собрал,к микросхеме 5450 подключил по отрезку ленты из трёх светодиодов,смотрел и наслаждался как работает),теперь задача поставить транзисторы для усиления каналов и уменьшить количество ступеней и всё).Неужели так просто вместо цифры 16,поставить например 14 для уменьшения количества ступеней,или ещё где то в программе изменять надо?
А что вы имеете в виду из-за блока какой ток нужен если у мкня 16 светильников по 9ват, и что не нужны резисторы на 47 а на 10ком
то что у меня китайский импульсный блок питания, не обращай внимание... если у тебя 16 светиков по 9ват, то и нужно около 150 вт +25%. итого бери 200 вт, не ошибешься...
Привет ! К сожалению, я не знаю русский язык , так пишет tranzlator . У меня есть проблема , что я не могу добавить вручную датчика hcsr04 на этот код , если вы можете мне помочь? приветствия
Вопрос снят.
Проблемой битый контакт.)
Бывает. Всегда есть 2 причины неисправости - есть контакт там где не нужно или нету контакта там где нужно ;)
скажите пожалуйста R14 для чего нужна, а то я уже 4-ый раз пробую и никак не получяется
Проблемой битый контакт.)
за один битый контакт два небитых дают.
Изготавление печатных плат и подсветка лестници !
Maksim, я с програмированием вообще никак. Стыдно конечно. Но, в 45 лет не лезит в голову, как не стараюсь. Решил сделать подсветку в прихожей, залил соответственно этот скетч, с 42 поста. Все настроил, работает. У меня вопрос, нелья сделать так если в момент включенного освещения, проходит второй человек, свечение не выключалось по заданному в программе времени, а продливалось на некоторое время. И по последнему срабатыванию сенсора измнялось направление выключения светодиодов.
Чувак намудрил слишком. Но в общем понять можно. Это все "инженерно и с запасом" получилось :)
Нет. Нужно переписывать код на "риалтайм", без delay
На данный момент, получается так. Человек вышел, подсветка ещё горит. Второй пошел, а у него на половине пути, освещение выключится. Т.е, топай в потёмках.
здравствуйте, не подскажете а как можно использовать m5451 для семисегментных дисплеев, в режиме динамической индикации, есть ли какие нибудь библиотеки
Здравствуйте.. попытался сделать ШИМ на 5451... впринципе выходит вполне красиво...
но он полу ручной, то есть некоторые цифры прописаны вручную.
у кого есть идеи как унифицировать - давайте подумаем...
код писал для себя, у меня есть еще вход в комнату по середине лестницы, поэтому используется три датчика (не обращайте внимание на горящую посерединке ступеньку либо закомментируйте). проверьте pinы от ардуины.
проблемы в том что не использую delay(); а значит установить какие то временные рамки не могу нормально, приходится изголяться..
здравствуйте, не подскажете а как можно использовать m5451 для семисегментных дисплеев, в режиме динамической индикации, есть ли какие нибудь библиотеки
Не очень понятно, что имеете ввиду под "динамической" индикацией. Как минимум есть https://github.com/supercrab/arduino-seven-segment
Всем привет. Тоже задумался соорудить такую подсветку, для своей будущей лестницы.
Практически все купил. Остался пока один вопрос. Какой фоторезистор брать? Я правильно понимаю, что можно вообще любой? под какой отлажена программа с 339 поста? Спасибо.
Всем привет. Тоже задумался соорудить такую подсветку, для своей будущей лестницы.
Практически все купил. Остался пока один вопрос. Какой фоторезистор брать? Я правильно понимаю, что можно вообще любой? под какой отлажена программа с 339 поста? Спасибо.
вообще любой пойдет, какой понравится - такой бери....
понятно. спасибо) буду тренироваться.
У меня ардуину будет питает один маломощный БП, а на ленты питание будет идти от другого мощного ватт на 150 БП. Я тут задумался над таким вопросом: зачем постоянно держать под напругой этот мощный БП особенно днем, может запитать его через доп. реле, а этим реле будет управлять ардуина? Кто-нибудь делал такое?
dukes, можно и через реле освещенности
тогда надо ставить реле освещенности и синхронизировать его работу с ардуиной плюс отдельное питание на него заводить.
Так что ж там заводить розетка 220 вольт в которую ,кстати, будет подключены и Ваши блоки питания, и для Андруино, и для лент, а нагрузкой у него те же блоки питания и 2-3 метра провода вот и вся синхронизация, потемнело- пиалово подалось на всю систему.
Так что ж там заводить розетка 220 вольт в которую ,кстати, будет подключены и Ваши блоки питания, и для Андруино, и для лент, а нагрузкой у него те же блоки питания и 2-3 метра провода вот и вся синхронизация, потемнело- пиалово подалось на всю систему.
ОООО, я об этом не подумал. можноже все разом выключать. а ардуинке плохо не станет если во время выполнения программы ей питание обрубать?
Свет включили - все отрубилось по датчику... Зачем вам отрубать БП? пусть даже и мощный, на холостом ходу сколько он потребляет? полватта? ватт? 1.5-2 рубля мнимой экономии в месяц вам погоду не сделают, а дергать питание ардуины лишний раз смысла нет... Вспомните свой опыт - лампочки в 90% случаях сгорают при включении, ардуина не лампочка, но лишний раз ее дергать не стоит.
а зачем его держать постоянно под напряжением? он же 75% времени будет бездействовать
а зачем его держать постоянно под напряжением? он же 75% времени будет бездействовать
Обесточивать или нет - ваше личное дело. К чему вас переубеждать? тем более вы сами себя убедили уже в необходимости экономить 1.5-2р в месяц))
У меня куча сотрудников, которые работают за компами, компы никогда не выключаются (по причине того, что по ночам устанавливаются обновления и часть процессов запускаются в ночь). Через 1 час бездействия они конечно "засыпают", потребление снижается в разы, но они все равно потребляют энергию. Но это не суть, есть у меня безопасник, который в силу своей профессиональной специфики постоянно выключает монитор, а когда уходит вечером домой, то и компьютер. Так вот ему я меняю монитор и комп каждые 3 года, другие сотрудники уже и по 5 лет отработали: компы живут, на паре мониторов подсветку меняли... и все))
PS. Помню был у меня когда-то в инстутитуте предмет - "Переходные процессы" - жуткая вещь... вспоминая все что происходит при включении оборудования совсем пропадает желание что-то выключать))) Ну это так, лирическое отступление... сорри за оффтоп.
linker1185 скажи пожалуйста как севить правильно irf714 к светодиодом какие выходы и к смд какие выходы
linker1185 скажите както так должно выйти http://forum.amperka.ru/attachments/img_20150206_160256-2-jpg.2324/
?????????????
спосибо
Главная беда с ШИМ на 5450, длинный цикл загрузки данных. После того как в предел по даташиту его упихал, получается добрых 60мкс, что весьма не мало и оставляет нам пространство только для 16кГц несущей частоты, если мы берем 8бит ШИМ, еле выходит 60Гц частоты ШИМ... К тому же, при таких накладных, держать дежурку на ШИМ вообще не реально и надо ее выставлять через Brightness pin.
вид снизу
скажите пожалуйста какой номинал у R10, R12 R33
и зачем нужен R34
выдели красным где они стоят, по картинке не видно
Дай Бох паймете
И если возможна поставьте реальную фото с верзнем и нижнем видом спосибо
R10 и R12 по 10 кОм
R33 это перемычка, поставь 10Ом если хочешь, разницы никакой.. больше 1 кОм - работать не будет... Имхо, резистора там не нужно...
R34 это переменный резистор, на сколько понял от датчика освещения или для замены датчика... там надо подбирать в зависимости от датчика освещения, думаю не больше 1-10 кОм , програмно потом подбираются состояния...
а у Вас готовый проект есть можете сфотографировать
как уже писал выше у меня отличается... по середине лестницы есть еще один вход с полуторного этажа ) поэтому использую три датчика движения.. если поможет , то пользуйся)
это лежит сейчас на тумбочке.. лестница еще не до конца готова.. все проверено, все работает
Спосибо
Здравствуйте, пробовал ваш скейтч для умной лестницы из 182 поста, работает супер, не подскажите как в программе ступени лишние отключать, я начинающий, хочется сделать своми руками:) и схема если есть есть нарисованная тоже посмотреть, не могу с этими полевиками разобраться, спасибо:)).
Здравствуйте, пробовал ваш скейтч для умной лестницы из 182 поста, работает супер, не подскажите как в программе ступени лишние отключать, я начинающий, хочется сделать своми руками:) и схема если есть есть нарисованная тоже посмотреть, не могу с этими полевиками разобраться, спасибо:)).
Скажите пожалуйста на какой схеме вы попробовали данный скейч и работает супер выложите пожалуйста линк
В 17 и 18 строке же написано..
задаём кол-во ступенек
#define NUM_LEDS 16
в данном случае вместо 16 пишите сколько вам надо
схемы смотрите где то там же , выкладывали уже не раз , во всех возможных форматах))
Всмысле на какой схеме?На столе собрал,к микросхеме 5450 подключил по отрезку ленты из трёх светодиодов,смотрел и наслаждался как работает),теперь задача поставить транзисторы для усиления каналов и уменьшить количество ступеней и всё).Неужели так просто вместо цифры 16,поставить например 14 для уменьшения количества ступеней,или ещё где то в программе изменять надо?
если собрано, то просто проверьте... помоему в 182 посту уже подправлено, и там достаточно изменить цифру..
полевики если используете irf7314 или подобный подключаются так
почти монтажная схема выглядит так.
резисторы что от +12В ставь на 10 кОм, те что от ног м5450 ставь 1 кОм
От делителя напряжения я лично отказался. посколько по даташиту ардуинка нано
у меня работает, чуть теплая... Делитель напряжения грелся гораздо сильнее... возможно из-за блока питания, не проверял..
Всмысле на какой схеме?На столе собрал,к микросхеме 5450 подключил по отрезку ленты из трёх светодиодов,смотрел и наслаждался как работает),теперь задача поставить транзисторы для усиления каналов и уменьшить количество ступеней и всё).Неужели так просто вместо цифры 16,поставить например 14 для уменьшения количества ступеней,или ещё где то в программе изменять надо?
В смысле по какому рисунку подключял компоненты
если собрано, то просто проверьте... помоему в 182 посту уже подправлено, и там достаточно изменить цифру..
полевики если используете irf7314 или подобный подключаются так
почти монтажная схема выглядит так.
резисторы что от +12В ставь на 10 кОм, те что от ног м5450 ставь 1 кОм
От делителя напряжения я лично отказался. посколько по даташиту ардуинка нано
у меня работает, чуть теплая... Делитель напряжения грелся гораздо сильнее... возможно из-за блока питания, не проверял..
А что вы имеете в виду из-за блока какой ток нужен если у мкня 16 светильников по 9ват, и что не нужны резисторы на 47 а на 10ком
то что у меня китайский импульсный блок питания, не обращай внимание... если у тебя 16 светиков по 9ват, то и нужно около 150 вт +25%. итого бери 200 вт, не ошибешься...
А монтажную плату без делителя напряжение можеш поставить
попробую, спасибо, а такие полевики в DIP корпусе бывают?
количество ступеней понял как менять, в 182 посту что такое : //Устанавливаем контакт управления яркостью светодиодов
Привет ! К сожалению, я не знаю русский язык , так пишет tranzlator . У меня есть проблема , что я не могу добавить вручную датчика hcsr04 на этот код , если вы можете мне помочь? приветствия
http://technika-laika.blogspot.com/2014/09/sterownik-oswietlenia-schodow...
#define BR 9, я его не подключал все работает, можно узнать что и как это готовить?
Этим контактом задается яркость первой и последней ступеней в тёмное время.
Подскажите пожалуйста, как сделать чтобы первая и и последняя ступень горела в пол накала
А в чем проблема? Первая с последней горят ярко или совсем не горят?
ярко горят, как и все, хочется чтобы ночью горели в пол накала, а то ночью по глазам сильно светят