3.傾斜計
加速度センサを使った傾き計です。
写真の加速度センサは3軸センサと呼ばれるもので、左右(X軸)・上下(Y軸)・高さ(Z軸)の3方向の変化を読み取るセンサ部品です。
このプログラムでは、左右(X軸)のみを使います。
IchigoJam基板のCN3のIN2端子に加速度センサのX軸出力をつなぎます。
センサの出力値は0~1023の値です。
この加速度センサの中心値は約510になります。
つまり、水平であれば中心値の約510付近の値が出力され、傾いているときに値が増減します。
変数Aに、右に傾けると+1~+11以上、左に傾けると-1~-11以上になるように計算しています(30行目)。
変数Aが0なら水平なので、LEDは光らせません(50行目)。
変数Aが正数(+)なら右に傾いているので、LEDを右回りにマゼンダ色を光らせます。
IF命令が続いていますが、色を設定するプログラムは、ミッション6と同じしくみです(60行目) 。
変数Aが負数(ー)なら左に傾いているので、LEDを左回りにシアン色を光らせます(70行目) 。
10 ‘M.7 傾き計
20 L=100
30 A=(ANA(2)-510)/10
40 FOR I=0 TO 11
50 IF A=0 THEN C=0
60 IF A>0 THEN IF A>I THEN C=6 ELSE C=0
70 IF A<0 THEN IF A<I-11 THEN C=5 ELSE C=0
80 GSB @SET_WS.LED(I,C,L)
90 NEXT
100 WS.LED 12
110 GOTO 30
※ 次のプログラムを加えると、変数A,I,Cの変わり方がわかります(参照:CLS命令、LC命令、?命令)。
15 CLS
85 LC 0,0
86 ?”A=”;A, “I=”;I, “C=”;C,