micro:bitで電流を制御してみよう
カリキュラム
https://gyazo.com/8bdafc934330064bee9d273c75bbbc8c
ここでは,TFabWorksのプログラム制御スイッチ(FET版)を利用して,micro:bitを用いて電流を制御するプログラムを作ります.この活動は,4年理科の「電流の働き」に組み入れることができます. 要既習
https://gyazo.com/8bdafc934330064bee9d273c75bbbc8c
TFabWorksのプログラム制御スイッチ(FET版)の使い方
TFabWorksのプログラム制御スイッチ(FET版)はmicro:bitに取り付けて使います.
プログラム制御スイッチ(FET版)を,電池と豆電球やモータなどを繋げた回路の中に挟み込むことによって,その回路に流れる電流の大きさを(事実上)変えることができます.回路に挟む混む場合は,プログラム制御スイッチ(FET版)の右側に電池のマイナス極を,左側に電池のプラス極側に繋げた豆電球やモータのマイナス極側を繋げます.この向きには十分に気をつけてください.
https://gyazo.com/e781ef34b7d44bcb9575cd9cd3033a55
流す電流の大きさは,「入出力端子」カテゴリ内の「アナログ値で出力する」ブロックで0〜1023の値を設定することで変えることができます.
https://gyazo.com/b5532ba012ca60749b3ac4387296413b
この研修教材で使うプログラムの雛形では,TFabWorksのプログラム制御スイッチ(FET版)専用のブロックが用意されているので,それを用います.
hr.icon
豆電球をつける/モーターを回す
まずは単純な電池で豆電球をつける(またはモータを回す)回路を作ってみてください.電池と豆電球をつなげるだけですね.豆電球には極性(+とー)はありませんので,どちらむきに繋げても構いません.モータには極性があります.ただ,逆に繋げても,逆にまわるだけで壊れることはありません.
電池ボックス,豆電球,豆電球ソケット,わに口クリップ付きリード線を使うと,次のようになります.
https://gyazo.com/2f4ba8cc5ed11786270c7b58016a98be
なお,ここで電池を直列に二個つなげると,豆電球がより明るくつきます.電流を二個直列に繋げることで電圧が上がり,流れる電流の大きが大きくなるためです.
https://gyazo.com/8d7a38dab3f30eb9f35c034bc011dc6e
https://gyazo.com/8bdafc934330064bee9d273c75bbbc8c
流す電流の大きさを変えてみる
TFabWorksのプログラム制御スイッチを使って,回路に流れる電流の大きさを変えられるようにします.
まず,電流の働きを開いて,micro:bitに転送してください.この雛形を転送しておくことで,電流が流れない状態になり,下の接続を行った時,不意にモータが最高速で回ることによって怪我などをしないようにするためです. 次に,TFabWorksのプログラム制御スイッチ(FET版)をmicro:bitに取り付け,電池のマイナス極と豆電球(モータ)と切り離し,その間にプログラム制御スイッチ(FET版)を挟むように繋出ください.
「電流の働き」カテゴリにある「流す電流の大きさを設定する」ブロックhttps://gyazo.com/a8efcc9bfff7bb519807374c89190082は指定したパーセンテージ(0から100)の電流を流すためのブロックです.100を指定すると電池の能力の最大の大きさで電流が流れ,例えば50を指定すると半分の大きさの電流が流れます.このブロックを実行すると,それ以後,指定した電流が流れ続けます.
このブロックを「最初だけ」ブロックの中に置き,◯の部分に数を書くことで,回路にはその数が表すパーセンテージで電流が流れます.
https://gyazo.com/e99019fad39c3cdf90efc1bf2e8364b6
https://gyazo.com/8bdafc934330064bee9d273c75bbbc8c
ボタンで流れる電流の大きさが切り替わるようにする
https://gyazo.com/4f1692b69bf4d252438f9d7010997fe4
「ボタンAが押されたとき」「ボタンBが押されたとき」「ボタンA+Bが押されたとき」ブロックはそれぞれ,ボタンAが押された時,ボタンBが押された時,ボタンAとボタンBが一緒に押された時,中に置かれたブロックを実行してくれるイベントブロックです.では,作ってみましょう. 正解例を示します.
https://gyazo.com/685730ecb3f0539bd32d8ade0a42f5b7
ボタンA,ボタンB,ボタンAとボタンBが押された時にそれぞれ,電流の大きさを100%,50%,0%としてみました.
https://gyazo.com/8bdafc934330064bee9d273c75bbbc8c
ボタンで流れる電流の大きさが増減するようにする
https://gyazo.com/bbcc7df4f285415b1559b1f5abbfd22d
意図しているプログラムは,Aボタンが押された時には流す電流の大きさを大きくし,Bボタンが押された時には流す電流の大きさを小さくすることで実現できます.電流を大きくする小さくするは,今の電流の大きさに数を加減した値を次の電流の大きさにすることで行えます.今流している電流の大きさは変数ブロック「流している電流の大きさ」https://gyazo.com/eaf7440623b23c051e8408941c0671f6に入っています. 変数ブロックは文字列や数などの値を入れることができ,文字列を入れるべき場所や数を入れるべき場所に置くことで,そこに変数ブロックに入っている文字列や数を入れたのと同じ動作になります. ある数に数を足したり引いたりするには「計算」カテゴリにある加算ブロックhttps://gyazo.com/17fbb5b300035322fdef22cd2828e762,減算ブロックhttps://gyazo.com/382f58a4161108aed0935f42bd08c2eeを使います.加算ブロックの二つの◯のところに数を置くことでその二つの数を足した数を,減算ブロックの二つの◯のところに数を置くことで前の数から後ろの数を引いた数を,得ることができます.もちろん,この◯の部分には,数の代わりに数が入れられた変数ブロックを置くこともできます. では,作ってみましょう.できあがったらAボタンとBボタンを押して,豆電球の明るさ(モータの回転速度)が変わるのを観察してみましょう.
正解例を示します.
https://gyazo.com/fded0b9f7f580448348720628cdfbb91
なお,今流している電流の大きさを増減したい場合,「流す電流の大きさを増減する」ブロックhttps://gyazo.com/5297e0170d45a0e114476f1d52428f92を使う方法もあります.それを使うと次のようになります.
https://gyazo.com/fe175ce9bfb6c3e415eedae9f9a23c19
https://gyazo.com/8bdafc934330064bee9d273c75bbbc8c
Copyrights 2020- Naoki Kato, IML at CICT, TGU