***ネットワークからリレー制御 [#becdedeb] 大昔使っていた「マイ・リレー」と言う8回路リレー制御I/Fを引っ張りだし、USB-IO2.0(→ http://km2net.com/usb-io2.0/index.shtml) を接続して、動作テストをしてみた。 +取り付けと配線 ・「マイ・リレー」のリレーは、松下電工 HB1-DC5V 接点容量 AC125V 1A が8個使用され、2接点1回路が8チャンネル分実装してある。 リレーは5Vで45mA/1個消費する。 ・「マイ・リレー」のリレーは、松下電工 HB1-DC5V 接点容量 AC125V 1A が8個使用され、 2接点1回路が8チャンネル分実装してある。リレーは5Vで45mA/1個消費する。 ・USB-IO2.0は機能を見て、秋月ではなく、汎用性のある方をKm2Netより購入した。 +''組込み完了'' &ref(CIMG1234.JPG,around,,30%); &ref(CIMG1235.JPG,around,,30%); USB-IO2.0を樹脂ビスで4箇所止め 外観(アクリル板で挟み込み) +''制御ソフト'' Linux版のサンプルソースを(上記サイトからD/L)編集してコンパイル。 ----- swon01.c ---------------------- #include <stdio.h> #include <string.h> #include <usb.h> #include "usbiofamily.h" int main(int argc, char **argv) { int ret; int dat; struct usb_bus *bus; struct usb_device *dev; usb_dev_handle *udev; unsigned char sendData[64]; unsigned char recvData[64]; /*-------------*/ /* Device Open */ /*-------------*/ bus=io_init(); dev=io_find(bus,dev); if( dev==NULL ){ puts("io_find NG"); exit(1); } udev=io_open(dev); if( udev==NULL ){ puts("io_open NG"); exit(2); } /*------------------------*/ /* Port 1,2 in_out */ /*------------------------*/ memset(sendData, 0, sizeof(sendData)); sendData[0] = 0x20; //in out sendData[1] = 0x01; //port1 sendData[2] = 0x01; //out 0x01 sendData[3] = 0x02; //port2 sendData[4] = 0x00; //out 0x00 io_send_recv(udev,sendData,recvData); printf("in:P1(%x),P2(%x) out:P1(%x),P2(%x)\n" ,recvData[1],recvData[2], sendData[2],sendData[4]); /*---------------------*/ /* Device Close & Exit */ /*---------------------*/ io_close(udev); exit(0); } # gcc -lusb -oswon01 swon01.c &color(Red){''以下作成中''}; (^_- #clear #comment #navi(日記) |