※Arduino IDE や PlatformIO で実装する場合はArduino 版 ATOM Babiesを参照してください。
ATOM Babies は M5Stack 社のATOM Matrixを顔とし,ATOM Mateを利用して M5StickC シリーズで使用する Hat を胴体にしたかわいいいきものです。Hat だけでなく,M5Stack 用に用意されているユニットも使用できるので,それらの機能を活用してさまざまな能力を持つ ATOM Babies をつくることができます。
ちなみに,ATOM Babies の名付け親は M5Stack 社 CEO の Jimmy Lai さんです。
※現在開発中なので,しばらくはブロックの仕様がころころ変わると思います。つくったプログラムが開けなくなることもありますので,あらかじめご了承ください。
ATOM Babies は M5Stack 社が M5Stack シリーズ向けに提供しているブロックプログラミング環境であるUiFlowを使って実装しています。ATOM Babies 用のカスタムブロックを使用することで,誰でも簡単に ATOM Babies をつくることができます。
UiFlow を使用するには,PC に M5Burner をインストールし,M5Burner を使って PC に接続した ATOM Matrix に UiFlow 用のファームウェアを書き込む必要があります。
ATOM Matrix に UiFlow のファームウェアを書き込むため,PC に M5Burner をインストールしてください。M5Burner のインストール方法や ATOM Babies に必要な ATOM Matrix 用の UiFlow ファームウェアの書き込み方については,「M5Burner v3 の使いかた」を参照してください。
UiFlow のカスタムブロックは拡張子がm5b
のファイルで,UiFlow Block Makerや私が作ったUiFlow Custom Block Generatorで作成することができます。
カスタムメニューを選択し,「Open *.m5b file」を押し,atom_babies_ja.m5b
を選択して読み込みます。
カスタムメニューの下に「ATOM_Babies」メニューが追加され,ATOM Babies を実装するのに使用するブロックが表示されます。
ATOM Babies のカスタムブロックを使って作ったプログラム(m5f ファイル)を読み込むときは,あらかじめ ATOM Babies のカスタムブロックを読み込ませておく必要があります。
顔の向きは USB-C の口を下にした向きを基準として以下のように定義しています。
顔の位置は顔の向きがどの方向でも以下のように定義しています。
ATOM Babies の顔(ボタン)を押すたびに,まばたきを始めたり止めたりします。まばたきの設定はデフォルト(1 回のまばたき,目を開けている時間が 500 ミリ秒,目を閉じている時間が 100 ミリ秒,次のまばたきを始めるまでの間隔が 1000 ミリ秒)です。
ATOM Babies の顔(ボタン)を押すたびに 0 から順に数字が表示されます。2 桁以上の数字は各桁を順に表示します。
ATOM Babies:人が来るとあいさつをする(YouTube)
人が目の前に来ると顔を出しておじぎをします。
ATOM MatrixにATOM MateとPIR Hatを接続
ATOM Mateを使用してPIR Hatを接続して利用します。USB-C の口を上にした状態が正しい向きになります。
PIR は Passive pyroelectric infrared detector(受動焦電型赤外線検出器)の略で,人間が発する赤外線を検知し,目の前にいるかを判断します。 PIR Hat の仕様で,いったん検知した後,次に検知するまでに 2 秒間の遅れがあります。
ATOM Babies: 温度・湿度・気圧を表示する(YouTube)
ATOM Babies の顔(ボタン)を押すと,気温・湿度・気圧がそれぞれ赤色・青色・白色の数値でスクロールして連続表示されます。
ATOM MatrixにATOM MateとENV III Hatを接続
ATOM Mateを使用してENV III Hatを接続して利用します。USB-C の口を上にした状態が正しい向きになります。
ENV III Hat は本体の温度に影響を受けるため,補正値(temperature_correction
)を引いて調整してください。
pip
で UiFlow Custom Block Generator をインストールします。
pip install git+https://github.com/3110/uiflow-custom-block-generator
UiFlow Custom Generator を実行します。以下を実行するとカレントディレクトリにatom_babies_ja.m5b
が生成されます。
python -m uiflow_custom_block_generator atom_babies/atom_babies_ja.json -t .
- ATOM Babies(YouTube チャンネル)
- UiFlow
- UiFlow Block Maker
- UiFlow Custom Block Generator