コンテックRAS/RTC Raspberry Pi ボードを使う②サンプル・プログラムを動かす
前回、ダウンロードしたサンプル・プログラムをコンパイルしました。Downloadsフォルダに入ったままだと違和感があるので、contecというフォルダを作り、ファイル・マネージャでコピーをします。
●サンプル・プログラムdio
ターミナルを開き、dioプログラムの入っているディレクトリまでおります。
~/contec/samples/console_samples/dio
dioは、入出力ポートが出ている10ピンのコネクタを扱います。実行します。
./dio
解説は、
/home/pi/contec/help/jp
に入っているcorashelp.htmを起動します。dioをクリックします。
汎用入出ポートの状態を取得と書かれていますが、読み出しと書き込みができます。
引数なしで実行すると、実行オプションが表示されますと説明されていますが、そうではないようです。
リファレンスマニュアル | CPI-RAS [日本語]
をダウンロードします。執筆時点では2021/05/19版でした。
●インターフェース・コネクタ
ピン番号 | 信号名 | 内容 |
1 | DO- | ほかの機器の入力信号の(-)側に接続 |
2 | DO+ | ほかの機器の入力信号の(+)側に接続 |
3 | DI1- | ほかの機器の出力信号の(-)側に接続 |
4 | DI1+ | ほかの機器の出力信号の(+)側 |
5 | DI0- | ほかの機器の出力信号の(-)側に接続 |
6 | DI0+ | ほかの機器の出力信号の(+)側に接続 |
7 | 5V外部電源- | 5V±5%電圧が出力される。外部電源の(-)側に接続 |
8 | 5V外部電源+ | 5V±5%電圧が出力される。外部電源の(+)側に接続 |
9 | 8 - 28V外部電源- | DC電源コネクタの入力電圧が出力される。外部電源の(-)側に接続 |
10 | 8 - 28V外部電源+ | DC電源コネクタの入力電圧が出力される。外部電源の(+)側に接続 |
●入力
入力はDI1とDI0の二つです。等価回路は次のようになります。
./dio 0
は、読み出しです。ソース・プログラムdio.cを見ると、8ビット単位になっています。
◆入力に何もつながない
実行結果 DIO port read [0]
◆ 4ピンと3ピンをつなぐ(DI1)
実行結果 DIO port read [2]
◆ 6ピンと5ピンをつなぐ(DI0)
実行結果 DIO port read [1]
◆ 4ピンと3ピンをつなぐ(DI1)、6ピンと5ピンをつなぐ(DI0)
実行結果 DIO port read [3]
●電源ピン
7-8ピンの「5V外部電源」と、9-10ピンの「8 - 28V外部電源」の電圧をテスタで測ります。
どちらも0Vでした。
./dio 1 8
DIO port write [8]
「5V外部電源」に5.04Vが出ました。「8 - 28V外部電源」は0Vです。
./dio 1 4
DIO port write [4]
「5V外部電源」は0Vです。「8 - 28V外部電源」に24.0Vがでました。
./dio 1 0x0c
DIO port write [c]
「5V外部電源」に5.04Vが、「8 - 28V外部電源」に24.0Vがでました。
このときのマイナス側をテスタで計ると、
- 3ピン DI1-
- 5ピン DI0-
- 7ピン 5V外部電源-
- 9ピン 8 - 28V外部電源-
が共通であることがわかりました。出力の1ピンDO0-は共通グラウンドにつながっていません。
●出力
等価回路です。
./dio 1 1
DIO port write [1]
LEDが点灯しました。消灯は次のコマンド実行できます。
./dio 1 0
DIO port write [0]