Привет! Если вы хотели начать заниматься електроникой вместе с програмированием, ета статтья для вас. Расчитана она на новичков, которые хотят сделать девайс управляющийся компом. Для етого используем лтп порт. Наверника вы им не пользуется. Он использовался в старых версиях принтерах. Чаще всего он "закрашен" фиолетовым, и самый длинный. Думаю без проблем его найдете. Он состоит из адресов H378, H37a. Есть еще другие, знать о них необязательно. Адреса H378, H37a могут выдавать и принимать сигналы, работают двунаправлено.Чаще всего , H37a предназначен для управления девайсом, а H378 для отправки и приёма сигналов.Сигнал - ето всего-лиш присутствие или отсутствие напряжения (5В) на порте. Допустим, если нам нужно включать всего 8 светодиодов. Ето означает, что нужно научить програму подавать напряжение 5В адреса H378, ножки 2. В етом и заключается суть управления. Важно, чтобы девайс имели хрошою гальваническую развязку с компом, ELSE die(); PC. У нас девайсом - будеть лампочка, точне: светодиод. Помните, он имеет полярность. (http://ru.wikipedia.org/wiki/Светодиод) Проверьте полярность : горит - ок, не горит - поменяйте полярность и запомните правильный вариант. Далее, ножки светодиода надо фтыкнуть в 2-й (тот вывод, который подключася к плюсу батареи) и 25-й ( тот который на "минусе" батареи) Важно! разьемы порта, не перепутайте! Далее ПРОГРАМИРУЕМ: Наша прога будет в консольном виде, на си++ Вот собсна и код: PHP: #include "iostream.h" #include "conio.h" #include "stdlib.h" void main() { int Address=888; cout<<"Тестируем LTP port."<<endl; cout<<"Жмякай '1' для активации и '0' для дезактивации диода ."<<endl; cout<<"для выхода 'e'."<<endl; cout<<" "<<endl; while(1) { switch(getch()) { case '0': cout<<"Дезактивация...."<<endl; _outp(Address, 0); break; case '1': cout<<"Активация...."<<endl; _outp(Address, 1); break; case 'e': exit(1); } } getch(); } Вот и всё! Диод Должен Загорется. Ищо примерчик на новом языке LangMF: PHP: <#Module=mdlDemo> '--------------------------------------- Sub Load(cmdLine) form.add "label",1 form.label(1).move 140,40 form.label(1).fontsize=16 form.add "command",1 form.command(1).move 130,100,80,30 form.command(1).caption="OK" form.show End Sub <#Module> <#Form=form> '----------------------------------------- Sub Command1_Click() Dim numPort, byt randomize timer Do rc = sys.dynapi.callfunction("dlportio","DlPortWritePortUchar", &H378, int(rnd*255)) byt = sys.dynapi.callfunction("dlportio","DlPortReadPortUchar", &H378) form.label(1).caption = byt DoEvents Sleep 200 Loop until isend End Sub '----------------------------------------- Sub Form_Unload() endmf End Sub <#Form> Для работы данного скрипта необходимо установить "DriverLINX Port I/O Driver". Его можно скачать здесь: _http://atombyte.com/ftp/Dlpio_setup.exe
так это конечно хорошо, на досуге все прочитаю а пока поправлю лог.1 это +12в у лаптя, а лог0 это отрицательное напряжение относительно массы, помоему -5В однако немогу утверждать точно. такчто резисторы... Кстате а где у тебя про них написано??? вообщем надо брать килоома 2 не меньше... разчитывается так R=(Напряжение_питания_светодиода-12/Максимальный_ток_для_светодиода) а лучше вообще помимо светодиода последовательно воткнуть диод, пятивольтовый интегральный стабилизатор и резистор... у светодиодов может быть маленький обратный ток, и от -5В ему хешельбе придет... кстати автор и проверь заодно, воткни один прямо другой обратно светодиоды(с резисторами!!!), и посмотри при лог.0 будет ли гореть один из них =)))
На данный момент немогу, у меня ноут а там нет лтп. Но как только буду иметь доступ к обычному попробую. Можно но проще светодиод--->резистор. Всё должно быть ОК
Автор моего любимого программатора АВРеал тоже использует DriverLINX Port I/O Driver. Поэтому эта библиотека тоже установлена, но никогда даже не пробовал с ней разобраться. Но смотрю управлять с помощью ее ЛПТ портом очень легко. На досуге тоже поиграюсь с этой библиотекой. Спасибо!
Я в lpt много девайсов собирал.. начиная от IR приемника.. потом надрачивал его на xmms, и все ок.. заканчивая джойстиком от PS One. схем в интернете море)