BBC Micro:bitのVCC(電力の供給)以外のGPIOピンでGeekServo 9G Motor-Redを動かしたいという目標がある。
GeekServo 9G Motor-RedはDCモーターだ。
Raspberry PiではGPIOピンは3.3Vなので、VCC(+極)にGPIO 1 ピン、GND(-極)にGNDを接続して、1ピンをHIGHにするとモーターは回るが、マイクロビットのGPIOの 0 ピンではGeekServo 9G Motor-Redは動かない。
マイクロビットのGPIOピンの電圧は低いのかもしれない。
GPIOの電圧を上げる方法はあるのだろうか?と考えたところ、トランジスタが増幅器だったなと。
というわけで、マイクロビットでトランジスタを試してみることにした。
いつも話題に挙げているラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作 作る、動かす、しくみがわかる! - ブルーバックスシリーズの特設ページで応用演習としてトランジスタがあるので、マイクロビットに置き換えて試してみることにした。
演習内容は青色LEDを光らせることで、(赤色LED等と比較して)要求される電圧が高い(Vf = 3.4V)のでトランジスタで電流を増幅させて点灯させる
今回使用したトランジスタは2SC1815-GRになる。
トランジスタ 2SC1815L-GR-T92-K 60V150mA (20個入): 半導体(モジュール) 秋月電子通商-電子部品・ネット通販
応用演習に記述されている内容から、マイクロビットのGPIO 0 ピンが2Vであると予想したことを加味した配線は下の図の通り。
図の上のAAA Batteryはマイクロビットの拡張ボードにある5Vに対応したものが見当たらなかったので、Batteryで代用した。
実際はこんな感じ。
マイクロビットの方で作成したMicroPythonのコードは下記の通り。
from microbit import * pin1.write_digital(0) while True: if button_a.is_pressed(): pin0.write_digital(1)
早速試してみる。
青色LEDが光った状態で、そのまま冒頭のGeekServo 9G Motor-Redにつなげてみたけれども、モータは動かず。
マイクロビットで冒頭のDCモーターを動かす事が可能なのか?を知る為にはトランジスタの事をもっと知る必要があるだろうなと。