2013年12月22日日曜日

SW認識Library(SWAnalog)のサンプルプログラムの説明

SW認識Library(SWAnalog)のサンプルプログラムの説明

<概要>

SW認識させるLibrary(SwAnalog)と、Libraryを使用したサンプルプログラムについて説明します。

Libraryとサンプルプログラムは次のアドレスからダウンロードできます。
Library:
http://mbed.org/users/suupen/code/SwAnalog_LPC1768/


サンプルプログラム:
http://mbed.org/users/suupen/code/SwAnalogInputLibraryExampleProgram/


サンプルプログラムの動作

http://www.youtube.com/watch?v=junEOuqq_RE&feature=share&list=UUBKFbjZziYG1M-dKWqTlUwA



<Libraryについて>

SWの状態を、抵抗による電圧の分圧比の変化で認識します。
使用する抵抗は、精度±1[%]のもの(金属皮膜抵抗)を使います。
(共立エレショップ:http://eleshop.jp/shop/c/c110312/)




SW認識回路

アナログポートから読み込んだアナログ認識値から、SWのON,OFF状態を判定します。この判定値を10[ms]毎に更新して、判定値が3回一致したら、その判定値を確定値として認識します。このため、SW操作をして認識値が変化するまでに30[ms]必要になります。
複数回のレベル認識をして確定値を決めるので、SW操作によるチャタリングノイズの除去が可能です。

このLibraryで使用するmbed機能

・ チッカータイマー(Ticker) 1[us]単位、10[ms]周期
・ アナログ入力(AnalogIn)

SW入力に設定可能な端子(LPC1768)

p15~p20 の内の6本
(各端子に3本のSW認識が可能で、合計18本のSW認識が可能)

SW認識処理の変更方法

SwDitital.h内の定義を変更することで、以下の条件を変更できます。
SW認識周期:Z_matchcycle  設定範囲:10[ms](10000)~100[ms](100000)  (1[us/count]) 
SW一致回数:Z_itchPattern 設定範囲:3~8[回]




SwAnalog.hの設定箇所

 Libraryの使い方



サンプルプログラムより

SW認識する端子の指定: swAnalog
SWのレベル認識関数  :checkLevel(swNo)
SWのONエッジ認識関数 :checkEdgeOn(swNo)
SWのOFFエッジ認識関数:checkEdgeOff(swNo)
 引数のswNoは、端子定義関数のswAnalogの第一引数には,0,1,2、第二引数には3,4,5と割り振られていきます。

<サンプルプログラムについて>

mbed(LPC1768)を使用しています。SWは3つ使用しており、
アナログポートの、P20に接続します。



回路図




ブレットボードでの配線

プログラムの動作内容

SW0、SW1では、SWのレベル認識(OFFなのかONなのかを判定)する例です。
SW0は、ONしている間、LED1を点灯させます。
SW1は、OFFしている間、LED2を点灯させます。

SW2では、SWのエッジ認識(OFF→ON、ON→OFF)する例です。
SW2のONエッジ(OFF→ON)の時に、LED3の出力を反転させます。
SW2のOFFエッジ(ON→OFF)の時に、LED4の出力を反転させます。

以上

0 件のコメント:

コメントを投稿