***ネットワークからリレー制御 [#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個消費する。
 ・USB-IO2.0は機能を見て、秋月ではなく、汎用性のある方をKm2Netより購入。

+''組込み完了''
&ref(CIMG1234.JPG,around,,30%);  &ref(CIMG1235.JPG,around,,30%);
 
+''制御ソフト''
 Linux版のサンプルソースを編集してコンパイル。
 ----- swon01.c ----------------------
 /*----------------------------*/
 /* USB-IO Family TEST         */
 /*----------------------------*/
 
 #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 0x03
    sendData[3] = 0x02;     //port2
    sendData[4] = 0x00;     //out 0x07
    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

#clear
#comment
#navi(日記)


リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS