Спасибо ОГРОМНОЕ! всё супер Вот начертил схему непосредственного управления реле через ULN2803 (можно в принципе и 2003 поставить): запараллелил входы и подключил выходы через резистор к реле... Схема http://s018.radikal.ru/i507/1210/b5/ed0ffa9d9a22.jpg Собственно вопрос такой: можно так подключить выходы, как на схеме? Не сгорят ли транзисторы в микросхеме? P.S.: 17, 18 и 19 выводы контроллера это соответственно выходы 6, 7 и 8 кнопок.
Последний раз редактировалось Iazzz Чт окт 25, 2012 19:44:31, всего редактировалось 1 раз.
Не так. Сопротивления выкиньте, они не нужны. УЛН2803 - на выходе имеет транзистор с открытым коллектором. http://www.ecawa.asn.au/home/jfuller/sio5works.htm Этого достаточно. Не забудьте подключить вывод 10 к + питания. Рисуйте схему в протеусе - будет красивее.
Поставил, смоделировал... не фурычит - светодиоды на выходе не горят, но загораются синие квадратики в нужных местах (наверное, единственный плюс) светодиоды справа налево: 1й,2й...5й - поставил вместо реле, почитал, что диод не потребляет ток в протеусе и поэтому зашунтировал резистором на 100 Ом. Почитал статьи о моделировании ULN в таких схемах - делаю всё также, но работать отказывается. Последние шаги практически остались... Файлик ReleOnOff222 называется..
Ой-ёй-ёй... ...Держите, опять протеус. И попробуйте только сказать .....
Вот упорный или я еще не понял и пишу не про ту степь, если RESET программируем как вход, контроллер можно будет несколько раз прошивать обыкновенным программатором?
Че это у вас за паутина снизу от ULN? НИЧЕГО этого не нужно просто напрямую идет к реле и все не нужно ничего вместе делать пять выходов пять реле, зачем две микросборки тратить? А двойным включением управляет Мк хоть все сразу можно включить.Блин из такой элементарной задачи сделали коллоквиум.
Цитата:
Ой-ёй-ёй... Сделаешь добро людям а в ответ - не то.. А головой подумать, прежде чем писать?
А вы как думали? Взявшись за гуж не говори, что не дюж.
korsaj писал(а):
И попробуйте только сказать что вам надо 2 реле одновременно включить
Кто сказал, что нельзя одновременно включить?Где схема в виде картинки. я до сих пор не увидел что вы там предлагаете. На телефоне протеус не запускается.
По идее - мне и надо как раз одновременно релешки включать при нажатии на 6, 7 или 8 кнопку, а СУ я сделал такой: с выхода контроллера на вход УЛН подается напряжение, в итоге реле включается, аналогично происходит и при переключении других кнопок, но 2-ю УЛН я поставил для как раз специально для 6, 7 и 8 кнопки: запаралелил 2 входа для каждой релешки, отсюда и паутина снизу))
vitalik_1984, тык в прошивке написано так, что переключаются светодиоды между собой, т.е. нажимаю на первую кнопку - включается первый светодиод, нажимаю 2-ю: 1й выключается и включается 2й и т.д., а при нажатии 6 кнопки (а также 7 или 8 ) просто включается только 6-й (или 7й, 8й в зависимоти от нажимаемой кнопки), т.е. просто реализован свитч, а хотелось бы чтобы при нажатии 6-й кнопки одновременно загорались 1 и 3 лампа (они же реле), при 7-й: 1я и 4я лампы, при 8й: 2я и 4я лампы. Вот такая тема...
хотелось бы чтобы при нажатии 6-й кнопки одновременно загорались 1 и 3 лампа (они же реле), при 7-й: 1я и 4я лампы, при 8й: 2я и 4я лампы. Вот такая тема..
Если бы такое было возможно НО если вам удастся раздобыть где нибудь signal diod 1N4148 в количестве 10 штук, то это будет осуществимо! Проект в протеусе приложил...
хотелось бы чтобы при нажатии 6-й кнопки одновременно загорались 1 и 3 лампа (они же реле), при 7-й: 1я и 4я лампы, при 8й: 2я и 4я лампы. Вот такая тема..
Если бы такое было возможно НО если вам удастся раздобыть где нибудь signal diod 1N4148 в количестве 10 штук, то это будет осуществимо! Проект в протеусе приложил...
Блин, представьте себе человека, который калькулятором забивает гвозди в счеты. Тут похожая ситуация, сколько таких диодов внутри контроллера, а вы их снаружи пихаете! Забудьте про эту чертову неправильную схему с 8 светодиодами.Есть пять реле их нужно включить в нужном порядке.Контроль можно потом сделать. программа проста
Код:
temp=pind ; switch (temp){ case (1<<pind0): portb =(1<<relay1);break; //////////тут все для каждого реле повторяется case (1<< pind7): portb =(1<<relay4)|(1<<relay5);break;//эврика!!!! два реле включили
Iazzz, про транзисторы я уже говорил, что можно сделать, но к вашей схеме нужно еще шунтирующий диод параллельно реле добавить(конечно не так, чтобы сразу при включении был бабах:))))
Диоды к существующей программе (схеме) , для топикстартера темы , програмировать он не умеет, в схемотехнике то должен уметь разбираться, просто исходим из того что есть, и модернизируем диодами, цена которых копейки (извиняйте кто не понял сарказм предыдущего сообщения).. Эту схему сделал бы на свой лад , на меге 8 и с "цыферами"... мне кажется так и покрасивей.... Код таким вот образом Спойлер
Код:
#include <mega8.h> #include <delay.h>
flash unsigned char led[11]={ 0b10000000, 0b00000110, 0b01011011, 0b01001111, 0b01100110, 0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01101111, 0b00111111}; // Массив "led" во flash-памяти, flash unsigned char pind[11]={ 0b10000000, 0b00000010, 0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b00001010, 0b00010010, 0b00010100, 0b00000000, 0b00000000}; // Массив "pind" во flash-памяти, unsigned char i=0; // переменная void main(void) { PORTB=0b11111111; // Port B initialization DDRB=0b00000000; PORTC=0b01000000; // Port C initialization DDRC=0b00111111; PORTD=0b00000000; // Port D initialization DDRD=0b011111111;
while (1) { PORTD=led[i]; PORTC= pind[i]; if (PINB.0==0) i=1; if (PINB.1==0) i=2; if (PINB.2==0) i=3; if (PINB.3==0) i=4; if (PINB.4==0) i=5; if (PINB.5==0) i=6; if (PINB.6==0) i=7; if (PINB.7==0) i=8; delay_ms(50); }; }
Вот это другое дело (сужу по коду пока что с телефона сижу). Киньте схему картинкой? Но реле то все равно нужно через "драйвер" пускать - хотя бы диод в параллель если реле пять вольт.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения