Хватит учиться! Пора заняться виртуальным сексом на vi-sex.ru
Как управлять домашними электроприборами с компьютера!
Данная статья ориентированна
в первую очередь для тех,
кто плотно занимается компьютерами и
имеет хоть какой-то
навык работы с паяльником, хотя это не
обязательно, т.к. эту
систему сможет сделать любой человек.
Начну с постановки задачи.
Итак, мы хотим сделать устройство, которое
бы управляло домашними электроприборами посредствам команд,
посылаемых с компьютера.
Под управлением домашними электроприборами
понимается в первую очередь то, что вы сможете их включать и
выключать с компьютера.
Например, можно включать и выключать свет в комнате, нажав
кнопку, в написанной вами
программе, или
также включать и выключать свет через определённый
промежуток времени. Вариантов
множество,
главное проявить немного фантазии.
Для реализации этой задачи нам потребуется
разобраться с устройством LPT порта (место куда
подключаются
относительно старые
принтеры, сейчас обычно они подключаются на USB).
Помимо этого нужно будет написать
программу, управляющую LPT портом и спаять простую
схему через которую к компьютеру подключались бы
устройства
работающие с напряжением 220 В.
Устройство LPT
порта
- Так выглядит
разъем на компьютере. Вам нужно будет
купить штекер на этот разъём. Т.е. ту
штуку у которой такое
же количество (25) штырьков. Каждый штырёк, как и отверстие во входе,
имеет своё назначение.
 |
|
| N |
Направление |
Сигнал |
|
1 |
Выход |
Data Strobe |
|
2 |
Выход |
Data 0 |
|
3 |
Выход |
Data 1 |
|
4 |
Выход |
Data 2 |
|
5 |
Выход |
Data 3 |
|
6 |
Выход |
Data 4 |
|
7 |
Выход |
Data 5 |
|
8 |
Выход |
Data 6 |
|
9 |
Выход |
Data 7 |
|
10 |
Вход |
Acknowledge |
|
11 |
Вход |
Busy |
|
12 |
Вход |
Paper Out |
|
13 |
Вход |
Select |
|
14 |
Выход |
Auto feed |
|
15 |
Вход |
Error |
|
16 |
Выход |
Init |
|
17 |
Выход |
Select Input |
|
18-25 |
|
Ground |
|
Нас интересуют штырьки с номерами 2-9 и
18-25.
Штырьки со 2-го по 9-й - это штырьки,
на которые посылаются команды с компьютера. Штырьки 18-25 - это земля. В
последствии их нужно будет
соединить вмести.
Физически LPT порт
организован так что, когда мы посылаем команду на порт, на определённых штырьках, в зависимости
от того какое число
было послано, возникает логическая единица, т.е. возникает потенциал между штырьком и
"землёй".
Если на порт послано число 1 потенциал
возникнет между 2-м штырьком и землёй и т.д.
| |
| 2-й штырёк
и земля |
1 |
| 3-й штырёк
и земля |
2 |
| 4-й штырёк
и земля |
4 |
| 5-й штырёк
и земля |
8 |
| 6-й штырёк
и земля |
16 |
| 7-й штырёк
и земля |
32 |
| 8-й штырёк
и земля |
64 |
| 9-й штырёк
и земля |
128 |
|
Т.е. мы имеем возможность управлять восьмью
разными приборами.
Схема для
подключения к LPT порту компьютера
Итак как же подключить к
LPT порту бытовое устройство?
Всё просто. Для этого нужно спаять
простенькую схему...

Принцип действия тоже прост: когда
на штырьке порта появляется лог1 (напряжение 2.6В) светодиод внутри опт-пары
(DD1)
загорается и фото-транзистор начинает пропускать ток из эмиттера в
коллектор,
с коллектора опт-пары ток 12В
проходя через сопротивление
(4.7K) уменьшается до нормального
тока требуемого базой транзистора КТ815Г. Транзистор
открывается и пропускает ток
из эмиттера, к которому с реле текут электроны, в коллектор,
к которому
непосредственно подключена земля (-). Реле срабатывает. А в
свою очередь к коммутируемым
контактам реле вы
можете подключить любой электроприбор, используя реле
как выключатель.
Таким
образом, если собрать 8 таких схем (схему из 8 одинаковых блоков) мы
получаем 8 управляемых
с компьютера
выключателей.
Всё.
Дело сделано. Осталось написать простенькую программу, которая посылала
бы команды (числа 1, 2, 4, 8, 16, 32,
64, 128),
устанавливая логическую единицу на соответствующих штырьках, тем самым замыкая реле, на
соответствующем блоке.
Программа для управления
LPT портом
Пример программы я приведу на языке
Visual Basic, т.к. только этот язык знаю хорошо.
Для работы программы, написанной на
vb потребуются некоторые драйвера, т.к. напрямую из
vb работать с LPT
портом
нельзя. (Установив этот драйвер вы можете также посмотреть пример написания
программы на C++)
Итак. Создаём
стандартный проект. Подключаем стандартный модуль. В котором пишем:
Public
Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As
Byte
Public Declare Sub DlPortWritePortUchar Lib "dlportio.dll"
(ByVal Port As Long, ByVal Value As Byte)
В разделе формы
(General) (Declarations) пишем:
Const
IN_PORT As Integer = &H379
Const OUT_PORT As Integer = &H378
На форме создаём
кнопку и текстовое окно. И пишем код:
Private
Sub Command1_Click()
DlPortWritePortUchar OUT_PORT, Val(Text1.Text)
End Sub
На этом написание
программы окончено. Теперь написав в текстовом окне число 1, 2 , 4, 8, 16, 32,
64, 128 и нажав
кнопку, мы пошлём команду на
LPT порт, на соответствующий штырёк, сработает определённое реле и подключенное
устройство
заработает. Послав 0 прибор выключится.
P.S. Для
работы программы необходимо установить LPT порт в
EPP положение. Сделать это можно в BIOS.
P.P.S.
Ни в коем случае не подключайте напрямую к штырькам порта нагрузку больше, чем светодиод!!!
Это может
повлечь за собой выгорание LPT-порта!
P.P.P.S
Всё что вы будите творить со своим компьютером, в частности с
LPT портом вы делаете на свой страх и риск.
Автор
статьи ни какой ответственности за принесённый ущерб не несёт!!!!
Если у вас
возникли какие-либо вопросы присылайте их на адресс -
rau@bk.ru
Комментарии!
Добавить комментарий
Все статьи
москва снять квартиру недорого москва
|