つれづれなる備忘録

日々の発見をあるがままに綴る

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端子の電圧を観測するためにマルチメーターに接続する。

"micro:bitにマルチメーターを接続"
micro:bitにマルチメーターを接続

なおコードブロックで扱う上では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を出力するブロックも作成する。

"P0から電圧入出力"
P0から電圧入出力

次にA+Bボタン同時押ししたときに、0端子がHighかLowの状態を読み出すには、ボタンのコントロールブロックに基本から数字"0"を表示ブロックをはめこむ。"0"の部分は数字入力で変更できるが、ここの部分に入力カテゴリのデジタルピンP0を読み取るブロックをはめこむことで、ピンのHigh/LowをLEDアレイ上に数字で1または0として表示することができる。

"入力ブロックの作成"
入力ブロックの作成

3. 動作例

シミュレーションを開始すると、最初に0Vがマルチメータの表示される。次にAボタンを押すとマルチメータの表示が3.3Vに変わり、0端子から電圧Highが出力されていることを以下のように確認できる。

"端子0から電圧Highを出力"
端子0から電圧Highを出力

A+Bボタンを押すと、LEDアレイ上に"1"が表示され、マルチメータの出力が1.72Vになる。再びA+Bを押しても1.72Vが電圧Highと認識されているため"1"のまま表示は変わらない。

"端子0の状態読み出し(High)"
端子0の状態読み出し(High)

Bボタンを押して電圧Lowの0Vの状態で再びA+Bボタンを押すと、LEDアレイに"0"が表示され、マルチメータの電圧は1.72Vを表示する。

"端子0の状態読み出し(Low)"
端子0の状態読み出し(Low)

4. まとめ

 今回はmicro:bitのピンからデジタル電圧を入出力する方法について紹介した。