micro:bit extension boardとは?
micro:bitは、イギリスBBCが中心になって開発した教育向け小型マイコンボード。
イギリスの小学生に無償で配られたこともあり、授業での活用を通して、このマイコンボードに接続できる多くの各種拡張デバイスが開発、販売されています。
本ボードもそういった拡張用ボードの一つです。
4つのフルカラーLEDを自由な色に光らせたり、ヤマハのFM音源チップを鳴らす用途で、子供向けWSなどで活用してもらうために、このボードを製作しました。
用途その1: フルカラーLEDの制御
本ボードの第一の機能は、PCA9685を利用したRGBフルカラーLEDの制御です。
このボードにPCA9685、およびチップ部品をハンダ付けしていただくことによって、最大4つのフルカラーLEDをmicro:bitから簡単に制御できるようになります。
用途その2: YMF825Boardを鳴らす
ウダデンシから販売されているヤマハ製FM音源チップを搭載したYMF825Boardが接続可能です。
FM音源を使って、micro:bitのプログラミングで音楽を鳴らしたり、FM音源で発音する電子楽器を簡単に作ることが出来ます。
用途その3: micro:bit拡張端子のピン接続用
micro:bitの全拡張端子を2.54mmピッチのピン接続に変換出来ます。
また、I2C端子のピンも引き出しています。
micro:bitの拡張端子を使った各種機能をこのボードから利用することが可能です。
回路図
本ボードの回路図はここです。
フルカラーLED制御用の実装
フルカラーLEDを制御する用途では、以下の部品の実装が必要です。
1. PCA9685
2. 1608の10kΩ、1kΩ、0.1μFのチップ部品
3. チップトランジスタ2SA1313
さらに、micro:bit用のコネクタをハンダ付けし、フルカラーLED用のピン出力にピンなどをハンダ付けします。
必要な部品の入手先
PCA9685:マルツオンライン
チップトランジスタ2SA1313: 秋月電子通商
micro:bit用エッジコネクタ: スイッチサイエンス
その他、以下は適当な場所で入手してください。
・チップ抵抗 1608 10kΩ
・チップ抵抗 1608 1kΩ
・チップコンデンサ 1608 0.1μF
部品を実装する
写真の番号の部品は以下の通りです。
1. チップトランジスタ2SA1313
2. 抵抗10kΩ
3. 抵抗1kΩ
4. PCA9685
5. コンデンサ0.1μF
いずれも小型の表面実装部品ですが、頑張って手付けでハンダ付けしてみてください。
エッジコネクタのハンダ付け
エッジコネクタをハンダ付けします。
実際に回路と接続しているのは、内側の2列だけなので、全部の穴をハンダ付けする必要はないです。
ピンヘッダのハンダ付け
LEDと接続するためにピンヘッダを付けておくと便利です。
私は、写真のようなL型ピンヘッダをハンダ付けしました。
LED1,LED2,LED3,LED4と書いてある端子にハンダ付けします。接続するLEDはアノードコモンを想定しており、各LEDごとに4本ある端子の一番左側には、3.3Vの電源電圧がかかります。
接続するLED例
この拡張ボードと接続するLEDの一例を紹介します。
写真で使っているLEDは以下の部品です。
OSTA71A1D-A(アノードコモン): 秋月電子通商
この部品と電流制御用の抵抗を付けた回路を本ボードの端子と接続します。
ちなみに、抵抗は赤のLEDに75Ω、青と緑のLEDに4.7Ωを使っています。
プログラミング例(MycroPython)
micro:bit上の5×5 matrix LEDと本ボードで制御するLEDを光らせるMicroPythonのプログラムを添付します。
KamoeArtCenter.py
YMF825Boardの実装
micro:bitでYMF825を鳴らします。以下の部品が必要になります。
・YMF825Board
・三端子レギュレータ
・レギュレータ用コンデンサ
必要な部品の入手先
YMF825Board: スイッチサイエンス
micro:bit用エッジコネクタ: スイッチサイエンス
三端子レギュレータ: 秋月電子通商
マイクロUSBコネクタDIP化キット: 秋月電子通商(必要に応じて)
以下は適当な場所で入手してください。
・チップコンデンサ 1608 0.1μF
YMF825Boardの3.3V化
micro:bitは3Vで動作するので、YMF825Boardを3.3V IFで使用する必要があります。
YMF825Boardの公式サイト
で紹介されている通り、このボードを3.3V化します。
3.3V化には、チップ抵抗の取り外しと、パッドのショートが必要です。部品が密集した極小箇所での作業となり難易度は高いですが、ハンダのコテ先を極細タイプに替えると、作業は少し楽になります。
5V供給方法の選択
YMF825BoardはIFを3.3V化しても、YMF825を動作させるために5V電源は必要です。
本ボードでは三端子レギュレータを用い、5Vから3.3Vを生成しますが、5V電源をこのボードに入力する必要があります。
5V電源を入力する方法を以下から選んでください。
1. USB microB端子を直接表面実装でハンダ付けする。(PCBパターンはHIROSE ZX62)
2. 5V in端子に直接5Vを入力する。
なお、5V in端子に
電源用マイクロUSBコネクタDIP化キット:秋月電子
を取り付けることが可能です。
三端子レギュレータのハンダ付け
三端子レギュレータとコンデンサをハンダ付けします。
まず、1608の0.1μFのコンデンサをC2にハンダ付けします。
次に三端子レギュレータを、写真の向きにハンダ付けします。
最後に、三端子レギュレータを買った時に入っている47μF電解コンデンサを、写真の向きにハンダ付けします。
エッジコネクタのハンダ付け
エッジコネクタをハンダ付けします。
実際に回路と接続しているのは、内側の2列だけなので、全部の穴をハンダ付けする必要はないです。
YMF825Boardのハンダ付け
extension boardのYMF825Boardと書いてある穴にピンヘッダをハンダ付けし、そのピンヘッダにYMF825Boardをハンダ付けします。
YMF825BoardのRST端子をポートで制御したい場合、P16をショートさせれば、micro:bitのPin8で制御が可能になります。
プログラミング例(C++)
mbedの
こちらのページ
にプログラムを公開しました。
YMF825のサンプルプログラムを使って、自動に半音ずつ音が上がっていきます。
プログラミング例(MicroPython)
MicroPythonでも作成してみました。2秒ごとに、ピアノの音が鳴る、消えるを繰り返します。
ymf825_sample.py