А я вот за основу Вашу платку беру, ну компановку, да и разводку, размеры чуть,наверное, увеличить прийдется, а вот с подсветкой буду думать, как сделеть разводку так, что бы ну, предположим, перемычкой, обойтись, либо есть подсветка- либо нет.
kruzhnoff, я бы кнопку поставил. Я, конечно, понимаю и прошу прощения, что "...умная мысля, приходит опосля..."- мне раньше надо было Вам предлагать это, в предыдущем моем посте, но простите, 29 лет службы, а каждый год забирал у офицера СА 4% ума, нервы не к черту.
kruzhnoff, я бы кнопку поставил. Я, конечно, понимаю и прошу прощения, что "...умная мысля, приходит опосля..."- мне раньше надо было Вам предлагать это, в предыдущем моем посте, но простите, 29 лет службы, а каждый год забирал у офицера СА 4% ума, нервы не к черту.
Ну смотри, надо что бы была подсветка, нажал на кнопку и пятая нога на 19-ю ногу-отпустил и 1ком на 19 ногу.
Ордена Ленина Забайкальский военный округ, 154 узел связи 53 ракетной армии в/ч 77127 Начальник телеграфного центра.. Там развалины ныне одни обозначены .г.Чита на северо- восток Wikimapia в помощь. О, и у нас пркрытие было "дом отдыха"Полянка".
ребята здраствуите я уже пару недель все читаю этот форум и уже успел запутатся, дйте пожалуйста правилиный и финальный скетч но и правильную и финальную схему. Буду очень признателен. Заранее блогодарю
pogriban, я, например, на монтажке собираю и потихоньку наращиваю принципиальную схему. На сегодняшний день проврен скетч из поста 182 от уважаемого maxsim на основе от denyang.
У меня, старый, советский еще фоторзистор,снятый с какой-то аппаратуры- вроде норамально. Пальцем закрываешь- работате , открываешь не работает. Надо бы, конечно, днем при дневном свете проверить, а то я работаю в подвале, а там лампы дневнго света, но вроде срабатывает.Сегодня приобрел датчик освещености- самый дешевый , хочу фотоспротивление обновить.
так подключил и в принципальную схему но не хочет, и в програме не вижу где проверяется если день или ночь
У меня тоже не работает. И дело не в фоторезисторе. В свой скетч maksim забыл добавить параметры (условия) фоторезистора. Проще говоря в программе нет фоторезистора. Поэтому и не работает.
//Устанавливаем контакт управления яркостью светодиодов
#define BR 9
const byte brightset = 255;
//Задаем количество светодиодов
#define NUM_LEDS 16
const uint32_t mask = 0b1111111111111111;
void setup()
{
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(E2, INPUT);
digitalWrite(E1, HIGH);
digitalWrite(E2, HIGH);
FirstLast();
}
void loop()
{
if (analogRead(FOTO) < 100) // intensitatea luminii
{
int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика
if (D1 > 0 && D1 < 10) // если расстояние меньше 100см, то
{
analogWrite (BR, brightset);
for (char i = NUM_LEDS - 1; i >= 0; i--) // зажигаем светодиоды в одну сторону
{
MM5450(mask << i);
delay(200); // задержка зажигания
}
delay(10000); // ждем 3 секунды
for (char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды
{
MM5450(mask >> i);
delay(200); // задержка затухания
}
FirstLast();
}
int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика
if (D2 > 0 && D2 < 10) // если расстояние меньше 100см, то
{
analogWrite (BR, brightset);
for (char i = NUM_LEDS - 1; i >= 0; i--) // зажигаем светодиоды в другую сторону
{
MM5450(mask >> i);
delay(200); // задержка зажигания
}
delay(10000); // ждем 3 секунды
for (char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды
{
MM5450(mask << i);
delay(200); // задержка затухания
}
FirstLast();
}
delay(20);
}
}//
с фоторезистором я вот так разобрался там if (analogRead(FOTO) < 100) только с значением 100 надо поиграстся в зависимость от фоторезистора, и не зобудьте про //digitalWrite(FOTO, HIGH);
//Устанавливаем контакты для драйвера
#define DATA 6
#define CLOCK 7
//Устанавливаем контакт фоторезистора
#define FOTO A0
//Устанавливаем контакты для первого датчика
#define T1 12
#define E1 13
//Устанавливаем контакты для второго датчика
#define T2 10
#define E2 11
//Устанавливаем контакт управления яркостью светодиодов
#define BR 9
const byte brightset = 255;
//Задаем количество светодиодов
#define NUM_LEDS 17
const uint32_t mask = 0b11111111111100000;
void setup()
{
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(E2, INPUT);
digitalWrite(E1, HIGH);
digitalWrite(E2, HIGH);
FirstLast();
}
void loop()
{
static bool state;
if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения
if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения
if(state)
{
int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика
if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то
{
analogWrite (BR, brightset);
for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону
{
MM5450(mask<<i);
delay(300); // задержка зажигания
}
delay(15000); // ждем 15 секунд
for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды
{
MM5450(mask>>i);
delay(300); // задержка затухания
}
FirstLast();
}
int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика
if(D2 > 0 && D2 < 70) // если расстояние меньше 70см, то
{
analogWrite (BR, brightset);
for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в другую сторону
{
MM5450(mask>>i);
delay(300); // задержка зажигания
}
delay(15000); // ждем 15 секунд
for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды
{
MM5450(mask<<i);
delay(300); // задержка затухания
}
FirstLast();
}
delay(20);
}
}
void FirstLast()
{
analogWrite (BR, 20);
MM5450(0b10000000000100000);
}
int Ultrasonic(byte Trig_pin, byte Echo_pin)
{
digitalWrite(Trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(Trig_pin, LOW);
return pulseIn(Echo_pin, HIGH, 20000)/29.0/2;
}
void MM5450(uint32_t data)
{
digitalWrite(DATA, 1);
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
for(byte i = 0; i < NUM_LEDS; i++)
{
if(data & (1UL<<i)) digitalWrite(DATA, HIGH);
else digitalWrite(DATA, LOW);
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
}
digitalWrite(DATA, 0);
for(byte i = 0; i < 35-NUM_LEDS; i++)
{
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
}
}
НО, что в моём, что в Вашем случае (пробывал менять половину скетча на вашу) режим ночной подсветки получается не совсем ночным, а круглосуточным. Т.е. он не отключается если фоторезистор засвечен. Подсветка лестницы при засвете отключатся, а ночной режим нет, так и светят в пол накала первый и последний светодиод независимо от состояния фоторезистора.
С настройкой фоторезистора нужно дейсвительно "поиграться", как бы подобрать под свой фоторезистор и освещение. Я вот подстраивал уже по месту размещения фоторезистора на его постоянном месте на лестнице - менял циферку туда\сюда ;).
С настройкой фоторезистора нужно дейсвительно "поиграться", как бы подобрать под свой фоторезистор и освещение. Я вот подстраивал уже по месту размещения фоторезистора на его постоянном месте на лестнице - менял циферку туда\сюда ;).
Там дело не в фоторезисторе и его настройках. Проблема в том, что при засветке фоторезистора лестница (ультрасоники) отключаются, а так называемая ночная подсветка (две крайнии ступени) нет. Т.е. при засвеченом фоторезисторе горят два светодиода в пол накала (первый и последний) и ультрасоники не реагируют на движение, лестница не включается.
Надо, что то в коде подправить. А, что я не знаю, уже голову сломал. Опыта не хватает.
С настройкой фоторезистора нужно дейсвительно "поиграться", как бы подобрать под свой фоторезистор и освещение. Я вот подстраивал уже по месту размещения фоторезистора на его постоянном месте на лестнице - менял циферку туда\сюда ;).
Там дело не в фоторезисторе и его настройках. Проблема в том, что при засветке фоторезистора лестница (ультрасоники) отключаются, а так называемая ночная подсветка (две крайнии ступени) нет. Т.е. при засвеченом фоторезисторе горят два светодиода в пол накала (первый и последний) и ультрасоники не реагируют на движение, лестница не включается.
Надо, что то в коде подправить. А, что я не знаю, уже голову сломал. Опыта не хватает.
Попробуйте вывести данные с фоторезистора и ультрасоника для отладки через функции
Попробуйте вывести данные с фоторезистора и ультрасоника для отладки через функции
Serial.begin(9600); Serial.println(analogValue);
Фоторезистор как раз то ки работает как надо. Фоторезистор отключает лестницу когда светло, и включает когда темно. А вот ночная подсветка в этот момент не отключается она включена всегда и днём и ночью. Т.е. в скетче надо где то прописать, что вместе с лестницей днём (когда светло, фоторезистор засвечен) должна отключаться ночная подсветка.
Неужели этот косяк только у меня, а остальных всё работает как надо?! Т.е. ночная подсветка при засветке фоторезистора отключается.
Я пока ничего не могу сказать. Завтра должны прийти ключи, если все сложится удачно, под них печатку сделаю, сею на основе Вашей платы, нарисовано 80%, размер, конечно, поболее будет, но и блок питания у меня 150 Вт, а он размеров тоже немалых. На мотаже то же как-то нестабильно работает.
Тоже не подскажу, так как у меня работает без ночной подсветки (руки еще не дошли но надо будет доделать) У меня работает кажись еще по скетчу из 53 сообщения.
//Устанавливаем контакты для драйвера
#define DATA 6
#define CLOCK 7
//Устанавливаем контакт фоторезистора
#define FOTO A0
//Устанавливаем контакты для первого датчика
#define T1 12
#define E1 13
//Устанавливаем контакты для второго датчика
#define T2 10
#define E2 11
//Устанавливаем контакт управления яркостью светодиодов
#define BR 9
const byte brightset = 255;
//Задаем количество светодиодов
#define NUM_LEDS 17
const uint32_t mask = 0b11111111111100000;
int *var;
void setup()
{
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(E2, INPUT);
digitalWrite(E1, HIGH);
digitalWrite(E2, HIGH);
if(*var < 990){
FirstLast();
}
}
void loop()
{
static bool state;
var = analogRead(FOTO);
if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения
if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения
if(state)
{
int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика
if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то
{
analogWrite (BR, brightset);
for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону
{
MM5450(mask<<i);
delay(300); // задержка зажигания
}
delay(15000); // ждем 15 секунд
for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды
{
MM5450(mask>>i);
delay(300); // задержка затухания
}
FirstLast();
}
int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика
if(D2 > 0 && D2 < 70) // если расстояние меньше 70см, то
{
analogWrite (BR, brightset);
for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в другую сторону
{
MM5450(mask>>i);
delay(300); // задержка зажигания
}
delay(15000); // ждем 15 секунд
for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды
{
MM5450(mask<<i);
delay(300); // задержка затухания
}
FirstLast();
}
delay(20);
}
}
void FirstLast()
{
analogWrite (BR, 20);
MM5450(0b10000000000100000);
}
int Ultrasonic(byte Trig_pin, byte Echo_pin)
{
digitalWrite(Trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(Trig_pin, LOW);
return pulseIn(Echo_pin, HIGH, 20000)/29.0/2;
}
void MM5450(uint32_t data)
{
digitalWrite(DATA, 1);
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
for(byte i = 0; i < NUM_LEDS; i++)
{
if(data & (1UL<<i)) digitalWrite(DATA, HIGH);
else digitalWrite(DATA, LOW);
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
}
digitalWrite(DATA, 0);
for(byte i = 0; i < 35-NUM_LEDS; i++)
{
digitalWrite(CLOCK, LOW);
digitalWrite(CLOCK, HIGH);
}
}
Выдаёт вот такую ошибку.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows XP), Board: "Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328"
LEDstairs_nightBP.ino: In function 'void loop()':
LEDstairs_nightBP:44: error: invalid conversion from 'int' to 'int*'
kruzhnoff, ну не въеду- смотрю по даташиту на IRF7314, Вашу печатную плату - согласно даташиту входа 2 и 4, выходы 1 и 3, а вот на 5,6,7,8, подается VCC , в нашем случае +12V, а на печатке у Вас вроде как сигнал снимается с 7,8 и 5,6
kruzhnoff, ну не въеду- смотрю по даташиту на IRF7314, Вашу печатную плату - согласно даташиту входа 2 и 4, выходы 1 и 3, а вот на 5,6,7,8, подается VCC , в нашем случае +12V, а на печатке у Вас вроде как сигнал снимается с 7,8 и 5,6
Плохо смотрите. Вот, здесь всё нарисовано:
Т.е. 1, 3- вход +12v, 2, 4- управление (вход с микросхемы ), 5, 6 и 7, 8 выход +12v (+ на светодиоды).
У себя на лестнице я применил светодиодные лампочки (220в) внизу около ступеней и проходные выключатели. Внизу включаю лампочки, захожу наверх- выключаю. И наоборот. Но увидел в инете ролики и загорелся тоже сделать.
У себя на лестнице я применил светодиодные лампочки (220в) внизу около ступеней и проходные выключатели. Внизу включаю лампочки, захожу наверх- выключаю. И наоборот. Но увидел в инете ролики и загорелся тоже сделать.
Поверьте мне вещь нужная и стоящая ! У меня работает уже годика два. И обходиться сравнительно недорого. Правда с проводами придеться повозиться ;)
Спасибо! Ссылки уже смотрю. Там сборки для 14 ступеней. а у меня 16. Местный вариант подходит больше, но прошивка не доработана.
У меня 12 ступений и те варианты меня устраивают, но я их уже увидел когда собрал этот. Поэтому теперь пытаюсь доработать прошивку. Но пока с малым успехом.
Максим приветствую . перечитал форум и понял что вы самый продвинутый в этом вопросе . У меня всё тот же ))) . Я взял несколько с этого форума скетчей и думаю что они являются рабочимии , так ли это ? , все написанны или редактированны вами, У меня ардуино уно , драйвер 4550 , датчики SR 04 . Проблемма в том что технически вроде бы соединил как надо к нужным выводам , загрузка проходит идеально , загружаю с помощью Arduino 1.04 . Разные скетчи проблема одна светодиоды не зажигаються , каков алгоритм поиска неисправности ? питание на датчики и драйвер поступают . где искать дальше не представляю
В принцыпе irf 7314 можно заменить любым другим P-канальным транзистором (например этим). Но чем irf7314 не доступен? В чип и дип всегда есть и стоит 20 рублей (если брать больше 3-х).
Уперся - не могу записать скетч в девай как на форуме, только кварцик на 160000, вроде все делаю как написано, но мимо кассы все http://forum.arduino.cc/index.php?topic=280690.0, может кто поможет. Правда есть еще вариант робовать с помощью UNO прожечь.
У меня была (точней есть) проблема с одним ардуино, выдает такую ошибку при загрузке скетча. Поставил другую (от другого продовца и производителя) всё работает как надо. Походу брак попался.
Прошился!!!!! Завтра если время будет на работе буду платку травить.
Если кому -то понадобится
Проблема решилась так.
Шился с помощью , куленной у китайца pl2303. Сварганил так же , как в этой статье http://фридуин.ство.рф/?p=920. Подцепился на RST согласно статьи и далее по штату подключил VCC,TXO,RTX,GND. Обновил дровишки для PL2303 и все прошло на "УРА!". Сначала для проверки "Blink" . Ну зато столько перекурил сайтов, сколько почерпнул знаний в 56-ть лет:" Коммунистом стать может лишь тот, кто обогатит свою память всеми теми знаниями, что выработало человечество!" (В.И.Ленин) было написано в клубе СВВИУС им. 60-ти летия Великого Октября.
А я вот за основу Вашу платку беру, ну компановку, да и разводку, размеры чуть,наверное, увеличить прийдется, а вот с подсветкой буду думать, как сделеть разводку так, что бы ну, предположим, перемычкой, обойтись, либо есть подсветка- либо нет.
Вот переделал ту плату под ночную подсветку (схему не менял только плату дорисовал). Попробывал забросить на это ресурс, мне он удобней. https://cloud.mail.ru/public/32c2af46ad30/%D0%92%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82_6.zip Если не пойдёт закину на другой.
В плате:
DATA 6
CLOCK 7
FOTO A0
T1 12
E1 13
T2 10
E2 11
BR 5
Если поставить резистор и не ставить перемычку под ним то будет БЕЗ РЕГУЛИРОВКИ яркости первой и последней ступени.
Если неставить резистор, а поставить перемычку то БУДЕТ регулировка яркости с 5-й ноги МК.
kruzhnoff, я бы кнопку поставил. Я, конечно, понимаю и прошу прощения, что "...умная мысля, приходит опосля..."- мне раньше надо было Вам предлагать это, в предыдущем моем посте, но простите, 29 лет службы, а каждый год забирал у офицера СА 4% ума, нервы не к черту.
kruzhnoff, я бы кнопку поставил. Я, конечно, понимаю и прошу прощения, что "...умная мысля, приходит опосля..."- мне раньше надо было Вам предлагать это, в предыдущем моем посте, но простите, 29 лет службы, а каждый год забирал у офицера СА 4% ума, нервы не к черту.
Я сам офицер в отставке, уже 3 года на пенсии. ;)
Какую кнопку и куда?
Ну смотри, надо что бы была подсветка, нажал на кнопку и пятая нога на 19-ю ногу-отпустил и 1ком на 19 ногу.
Ордена Ленина Забайкальский военный округ, 154 узел связи 53 ракетной армии в/ч 77127 Начальник телеграфного центра.. Там развалины ныне одни обозначены .г.Чита на северо- восток Wikimapia в помощь. О, и у нас пркрытие было "дом отдыха"Полянка".
Проще тогда джампер поставить. Но думаю пока подождем пока denyang своё програмное решение с кнопкой презентует, а после решим как лучше будет.
ребята здраствуите я уже пару недель все читаю этот форум и уже успел запутатся, дйте пожалуйста правилиный и финальный скетч но и правильную и финальную схему. Буду очень признателен. Заранее блогодарю
P.S извеняюсь за ошибки я не русский
pogriban, я, например, на монтажке собираю и потихоньку наращиваю принципиальную схему. На сегодняшний день проврен скетч из поста 182 от уважаемого maxsim на основе от denyang.
А L78M05CV и +12В нужны
Эта шняшка, L78M05CV,нужна только для питания Андруино и фоторезистора, а все остальное +12 вольт, Вт так 100-150.Шняшка эта+ 12v, преврашает в -+5V. Ну типа вот http://kommagazin.ru/aksessuary/blok-pitaniya-12volt-5a-60vat-ac038.html было приобретенг сегодня ,как основной блок питания.
Уважаемые модеретары".... не рекламы ради, а прсвящения для..." ,как говаривори Петр I
Так в http://lukjanow.ru/2012/04/automatic-illumination-stairs-arduino/ показоно как +12Вт подсоелены к VDD M5450
Я проверл код с поста 182 от Гуру Максим все ок но не реагирует фотоелемент
У меня, старый, советский еще фоторзистор,снятый с какой-то аппаратуры- вроде норамально. Пальцем закрываешь- работате , открываешь не работает. Надо бы, конечно, днем при дневном свете проверить, а то я работаю в подвале, а там лампы дневнго света, но вроде срабатывает.Сегодня приобрел датчик освещености- самый дешевый , хочу фотоспротивление обновить.
Я проверил свой фотоелемент вот так http://edurobots.ru/arduino-fotorezistor/ и он работает
так подключил и в принципальную схему но не хочет, и в програме не вижу где проверяется если день или ночь
Я проверил свой фотоелемент вот так http://edurobots.ru/arduino-fotorezistor/ и он работает
так подключил и в принципальную схему но не хочет, и в програме не вижу где проверяется если день или ночь
У меня тоже не работает. И дело не в фоторезисторе. В свой скетч maksim забыл добавить параметры (условия) фоторезистора. Проще говоря в программе нет фоторезистора. Поэтому и не работает.
Что бы постоянно не "дрочить" MM5450 лучше сделать так:
//Устанавливаем контакты для драйвера #define DATA 6 #define CLOCK 7 //Устанавливаем контакт фоторезистора #define FOTO A0 //Устанавливаем контакты для первого датчика #define T1 4 #define E1 5 //Устанавливаем контакты для второго датчика #define T2 2 #define E2 3 //Устанавливаем контакт управления яркостью светодиодов #define BR 9 const byte brightset = 255; //Задаем количество светодиодов #define NUM_LEDS 16 const uint32_t mask = 0b1111111111111111; void setup() { 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(E2, INPUT); digitalWrite(E1, HIGH); digitalWrite(E2, HIGH); FirstLast(); } void loop() { int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика if(D1 > 0 && D1 < 100) // если расстояние меньше 100см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону { MM5450(mask<<i); delay(200); // задержка зажигания } delay(10000); // ждем 3 секунды for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask>>i); delay(200); // задержка затухания } FirstLast(); } int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика if(D2 > 0 && D2 < 100) // если расстояние меньше 100см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в другую сторону { MM5450(mask>>i); delay(200); // задержка зажигания } delay(10000); // ждем 3 секунды for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask<<i); delay(200); // задержка затухания } FirstLast(); } delay(20); } void FirstLast() { analogWrite (BR, 25); MM5450(0b1000000000000001); } int Ultrasonic(byte Trig_pin, byte Echo_pin) { digitalWrite(Trig_pin, HIGH); delayMicroseconds(10); digitalWrite(Trig_pin, LOW); return pulseIn(Echo_pin, HIGH, 20000)/29.0/2; } void MM5450(uint32_t data) { digitalWrite(DATA, 1); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); for(byte i = 0; i < NUM_LEDS; i++) { if(data & (1UL<<i)) digitalWrite(DATA, HIGH); else digitalWrite(DATA, LOW); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } digitalWrite(DATA, 0); for(byte i = 0; i < 35-NUM_LEDS; i++) { digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } }Уважаемый maksim Вы забыли в код прописать сам фоторезистор. Если не сложно допишите пожалуйста.
Но Уважаемого maksimа я бы попрасил поколдовать над прогй в таких случях как:
1 если одновремено спускается и поднимается ктота чтобы загарели и с верху и с низу и затухли когда оба выидут из поля зрения
2 есль за первом человека черес несколько мгновений на лестниту заходит и второй и третий и так далее, чтобы время затухания увеличилось
Спосибо
pogriban
Я сделал почти также.
//Устанавливаем контакты для драйвера #define DATA 6 #define CLOCK 7 //Устанавливаем контакт фоторезистора #define FOTO A0 //Устанавливаем контакты для первого датчика #define T1 12 #define E1 13 //Устанавливаем контакты для второго датчика #define T2 10 #define E2 11 //Устанавливаем контакт управления яркостью светодиодов #define BR 9 const byte brightset = 255; //Задаем количество светодиодов #define NUM_LEDS 17 const uint32_t mask = 0b11111111111100000; void setup() { 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(E2, INPUT); digitalWrite(E1, HIGH); digitalWrite(E2, HIGH); FirstLast(); } void loop() { static bool state; if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения if(state) { int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону { MM5450(mask<<i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask>>i); delay(300); // задержка затухания } FirstLast(); } int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика if(D2 > 0 && D2 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в другую сторону { MM5450(mask>>i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask<<i); delay(300); // задержка затухания } FirstLast(); } delay(20); } } void FirstLast() { analogWrite (BR, 20); MM5450(0b10000000000100000); } int Ultrasonic(byte Trig_pin, byte Echo_pin) { digitalWrite(Trig_pin, HIGH); delayMicroseconds(10); digitalWrite(Trig_pin, LOW); return pulseIn(Echo_pin, HIGH, 20000)/29.0/2; } void MM5450(uint32_t data) { digitalWrite(DATA, 1); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); for(byte i = 0; i < NUM_LEDS; i++) { if(data & (1UL<<i)) digitalWrite(DATA, HIGH); else digitalWrite(DATA, LOW); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } digitalWrite(DATA, 0); for(byte i = 0; i < 35-NUM_LEDS; i++) { digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } }НО, что в моём, что в Вашем случае (пробывал менять половину скетча на вашу) режим ночной подсветки получается не совсем ночным, а круглосуточным. Т.е. он не отключается если фоторезистор засвечен. Подсветка лестницы при засвете отключатся, а ночной режим нет, так и светят в пол накала первый и последний светодиод независимо от состояния фоторезистора.
Немогу понять почему так происходит?!
Также присоединяюсь к Вашей просьбе к maksim.
С настройкой фоторезистора нужно дейсвительно "поиграться", как бы подобрать под свой фоторезистор и освещение. Я вот подстраивал уже по месту размещения фоторезистора на его постоянном месте на лестнице - менял циферку туда\сюда ;).
С настройкой фоторезистора нужно дейсвительно "поиграться", как бы подобрать под свой фоторезистор и освещение. Я вот подстраивал уже по месту размещения фоторезистора на его постоянном месте на лестнице - менял циферку туда\сюда ;).
Там дело не в фоторезисторе и его настройках. Проблема в том, что при засветке фоторезистора лестница (ультрасоники) отключаются, а так называемая ночная подсветка (две крайнии ступени) нет. Т.е. при засвеченом фоторезисторе горят два светодиода в пол накала (первый и последний) и ультрасоники не реагируют на движение, лестница не включается.
Надо, что то в коде подправить. А, что я не знаю, уже голову сломал. Опыта не хватает.
С настройкой фоторезистора нужно дейсвительно "поиграться", как бы подобрать под свой фоторезистор и освещение. Я вот подстраивал уже по месту размещения фоторезистора на его постоянном месте на лестнице - менял циферку туда\сюда ;).
Там дело не в фоторезисторе и его настройках. Проблема в том, что при засветке фоторезистора лестница (ультрасоники) отключаются, а так называемая ночная подсветка (две крайнии ступени) нет. Т.е. при засвеченом фоторезисторе горят два светодиода в пол накала (первый и последний) и ультрасоники не реагируют на движение, лестница не включается.
Надо, что то в коде подправить. А, что я не знаю, уже голову сломал. Опыта не хватает.
Попробуйте вывести данные с фоторезистора и ультрасоника для отладки через функции
Serial.begin(9600); Serial.println(analogValue);
Попробуйте вывести данные с фоторезистора и ультрасоника для отладки через функции
Serial.begin(9600); Serial.println(analogValue);
Фоторезистор как раз то ки работает как надо. Фоторезистор отключает лестницу когда светло, и включает когда темно. А вот ночная подсветка в этот момент не отключается она включена всегда и днём и ночью. Т.е. в скетче надо где то прописать, что вместе с лестницей днём (когда светло, фоторезистор засвечен) должна отключаться ночная подсветка.
Неужели этот косяк только у меня, а остальных всё работает как надо?! Т.е. ночная подсветка при засветке фоторезистора отключается.
Я пока ничего не могу сказать. Завтра должны прийти ключи, если все сложится удачно, под них печатку сделаю, сею на основе Вашей платы, нарисовано 80%, размер, конечно, поболее будет, но и блок питания у меня 150 Вт, а он размеров тоже немалых. На мотаже то же как-то нестабильно работает.
Тоже не подскажу, так как у меня работает без ночной подсветки (руки еще не дошли но надо будет доделать) У меня работает кажись еще по скетчу из 53 сообщения.
pogriban
Я сделал почти также.
//Устанавливаем контакты для драйвера #define DATA 6 #define CLOCK 7 //Устанавливаем контакт фоторезистора #define FOTO A0 //Устанавливаем контакты для первого датчика #define T1 12 #define E1 13 //Устанавливаем контакты для второго датчика #define T2 10 #define E2 11 //Устанавливаем контакт управления яркостью светодиодов #define BR 9 const byte brightset = 255; //Задаем количество светодиодов #define NUM_LEDS 17 const uint32_t mask = 0b11111111111100000; void setup() { 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(E2, INPUT); digitalWrite(E1, HIGH); digitalWrite(E2, HIGH); FirstLast(); } void loop() { static bool state; if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения if(state) { int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону { MM5450(mask<<i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask>>i); delay(300); // задержка затухания } FirstLast(); } int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика if(D2 > 0 && D2 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в другую сторону { MM5450(mask>>i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask<<i); delay(300); // задержка затухания } FirstLast(); } delay(20); } } void FirstLast() { analogWrite (BR, 20); MM5450(0b10000000000100000); } int Ultrasonic(byte Trig_pin, byte Echo_pin) { digitalWrite(Trig_pin, HIGH); delayMicroseconds(10); digitalWrite(Trig_pin, LOW); return pulseIn(Echo_pin, HIGH, 20000)/29.0/2; } void MM5450(uint32_t data) { digitalWrite(DATA, 1); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); for(byte i = 0; i < NUM_LEDS; i++) { if(data & (1UL<<i)) digitalWrite(DATA, HIGH); else digitalWrite(DATA, LOW); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } digitalWrite(DATA, 0); for(byte i = 0; i < 35-NUM_LEDS; i++) { digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } }Тут я думаю следует использовать указатели. попробую сделать поправить немного код, но проверить не могу. Надо экспериментировать.
//Задаем количество светодиодов #define NUM_LEDS 17 const uint32_t mask = 0b11111111111100000; int *var; void setup() { 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(E2, INPUT); digitalWrite(E1, HIGH); digitalWrite(E2, HIGH); if(*var < 990){ FirstLast(); } } void loop() { static bool state; var = analogRead(FOTO); if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключенияЯ щас по другому решил эту проблему.
void loop() { static bool state; if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения else analogWrite(9, LOW); // выключаем ночную подсветку if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения else analogWrite(9, HIGH); // включаем ночную подсветку if(state) { int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону {Незнаю насколько это технически правельно, но зато теперь работает как надо.
Щас еще попробую Ваш вариант.
Ваш вариант не удаётся скомпилировать.
//Устанавливаем контакты для драйвера #define DATA 6 #define CLOCK 7 //Устанавливаем контакт фоторезистора #define FOTO A0 //Устанавливаем контакты для первого датчика #define T1 12 #define E1 13 //Устанавливаем контакты для второго датчика #define T2 10 #define E2 11 //Устанавливаем контакт управления яркостью светодиодов #define BR 9 const byte brightset = 255; //Задаем количество светодиодов #define NUM_LEDS 17 const uint32_t mask = 0b11111111111100000; int *var; void setup() { 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(E2, INPUT); digitalWrite(E1, HIGH); digitalWrite(E2, HIGH); if(*var < 990){ FirstLast(); } } void loop() { static bool state; var = analogRead(FOTO); if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения if(state) { int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону { MM5450(mask<<i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask>>i); delay(300); // задержка затухания } FirstLast(); } int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика if(D2 > 0 && D2 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в другую сторону { MM5450(mask>>i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask<<i); delay(300); // задержка затухания } FirstLast(); } delay(20); } } void FirstLast() { analogWrite (BR, 20); MM5450(0b10000000000100000); } int Ultrasonic(byte Trig_pin, byte Echo_pin) { digitalWrite(Trig_pin, HIGH); delayMicroseconds(10); digitalWrite(Trig_pin, LOW); return pulseIn(Echo_pin, HIGH, 20000)/29.0/2; } void MM5450(uint32_t data) { digitalWrite(DATA, 1); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); for(byte i = 0; i < NUM_LEDS; i++) { if(data & (1UL<<i)) digitalWrite(DATA, HIGH); else digitalWrite(DATA, LOW); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } digitalWrite(DATA, 0); for(byte i = 0; i < 35-NUM_LEDS; i++) { digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } }Выдаёт вот такую ошибку.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows XP), Board: "Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328"
LEDstairs_nightBP.ino: In function 'void loop()':
LEDstairs_nightBP:44: error: invalid conversion from 'int' to 'int*'
kruzhnoff ,выложите тогда скетч.
Я щас по другому решил эту проблему.
void loop() { static bool state; if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения else analogWrite(9, LOW); // выключаем ночную подсветку if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения else analogWrite(9, HIGH); // включаем ночную подсветку if(state) { int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону {Незнаю насколько это технически правельно, но зато теперь работает как надо.
Щас еще попробую Ваш вариант.
Если ваш вариант работает номрально, то думаю и не стоит загоняться. :-)
kruzhnoff ,выложите тогда скетч.
Вот полный мой скетч на котором ночная подсвека работает правельно.
Не уверен, что с технической стороны всё там сделано правельно, но он работает.
Если уважаемый maksim его оптимизирует то буду примного благодарен.
//Устанавливаем контакты для драйвера #define DATA 6 #define CLOCK 7 //Устанавливаем контакт фоторезистора #define FOTO A0 //Устанавливаем контакты для первого датчика #define T1 12 #define E1 13 //Устанавливаем контакты для второго датчика #define T2 10 #define E2 11 //Устанавливаем контакт управления яркостью светодиодов #define BR 9 const byte brightset = 255; //Задаем количество светодиодов #define NUM_LEDS 17 const uint32_t mask = 0b11111111111111111; void setup() { 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(E2, INPUT); digitalWrite(E1, HIGH); digitalWrite(E2, HIGH); FirstLast(); } void loop() { static bool state; if(analogRead(FOTO) > 1000) state = 1; // порог освещенности включения else analogWrite(9, LOW); // выключаем ночную подсветку if(analogRead(FOTO) < 990) state = 0; // порог освещенности выключения else analogWrite(9, HIGH); // включаем ночную подсветку if(state) { int D1 = Ultrasonic(T1, E1); // измеряем расстояние первого датчика if(D1 > 0 && D1 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в одну сторону { MM5450(mask<<i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask>>i); delay(300); // задержка затухания } FirstLast(); } int D2 = Ultrasonic(T2, E2); // измеряем расстояние второго датчика if(D2 > 0 && D2 < 70) // если расстояние меньше 70см, то { analogWrite (BR, brightset); for(char i = NUM_LEDS-1; i >= 0; i--) // зажигаем светодиоды в другую сторону { MM5450(mask>>i); delay(300); // задержка зажигания } delay(15000); // ждем 15 секунд for(char i = 0; i <= NUM_LEDS; i++) // тушим светодиоды { MM5450(mask<<i); delay(300); // задержка затухания } FirstLast(); } delay(20); } } void FirstLast() { analogWrite (BR, 20); MM5450(0b10000000000000001); } int Ultrasonic(byte Trig_pin, byte Echo_pin) { digitalWrite(Trig_pin, HIGH); delayMicroseconds(10); digitalWrite(Trig_pin, LOW); return pulseIn(Echo_pin, HIGH, 20000)/29.0/2; } void MM5450(uint32_t data) { digitalWrite(DATA, 1); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); for(byte i = 0; i < NUM_LEDS; i++) { if(data & (1UL<<i)) digitalWrite(DATA, HIGH); else digitalWrite(DATA, LOW); digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } digitalWrite(DATA, 0); for(byte i = 0; i < 35-NUM_LEDS; i++) { digitalWrite(CLOCK, LOW); digitalWrite(CLOCK, HIGH); } }Доброй ночи! Скажите пожалуйста, используется arduino pro mini, M5450, HC-SR04 Distance Sensor?
Можно схему посмотреть?
Доброй ночи! Скажите пожалуйста, используется arduino pro mini, M5450, HC-SR04 Distance Sensor?
Можно схему посмотреть?
kruzhnoff, ну не въеду- смотрю по даташиту на IRF7314, Вашу печатную плату - согласно даташиту входа 2 и 4, выходы 1 и 3, а вот на 5,6,7,8, подается VCC , в нашем случае +12V, а на печатке у Вас вроде как сигнал снимается с 7,8 и 5,6
kruzhnoff, ну не въеду- смотрю по даташиту на IRF7314, Вашу печатную плату - согласно даташиту входа 2 и 4, выходы 1 и 3, а вот на 5,6,7,8, подается VCC , в нашем случае +12V, а на печатке у Вас вроде как сигнал снимается с 7,8 и 5,6
Плохо смотрите. Вот, здесь всё нарисовано:
Т.е. 1, 3- вход +12v, 2, 4- управление (вход с микросхемы ), 5, 6 и 7, 8 выход +12v (+ на светодиоды).
Учите мат.часть! ;))
У себя на лестнице я применил светодиодные лампочки (220в) внизу около ступеней и проходные выключатели. Внизу включаю лампочки, захожу наверх- выключаю. И наоборот. Но увидел в инете ролики и загорелся тоже сделать.
У себя на лестнице я применил светодиодные лампочки (220в) внизу около ступеней и проходные выключатели. Внизу включаю лампочки, захожу наверх- выключаю. И наоборот. Но увидел в инете ролики и загорелся тоже сделать.
Поверьте мне вещь нужная и стоящая ! У меня работает уже годика два. И обходиться сравнительно недорого. Правда с проводами придеться повозиться ;)
Но увидел в инете ролики и загорелся тоже сделать.
Не самый простой в реализации вариант автоматической подсветки Вы выбрали. Есть варианты попроще, подешевле и с большим количеством опций.
Вот этот например :
http://forum.amperka.ru/threads/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F-%D0%BF%D0%BE%D0%B4%D1%81%D0%B2%D0%B5%D1%82%D0%BA%D0%B0-%D0%BB%D0%B5%D1%81%D1%82%D0%BD%D0%B8%D1%86%D1%8B.1930/
Или вот интересный вариант :
http://www.getchip.net/posts/105-kontroller-osveshheniya-stupenejj-lestnicy/
Спасибо! Ссылки уже смотрю. Там сборки для 14 ступеней. а у меня 16. Местный вариант подходит больше, но прошивка не доработана.
Спасибо! Ссылки уже смотрю. Там сборки для 14 ступеней. а у меня 16. Местный вариант подходит больше, но прошивка не доработана.
У меня 12 ступений и те варианты меня устраивают, но я их уже увидел когда собрал этот. Поэтому теперь пытаюсь доработать прошивку. Но пока с малым успехом.
Я смотрел на 134 пост, что делать, опять же , каждый год службы забирает у офицера 4% ума,а у меня выслуги 29 лет.
Максим приветствую . перечитал форум и понял что вы самый продвинутый в этом вопросе . У меня всё тот же ))) . Я взял несколько с этого форума скетчей и думаю что они являются рабочимии , так ли это ? , все написанны или редактированны вами, У меня ардуино уно , драйвер 4550 , датчики SR 04 . Проблемма в том что технически вроде бы соединил как надо к нужным выводам , загрузка проходит идеально , загружаю с помощью Arduino 1.04 . Разные скетчи проблема одна светодиоды не зажигаються , каков алгоритм поиска неисправности ? питание на датчики и драйвер поступают . где искать дальше не представляю
Влмир, светодиоды точно подключены минусом к М5450, а плюсом через резистор к +12В?
kruzhnoff, Чем можно заменить irf7314 более доступными транзисторами? Мне не нужно на каждый канал по 4А.
dimanok88, это ж не занчит, что 4А надо грузить, запасец будет мал-мало.
В принцыпе irf 7314 можно заменить любым другим P-канальным транзистором (например этим). Но чем irf7314 не доступен? В чип и дип всегда есть и стоит 20 рублей (если брать больше 3-х).
Вот посмотри может что-то и почерпнешь для решения воей задумки.
http://arduino.ru/forum/apparatnye-voprosy/intellektualnye-klyuchi-mopy-i-pr
http://arduino.ru/forum/apparatnye-voprosy/pomogite-podobrat-tranzistor
Уперся - не могу записать скетч в девай как на форуме, только кварцик на 160000, вроде все делаю как написано, но мимо кассы все http://forum.arduino.cc/index.php?topic=280690.0, может кто поможет. Правда есть еще вариант робовать с помощью UNO прожечь.
Максим, не сталкивалитсь, с такой проблемой, вроде столько скурил уже форумов и все мимо
В чём заключается проблема?
Выдаёт ошибку как на скрине?
У меня была (точней есть) проблема с одним ардуино, выдает такую ошибку при загрузке скетча. Поставил другую (от другого продовца и производителя) всё работает как надо. Походу брак попался.
Прошился!!!!! Завтра если время будет на работе буду платку травить.
Если кому -то понадобится
Проблема решилась так.
Шился с помощью , куленной у китайца pl2303. Сварганил так же , как в этой статье http://фридуин.ство.рф/?p=920. Подцепился на RST согласно статьи и далее по штату подключил VCC,TXO,RTX,GND. Обновил дровишки для PL2303 и все прошло на "УРА!". Сначала для проверки "Blink" . Ну зато столько перекурил сайтов, сколько почерпнул знаний в 56-ть лет:" Коммунистом стать может лишь тот, кто обогатит свою память всеми теми знаниями, что выработало человечество!" (В.И.Ленин) было написано в клубе СВВИУС им. 60-ти летия Великого Октября.