「mbed」と「mbed Application Board」を使用して、内蔵されているjoysticを使ってみます。
最終目標としては、joysticの入力内容をLCDにリアルタイム表示するところまでやります。
・PC
・mbed Application Board
手順
(1)BusInを使用して入力ピン情報を定義
BusIn joy(p15,p12,p13,p16);//up,down,left,right
このように定義することで、それぞれ上下左右方向に入力されたら"joy"に対して値が入ります。
BusInの特徴として、p15から下位ビット、p16側を上位ビットとするという決まりがあります。
なので上方向に入力した場合は0001となり、0x01
同様に下方向に入力した場合は0010となり、0x02
左方向に入力した場合は0100となり、0x04
右方向に入力した場合は1000となり、0x08
となります。
(2) それぞれの入力に応じてLCDに表示する
完成したソースコードを以下に示します。
#include "mbed.h"
BusIn joy(p15,p12,p13,p16);//up,down,left,right
int main()
{
while(1) {
lcd.cls();
lcd.locate(0,3);
switch(joy){
case 0x01: lcd.printf("up");break;
case 0x02: lcd.printf("down");break;
case 0x04: lcd.printf("left");break;
case 0x08: lcd.printf("right");break;
}
wait(0.5);
}
}
これを実行すると⇓⇓⇓
この写真は上方向を入力している様子です。
無事”up”と出力することができました!
同様に下左右方向も出力可能です!