как управлять через комп`ютер самодельными устройствами
Добавлено: Сб фев 05, 2011 21:20:25
как управлять через комп`ютер самодельными устройствами, например роботом без контролеров, или включять и выключять лампочку.
Здесь можно немножко помяукать :)
https://radiokot.ru:443/forum/
Через электро-сопрягающие усилители путем изменения состояния выходных портов интерфейсов ЛПТ или СОМ или USB. Если изощриться то можно и через аудио-выход.zwer97 писал(а):как управлять через комп`ютер самодельными устройствами, например роботом без контролеров, или включять и выключять лампочку.
Вы забыли Ethernet (сложное но универсальное решение для удаленных устройств) и радиоканал: BlueToth, WiFi, и прочие. Можно сделать плату с PCI и вставить внутрь компютера. И если уж говорить об извращениях-то через сетевой шнур путем измерения потребляемой мощности, а со стороны компа изменять нагрузку на процессор сложными вычислениями.svs39 писал(а):Через электро-сопрягающие усилители путем изменения состояния выходных портов интерфейсов ЛПТ или СОМ или USB. Если изощриться то можно и через аудио-выход.zwer97 писал(а):как управлять через комп`ютер самодельными устройствами, например роботом без контролеров, или включять и выключять лампочку.
Отправить данные в COM порт можно так:zwer97 писал(а):можно через ком порт
Код: Выделить всё
; Открытие COM1 порта, со скоростью обмена - 9600 бод.
If OpenSerialPort(0,"COM1", 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 256,256)
Send.a=10
WriteSerialPortData(0, @Send, 1) ; Посылаем данные (число 10) в COM порт.
CloseSerialPort(0) ; Закрываем порт.
EndIfМсье знает толк в извращенияхРадиоЛоматель писал(а): И если уж говорить об извращениях-то через сетевой шнур путем измерения потребляемой мощности, а со стороны компа изменять нагрузку на процессор сложными вычислениями.
и что оно(число 10) там(в порте) будет делать без контроллера то?Мурик писал(а):Отправить данные в COM порт можно так:zwer97 писал(а):можно через ком портКод: Выделить всё
; Открытие COM1 порта, со скоростью обмена - 9600 бод. If OpenSerialPort(0,"COM1", 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 256,256) Send.a=10 WriteSerialPortData(0, @Send, 1) ; Посылаем данные (число 10) в COM порт. CloseSerialPort(0) ; Закрываем порт. EndIf
Код будет работать в Windows, Linux и MacOS.
Но ведь вопрос не в том, как проще, а как можноJack_A писал(а):А насчет PCI - сам не пробовал, но гуру предостерегали - этот интерфейс далеко не прст в применении.
Оно "вытолкнется" через выход TXD со скоростью 9600 бод.lix писал(а):и что оно(число 10) там(в порте) будет делать без контроллера то?
Ну можно и пинами.lix писал(а):пинами порта надо дергать
Код: Выделить всё
If OpenSerialPort(0,"COM1", 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 256,256)
SetSerialPortStatus(0, #PB_SerialPort_DTR, 1) ; 1 на DTR.
SetSerialPortStatus(0, #PB_SerialPort_RTS, 1) ; 1 на RTS.
SetSerialPortStatus(0, #PB_SerialPort_TXD, 1) ; 1 на TXD.
Delay(10) ; Ждем 10 миллисекунд.
SetSerialPortStatus(0, #PB_SerialPort_DTR, 0) ; 0 на DTR.
SetSerialPortStatus(0, #PB_SerialPort_RTS, 0) ; 0 на RTS.
SetSerialPortStatus(0, #PB_SerialPort_TXD, 0) ; 0 на TXD.
CloseSerialPort(0) ; Закрываем порт.
EndIf3 максимум.zwer97 писал(а):и сколько можно подключить напрямую