Tinkercadによるマイコンシミュレーション4
今回はmicro:bitのピンからデジタル電圧を入出力する方法について紹介したい。
1. micro:bitの入出力端子
今回はmicro:bitのボタンを操作して、端子から電圧High(3.3V), Low(0V), 端子0のHigh/Low読み出す動作を取り上げる micro:bitの入出力端子は0,1,2があるが、今回は0だけを使用する。micro:bitの0端子の電圧を観測するためにマルチメーターに接続する。
なおコードブロックで扱う上では0,1,2端子はそれぞれP0
,P1
,P2
としてアサインされている。詳細は以下ドキュメントに記載されている。
microbit-micropython.readthedocs.io
2. 電圧入出力
0端子から電圧入出力するコードブロックを以下に示す。カテゴリ-出力からピンP0~高をデジタルで書き込み
をドラッグして開始時にはめこみ、高
から低
に変更すると開始時のLow(0V)を出力する。
また基本からボタン
のコントロールブロックに上記ピン出力のブロックをはめこみ(P0-高)、ボタンA-pressedとするとAボタンを押すと0端子から電圧High(3.3V)が出力される。同様の手順でBボタンを押すと電圧Lowを出力するブロックも作成する。
次にA+Bボタン同時押ししたときに、0端子がHighかLowの状態を読み出すには、ボタン
のコントロールブロックに基本から数字"0"を表示
ブロックをはめこむ。"0"の部分は数字入力で変更できるが、ここの部分に入力カテゴリのデジタルピンP0を読み取る
ブロックをはめこむことで、ピンのHigh/LowをLEDアレイ上に数字で1または0として表示することができる。
3. 動作例
シミュレーションを開始すると、最初に0Vがマルチメータの表示される。次にAボタンを押すとマルチメータの表示が3.3Vに変わり、0端子から電圧Highが出力されていることを以下のように確認できる。
A+Bボタンを押すと、LEDアレイ上に"1"が表示され、マルチメータの出力が1.72Vになる。再びA+Bを押しても1.72Vが電圧Highと認識されているため"1"のまま表示は変わらない。
Bボタンを押して電圧Lowの0Vの状態で再びA+Bボタンを押すと、LEDアレイに"0"が表示され、マルチメータの電圧は1.72Vを表示する。
4. まとめ
今回はmicro:bitのピンからデジタル電圧を入出力する方法について紹介した。