Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

15.02.2008, 14:30
|
|
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
Провел на форуме: 7617458
Репутация:
3965
|
|
[Начинающим] - Lpt порт.
Привет! Если вы хотели начать заниматься електроникой вместе с програмированием, ета статтья для вас. Расчитана она на новичков, которые хотят сделать девайс  управляющийся компом. Для етого используем лтп порт. Наверника вы им не пользуется. Он использовался в старых версиях принтерах. Чаще всего он "закрашен" фиолетовым, и самый длинный. Думаю без проблем его найдете.
Он состоит из адресов 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
__________________
BlackHat. MoDL
|
|
|

15.02.2008, 15:27
|
|
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме: 1038169
Репутация:
184
|
|
так это конечно хорошо, на досуге все прочитаю а пока поправлю лог.1 это +12в у лаптя, а лог0 это отрицательное напряжение относительно массы, помоему -5В однако немогу утверждать точно. такчто резисторы... Кстате а где у тебя про них написано??? вообщем надо брать килоома 2 не меньше...
разчитывается так
R=(Напряжение_питания_свето иода-12/Максимальный_ток_для_свето иода)
а лучше вообще помимо светодиода последовательно воткнуть диод, пятивольтовый интегральный стабилизатор и резистор...
у светодиодов может быть маленький обратный ток, и от -5В ему хешельбе придет...
кстати автор и проверь заодно, воткни один прямо другой обратно светодиоды(с резисторами!!!), и посмотри при лог.0 будет ли гореть один из них =)))
|
|
|

15.02.2008, 15:37
|
|
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
Провел на форуме: 7617458
Репутация:
3965
|
|
кстати автор и проверь заодно, воткни один прямо другой обратно светодиоды(с резисторами!!!), и посмотри при лог.0 будет ли гореть один из них =)))
На данный момент немогу, у меня ноут а там нет лтп. Но как только буду иметь доступ к обычному попробую.
а лучше вообще помимо светодиода последовательно воткнуть диод, пятивольтовый интегральный стабилизатор и резистор...
Можно но проще светодиод--->резистор. Всё должно быть ОК
__________________
BlackHat. MoDL
|
|
|

16.02.2008, 02:14
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
Провел на форуме: 1724067
Репутация:
806
|
|
Автор моего любимого программатора АВРеал тоже использует DriverLINX Port I/O Driver. Поэтому эта библиотека тоже установлена, но никогда даже не пробовал с ней разобраться. Но смотрю управлять с помощью ее ЛПТ портом очень легко. На досуге тоже поиграюсь с этой библиотекой.
Спасибо! 
|
|
|

29.02.2008, 01:00
|
|
Постоянный
Регистрация: 25.02.2008
Сообщений: 331
Провел на форуме: 1073404
Репутация:
189
|
|
Я в lpt много девайсов собирал.. начиная от IR приемника.. потом надрачивал его на xmms, и все ок.. заканчивая джойстиком от PS One. схем в интернете море)
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|