縮小表示>>拡大表示
2018年
1月
311
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
123
 
あなたは1271281人目です。
KaracriBoard入門キットの解説〜応用編〜
KaracriBoard入門キットの解説〜応用編〜

このページでは,まず応用編として「KaracriBoard入門キット」には含まれていない電圧計とサーボモータの使用方法について説明します. その後,簡単な応用例として「KaracriBoard入門キットの解説〜基礎編〜」で解説してきたものをいくつか組み合わせたものを紹介していきたいと思います.
こちらのページに電圧計などの購入できる通販先をまとめました.
->「KaracriBoard入門キットの解説〜応用編部品の通販先リンク集〜

Step 1.メータ(電圧計)で出力を表示(LANコマンド->aout)

ここではメータ(電圧計)を使用してKaracriBoardのアナログ出力(AO)の機能について説明します.KaracriBoardのアナログ出力端子は2つ(AO-1,AO-2)あります.この出力は0〜5[V]までを256段階(0〜255)で指定します.これを電圧計の針の振れによって確認することができます.
今回,LANコマンドの"aout"を使用します.詳しくは,コマンドリファレンスの116頁を参照してください.
電圧計の代わりにテスタ等を使用してもいいですが,そのときはフルスケールの調整用の半固定抵抗は必要ないかもしれません.
  1. 図1-1のように入出力ピン(端子)に,半固定抵抗とメータをつないで下さい.
  2. 取り扱い説明書の77頁に載っているプログラムを作成し,実行してください.sample.c(IPアドレスを変更して実行してください.「Ctrl」+「c」で終了)--!>
  3. "Command>"と表示されるので,その後ろに"1111 aout 128 0"などと入力してEnterを押してください.(コマンドaoutの後の数字は0から255までの整数で,現状維持の場合は"-1"を入力してください)
  4. すると,"RESPONSE=[1111 AOUT]"というように返答が戻ってきます.このときメータを見ると針が触れているのが分かると思います.
※)10[kΩ]の半固定抵抗はメータのフルスケールの調整用(5[kΩ]ぐらいのところが良いようです)
meter
図1-1.メータの接続
※)図の丸囲みの数字->入出力ピン(端子)の番号

Step 2.RCサーボモータの制御(LANコマンド->pwmout)

ここではRCサーボモータを使用してKaracriBoardのPWM出力(PWM)の機能について説明します.KaracriBoardのアナログ出力端子は端子台上に2つ(PWM-1,PWM-2),オンボード・ピン出力が1つあります.この出力はPWMスケール値を10000段階(0〜10000)で指定します.これをRCサーボモータの回転方向によって確認することができます.
RCサーボモータはパルスの幅によって位置(角度)を制御するサーボモータです.
詳しく知りたい人は->サーボの動作原理 (http://berry.sakura.ne.jp/technics/servo_control_p3.html)
今回,LANコマンドの"pwmout"を使用します.詳しくは,コマンドリファレンスの117頁を参照してください.
※)パルス幅変調(Pulse Width Modulation,PWM)とは変調方法の一つであり,パルス波のデューティー比(Highレベル時間とLowレベル時間の比)を変化させて変調すること.
  1. 図2-1のように入出力ピン(端子)と,サーボモータ,ACアダプタをつないでください.(接続にはピンヘッダ3Pを使用してください.接続部はハンダ付けをお勧めします.)
  2. 取り扱い説明書の77頁に載っているプログラムを作成し,実行してください.
  3. "Command>"と表示されるので,その後ろに"1111 pwmout 5000 0000 0000"などと入力してEnterを押してください.(コマンドpwmoutの後の数字[5000]はサーボモータに与えられるパルス幅1.5[msec]に対応しています.この値より小さい時にパルス幅が小さくなり右に,大きい時にパルス幅が大きくなり左に回転します.)
  4. すると,"RESPONSE=[1111 PWMOUT]"というように返答が戻ってきます.このときサーボモータは右or左に少しだけ回転します.
※)サーボモータなので1度に何度もぐるぐる回転はしません.
※)代表的なサーボモータでは1.5[msec]幅のパルス信号を与えるとほぼ中心で停止します.それよりも短いパルス幅だと右(左)回りに,長いパルス幅だと左(右)回りに回転します.サーボモータは,メーカーや機種によって特性(回転方向,回転範囲,中心位置)が異りますので,良く調べてからお使いください.
※)サーボモータのコントロール範囲値は,0〜10000です.真ん中へのコントロール値は,正規化されて5000です.TK0040A内のPWMコントローラに設定するハード的な設定値は4688で,4688を与えると,1.5msec幅になりますが,サーボモータの中心になるとは言い切れません.中心となる4688に換わる値をサーボモータの特性に合わせておくものです.中心となる4688に換わる値をTK0040Aパラメータとして設定(ブラウザでログイン時に設定可)しておけば,サーボモータのコントロール値に5000を与えたとき中心となるものです.
servo
図2-1.RCサーボモータの接続
※)図の丸囲みの数字->入出力ピン(端子)の番号



〜KaracriBoard入門キットの応用例〜

Application 1

電圧計,光センサ,LEDを組み合わせた応用例.
光センサの出力値を1分間2秒毎に取得し,その結果を標準出力と電圧計の振れで確認でき,ある値よりも小さければ(ある明るさよりも暗い),LED(照明)がつくというものです.
  1. 図3-1のように入出力ピンに,電圧計,光センサ,LEDをつないでください.
  2. 取り扱い説明書の77頁に載っているプログラムをもとにオリジナルのプログラムを作成し,実行してください.
    サンプルプログラム1->application1.c(IPアドレスを変更して実行してください.「Ctrl」+「c」で終了)
  3. 光センサの出力値の取得にはAI-1端子(5ピン)の入力を使用しています.光センサの電源に今回は5[V](1ピン)を使用しています.抵抗値は今回は1[kΩ]のものを使用していますが,適当なものを選択してください.
  4. LEDの点灯にはDO-1端子(32ピン)の出力を使用しています.LEDの電源には今回は12[V](19ピン)を使用しています.LEDの電源は5[V](1ピン)でもかまいませんが,流れる電流値を考えて抵抗値を選択してください.
  5. 電圧計への出力にはAO-1端子(22ピン)の出力を使用しています.出力範囲に応じて可変抵抗を調整してみてください.
  6. サンプルプログラム1を実行すると,以下の実行結果が標準出力されます.
    (実行結果)
    2007年08月26日19時13分09秒,AI-1:1.696[V],AI-2:5.000[V]
    2007年08月26日19時13分11秒,AI-1:1.652[V],AI-2:5.000[V]
    2007年08月26日19時13分13秒,AI-1:1.833[V],AI-2:5.000[V]



application1
図3-1.応用例 1

Application 2

応用例1の組み合わせを少し変えて,プログラムを少し変更するだけで以下のような応用例が出来ます.
電圧計,温度センサ,ブザーを組み合わせた応用例.
温度センサの出力値を1分間2秒毎に取得し,その結果を標準出力と電圧計の振れで確認でき,ある値よりも大きければ(ある温度よりも高い),ブザー(報知器)がなるというものです.
  1. 図4-1のように入出力ピンに,電圧計,温度センサ,ブザーをつないでください.
  2. 取り扱い説明書の77頁に載っているプログラムをもとにオリジナルのプログラムを作成し,実行してください.
    サンプルプログラム2->application2.c(IPアドレスを変更して実行してください.「Ctrl」+「c」で終了)
  3. 温度センサの出力値の取得にはAI-1端子(5ピン)の入力を使用しています.温度センサの電源には12[V](19ピン)を使用しています.
  4. ブザーの動作にはDO-1端子(32ピン)の出力を使用しています.
  5. 電圧計への出力にはAO-1端子(22ピン)の出力を使用しています.出力範囲に応じて可変抵抗を調整してみてください.
  6. サンプルプログラム2を実行すると,以下の実行結果が標準出力されます.
    (実行結果)
    2007年08月28日19時09分07秒,AI-1:0.308[V],AI-2:0.303[V]
    現在の室温は,AI-1:30.792[℃],AI-2:30.303[℃]
    2007年08月28日19時09分09秒,AI-1:0.308[V],AI-2:0.303[V]
    現在の室温は,AI-1:30.792[℃],AI-2:30.303[℃]



application2
図4-1.応用例 2

Application 3

電圧計,光センサ,LEDを組み合わせた応用例.
応用例1を少し変えて光センサの出力値を1分間2秒毎に取得し,その結果を標準出力と電圧計の振れで確認でき,その明るさに応じた明るさでLEDが点灯する物です(暗ければより明るく).
  1. 図5-1のように入出力ピンに,電圧計,光センサ,LEDをつないでください.
  2. 取り扱い説明書の77頁に載っているプログラムをもとにオリジナルのプログラムを作成し,実行してください.
    サンプルプログラム3->application3.c(IPアドレスを変更して実行してください.「Ctrl」+「c」で終了)
  3. 光センサの出力値の取得にはAI-1端子(5ピン)の入力を使用しています.光センサの電源に今回は5[V](1ピン)を使用しています.抵抗値は今回は1[kΩ]のものを使用していますが,適当なものを選択してください.
  4. LEDの点灯にはAO-2端子(21ピン)の出力を使用しています.LEDの電源はAO-2端子のアナログ出力(〜5.0[V])を利用して,その出力値を照度に応じて変化させることでLEDの明るさを変化させるので,流れる電流値を考えて抵抗値を選択してください.
  5. 電圧計への出力にはAO-1端子(22ピン)の出力を使用しています.出力範囲に応じて可変抵抗を調整してみてください.
  6. サンプルプログラム3を実行すると,以下の実行結果が標準出力されます.
    (実行結果)
    2007年08月31日19時22分31秒,AI-1:4.594[V],AI-2:5.000[V]
    電圧計への出力値:234/255,LEDへの出力値: 21/255
    2007年08月31日19時22分33秒,AI-1:0.029[V],AI-2:5.000[V]
    電圧計への出力値: 1/255,LEDへの出力値:254/255



application3
図5-1.応用例 3

2008/01/18