一月以上前、あるかたより、TinyBasicを用いた基盤をいただきまして、電子工作に使ってみてくださいと言う事ではじめてTinyBasicというものに触れました。
今回はそのtiny basicを用いた電子工作について書いていこうと思います。
tiny basicとはタイニーベーシックと言って小規模なbasicとwikiで知りました。
私の理解度では、開発言語がbasicの8ビットマイコンなのかな?と勝手に思いこんでおりました。
基盤を送ってもらった方からの情報で、なんとこのtinybasicなるものは、PICマイコンのように長ったらしいコンフィグレーションを記述したりする必要がなく、簡単に8ビットのI/Oポートが使えたり、10ビットのA/D変換が5ポートも設定なしに簡単に使えたりします。
しかも、開発言語は劇的に簡単で特に開発環境もいらず、プログラムはPCからターミナルで入力するだけなんだとか。
PCからの操作で思い通りに動かせたり、オートランで自動的にプログラムを走らせたり結構凝れば色々な事ができそうです。
Arduinoに似てますが開発環境もいらず、コンフィグもいらず、コマンド数が劇的に少ない開発言語というところが全く違います。
いうなれば機能的は制限(上限)はありますが、敷居がめちゃくちゃ低いPICマイコンといったところでしょう!!
これは電子工作を伴うプログラミング教材にはもってこいっという感じですね。
さっそく、試してみます。
届いた基盤のセットです。↓
これを半田付けしていきます。
マイコンにはPIC16F886が使われていました。
部品点数も洗練されています。
組み上がりました。
PCとの接続はUARTを利用しているようです。
UARTについてはこちらがわかりやすいです。
このUARTとUSBに変換するチップがUSBケーブルに内臓されています。↓
シリアル通信をUSBに変換するチップにPL2303が使われておりwindow10なら、PCに挿すだけでドライバがインストールできるそうですが、私の環境ではうまく行かなかった為、対策をほどこしたドライバをいれる事でうまく認識ができるようになりました。
PCに接続して基盤に電源を投入すると↓こんな感じ
teratermeというPCソフトを使いシリアル通信により接続します。
ちなみにボーレートは38400、改行コードはCR+LF などなど細かな設定はしなければなりませんが、PICマイコンのコンフィグや開発環境の手順などの煩雑な手順と比べるとかなり楽で簡単です。
そしてうまく繋がりました。↓
今回は、最初なので、簡単にLEDをチカチカさせます。
I/Oポートは8ビットあるので、交互に光らせたいと思います。
下図がプログラムです。一応メモ帳で書いておいて、terarermにコピペするとOK。
tinybasicではコマンドモードとプログラムモードがあり、プログラムを書き込むモードがプログラムモードになるそうです。
このプログラムモードの状態にして事前に書いたプログラムをコピペすると、一行ずつ読み込まれ、エラーがなければOKです。
プログラムを説明すると@40というのが、8ビットの出力ポートの番地になります。
ここをゼロとすると出力はゼロです。
プログラムでは10進数か16進数が使えるので、今回は10進数を用いました。
@40=170というは、2進数でいうと10101010です。
@40=85というのは、2進数で01010101です。
最近ではこの10進数や16進数を2進数に簡単に変換してくれる計算機がwindow10の計算機に備わっています。
delayで0.3秒ずつの時間を空けながら永遠繰り返すというプログラムです。
GOTO RepでRepまでジャンプするという意味です。
動画はこちら↓
むちゃくちゃ簡単にLEDを光らせる事ができました。最高です。