Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Homepage
SW認識Library(SWDigital)のサンプルプログラムの説明¶
<概要>¶
SW認識させるLibrary(SWDigital)と、Libraryを使用したサンプルプログラムについて説明します。
Libraryとサンプルプログラムは次のアドレスからダウンロードできます。
Library:
http://mbed.org/users/suupen/code/SwDigital/#af5fbc75b7bf
サンプルプログラム:
http://mbed.org/users/suupen/code/SwDigitalLibraryExampleProgram/file/3f5813718d33/SwDigital.lib
サンプルプログラムの動作例
<Libraryについて>¶
SWのレベルを10[ms]毎に認識して、レベルが3回一致したら、そのレベルを確定値として認識します。
このため、SW操作をして認識値が変化するまでに30[ms]必要になります。
複数回のレベル認識をして確定値を決めるので、SW操作によるチャタリングノイズの除去が可能です。
SW認識に使用する端子は、mbed内部でプルアップしているので、外部にプルアップ抵抗を接続する必要はありません。
このLibraryで使用するmbed機能¶
- チッカータイマー(Ticker) 1[us]単位、10[ms]周期
- デジタル入力(DigitalIn) プルアップ有効
SW入力に設定可能な端子(LPC1768)¶
- p5~p30 の内の20本
SW認識処理の変更方法¶
- SwDitital.h内の定義を変更することで、以下の条件を変更できます。
- SW認識周期:Z_matchcycle 設定範囲:10[ms](10000)~100[ms](100000) (1[us/count])
- SW一致回数:Z_itchPattern 設定範囲:3~8[回]
SwDigital.hの設定箇所
Libraryの使い方¶
サンプルプログラムより
- SW認識する端子の指定: swDigital
- SWのレベル認識関数 :checkLevel(swNo)
- SWのONエッジ認識関数 :checkEdgeOn(swNo)
- SWのOFFエッジ認識関数:checkEdgeOff(swNo)
引数のswNoは、端子定義関数のswDigitalの引数のポートの順番(0~19)
<サンプルプログラムについて>¶
mbed(LPC1768)を使用しています。SWは2つ使用しており、
- SW1 : P10
- SW2 : P20
に接続します。
回路図
SW1ではSWのレベル認識(OFFなのかONなのかを判定)させてLED1、LED2を制御します。
SW1 がOFFのときは、mbed(LPC1768)のLED2が点灯します。
ON の時は、 LED1が点灯します。
SW2ではSWのエッジ認識(OFF→ON、ON→OFFの変化)させてLED3,LED4を制御します。
SW2 をOFF→ON、ON→OFFの変化をカウントしてLED3,LED4を点滅させます。
以上