Tako can fry!

とほほ・・・

E-BASIC(仮) (2)

そういうわけで、DWM の付録基板 STM32(ARM) を使って BASIC みたいなものを作ろうというシリーズ。


いよいよ、タイマーやループの定義、IF/ELSE/ELSEIF/ENDIF の条件分岐ができるようになって、それなりのプログラムが動くようになってきた。
ボタンを押すと 2 つの LED が交互についたり、タイマーで 1 秒置きに LED を点滅させたりと、おもろなってきた。


あと、3軸加速度センサーも載っていることだし、アナログ入力くらいはさせようと思ったけど、DMA とかからんできて設定させようと思うと難しいかも。
とりあえず、ANALOG 0、1、2 に X、Y、Z の加速度を割り当てて、プログラムに反映させられるようにしてみた。

±2g で、2000 あたりが水平のときに値らしい。
ここで、こういうプログラムを書いてみると、

MAIN: LOOP
  IF ACCX < 2000
    LED = 0
  ELSE
    LED = 1
  ENDIF
ENDLOOP

左に傾けると LED が消えて、右に傾けると LED が点くといったことができるように。
あとは、PWM 出力できるようにしてモーター等も制御できるようにしてみたり、変数も定義できるようにして、実用性を上げたいところ。