Свежие обсуждения
Компьютеры

Включение лампочек с компьтера.

1 3
Вот из огромного любопытства хочется сделать такую системку: управление светом с ПК. Т.е. нужно написать ПО на ассемблере, спаять схему сопряжения с компьютером (пусть по com-порту), ну и подключить все это к лампочкам. Вообще то хотелось бы чтоб их было несколько, т.е програмно я мог включать и выключать их независимо, но по двум проводам. Получается нужно чтоб у каждой лампочки был свой код, на который она будет менять свое состояние. Кто-нибудь реализовал это уже или может помочь ссылками, схемами, FAQ'и?  
Вряд ли кто-нибудь реализовывал, поскольку никакого академического интереса это не представляет. Если только в учебных целях, чтобы "почувствовать свои силы"...

Проще управлять от LPT-порта. Там 8 линий данных на выход и еще 4 (кажется) служебных.
Если не устраивает количество тянущихся проводов, то можно поизвращаться и с помощью, например, 4-х линий управлять 16-ю лампочками независимо.
ПО писать на Ассемблере необязательно, если, конечно, у вас компьютер не с 1КБ памяти на борту

С COM-портом тоже можно поколбаситься (используя его линии не по назначению).

 
На ассемблере зачем?

Вообще, если делать на базе COM-порта, я бы порекомендовал так:

На линии DTR и RTS повесить дешифратор (конечно, с преобразователями уровня и желательно с опторазвязкой). Тогда можно управлять 4-мя лампочками, просто управляя состояниями DTR и RTS, без всяких заморочек с протоколом RS-232. Или без дешифратора, тогда только 2-мя лампочками, зато независимо. Если работать непосредственно с контроллером последовательно порта, это проделывается через регистр MCR (base+4). Если через WinAPI - тогда при помощи EscapeCommFunction().

 
Вот еще что: для начала проще подключить к порту светодиоды через резисторы. Скажем, 10мА и COM и LPT потянут. Только не надо забывать, что в RS-232 лог.1 - это отрицательное напряжение (обычно -12В), а лог.0 положительное (обычно +12В). У LPT нормальные TTЛ уровни.  
Ну не совсем нормальные TTL, у меня на одной материнке было 3,3В. Из-за этого я не смог подключить один девайс.
 
"Вообще то хотелось бы чтоб их было несколько, т.е програмно я мог включать и выключать их независимо, но по двум проводам."
Monster, посмотрите, например, вот здесь http://www.spezial.ru/developer/microlan.htm а также поищите по ключевым словам "1-проводные сети", "1-wire network".
 
3.3В -- нормальный уровень для ТТЛ, так что не надо о ненормальности , скорее всего девайс ваш ненормальный. По спецификации, напряжение логической единицы ТТЛ >= 2.4 В.  
Оригинал написан DVM:
...На линии DTR и RTS повесить дешифратор (конечно, с преобразователями уровня и желательно с опторазвязкой). Тогда можно управлять 4-мя лампочками, просто управляя состояниями DTR и RTS, без всяких заморочек с протоколом RS-232. Или без дешифратора, тогда только 2-мя лампочками, зато независимо.

С дешифратором на 4 линии можно управлять 4-мя лампочками тоже независимо.

Ведь на каждом выходе можно независимо от других формировать импульсную последовательность. При этом исполнительное устройство должно реагировать на появление этой импульсной последовательности.

Если в качестве исполнителя используются тиристоры, то все проще -- достаточно в начале полупериода на каждый тиристор (по порядку) подать открывающий импульс.
----
PS. Виноват: получится только 3 лампочки. 4-й выход надо оставить свободным -- там сигнал будет "отдыхать". Этот "убыток" становится малозаметен при использовании дешифратора на болшее число линий.

 
То Apc.
АЦП от TI ну ни как не хотела работать, а на других компах работала.
 
И все-таки LPT - самое простое решение! Там 8 каналов регистра данных, работающих штатно на вывод, плюс еще 4 канала регистра управления можно задействовать на вывод.
Управляется элементарно - простой расстановкой битов по регистрам.
Главное - не перегрузить по току, иначе порт не пройдет начальную инициализацию при старте компа (сгореть - не сгорит).
У меня именно такая "машина" работает уже 2 года. Управляет освещением при наличии моего отсутствия. Вот и в этом году на 2 недели уезжал на море - аппарат справно щелкал лампочками и телевизором в пустой квартире... "Опторазвязка" сделана на механических реле, подключенных к порту через набор ключей К1109КТ2 и питающихся прямо от 12В канала ИП компъютера. DVMу я как-то посылал первоначальный вариант программы...