【マイクロビット応用】[8] キッチンタイマー(2)押しボタンスイッチとLEDを追加、プログラムの動きを考える、ポケプラ「ゲンガー」の製作

マイクロビット

 キッチンタイマーの続きデース。設定した時間が経過したら、ゲンガーの目が光るキッチンタイマーを作りますョ。

ポケプラ「ゲンガー」の箱絵

 ボタンが3つ必要なのだけど、マイクロビットには2つしかボタンがないので、押しボタンスイッチを1つ追加するテストをやってみたよ。

 ブレッドボードを使ったのですね!

(ブレッドボードについては 【道具】はんだ付けなしで電子回路を試せる!ブレッドボードって、どうやって使うの? を見てね。)

 そして、ゲンガーの目も光らせてみたのだ!

LEDに「ゲンガー」の部品を加工してかぶせました。

 ハロウィンには間に合わなかったですね。では行きますよ~!

マイクロビットに回路を追加する?

 マイクロビットに回路を追加した、ということですが、どうやったらそんなことができるのですか?

 今回は、以前紹介した「入出力端子機能」を使ったのだ。第10話「マイクロビットの機能を使ってみよう」の「入出力端子」の説明を読んでみてくれたまえ。

 そういえば、以前にも赤いLEDを光らせたりしましたね!

 思い出したようだね。「入力端子機能」により押しボタンスイッチ回路を、「出力端子機能」によりLED回路を追加したのよ。

 なぁ~るほど。

押しボタンスイッチ回路の追加

 それでは、マイクロビットに追加した押しボタンスイッチ回路を見てみよう。0ピンに押しボタンスイッチ回路を追加したのだ。

 0ピンを「入力端子」として使い、スイッチのON/OFFを取り込むのですね?

 イエ~ス!実際の回路が下の図だ。この図で「グランド」と書いてあるのは、電池のマイナス側で、0Vと思ってもらえばよい。

押しボタンスイッチは押されていない。

 押しボタンスイッチがOFFの場合は、4.7kΩの抵抗を介して0ピンが3Vに接続される。ピンのON/OFF状態は「ON」となる。抵抗の両端が3Vなので、抵抗に電流は流れない。

 フムフム。

 押しボタンスイッチがONされると、抵抗のボタンと接続された側がグランドに接続され、0Vに接続される。0ピンも0Vとなるので、ON/OFF状態は「OFF」となり、抵抗には電流が流れるのだ。

押しボタンスイッチが押された状態

 ボタンがONの時に0ピンがONとなった方が自然に思えるのですが・・・

 そうすると、ボタンOFFの時に電流が流れることとなる。

 電流が流れると、何かまずいことがあるのですか?

 電流が流れると、電池が減ってしまうのだ。押しボタンスイッチは、普段はOFFで、ボタンが押されたときだけONとなるので、OFFの時には電流が流れないようにした方が、電池が長持ちするのだョ。

 OFFの時に電流が流れないようにするなら、0ピンを押しボタンスイッチでグランドとつなげばよいのでは?

 そうすると、ボタンがOFFの時に0ピンが何Vかはっきりせず、動作が不安定になりやすくなってしまうのだ。

 それで抵抗を介して3Vにつなぐのですね?

 そういうことなのよ。ちなみにこの抵抗は、「プルアップ抵抗」と呼ばれるのだ。

 ウーム、なんだか分かったような、分からないような、というか、よく分からないです。

 より詳しい説明は、こちらをご覧ください。(新しいタブで開きます)

【マイクロビット応用】[8.2]キッチンタイマーの回路:追加した押しボタンスイッチ回路について

LED回路の追加

 ゲンガーの目を光らせるため、LEDを二つ追加したよ。

 1ピンと2ピンにLED回路を追加して、「出力端子」として使うのですね!

 通常、LEDを光らせる場合には電流制限抵抗をつなぐが、LEDが暗くなってしまったので、電流制限抵抗は省略したのだ。

 フムフム。

 ゲンガーの目の部品をかぶせてみたら、まだ明るさが足りない。

目が暗い。

 どうするのですか?

 今回は供給電源を単三乾電池2個で3Vとしているが、電池を増やすなどしてみようかな。

 次回の宿題ですね。

 ウイ。

追加した回路の動きを確かめる

 追加した押しボタンスイッチ回路とLED回路を1枚の図にまとめると下のようになる。これが今回追加した回路の全体像なのだ。

 追加した押しボタンスイッチ回路とLEDは、上手く動くのでしょうか?

 確認用のプログラムを作って、試してみよた。追加したスイッチが押されたら、マイクロビットがLEDを点灯させる、というプログラムだが、「aボタン」と「bボタン」も使ってみた。

ボタンゲンガーの目マイクロビットのLED表示
aボタンゲンガーの右目のLEDが点灯する。「a」と表示される。
bボタンゲンガーの左目のLEDが点灯する。「b」と表示される。
追加した押しボタンスイッチゲンガーの両目のLEDが点灯する。「c」と表示される。

 プログラムをロードして、「aボタン」を押すと・・・右目が光った!

 「bボタン」で左目も光りましたね。

 追加した押しボタンスイッチはどうかというと・・・両目が光った!

 上手くいきましたね!

 プログラムの解説は、以下をご覧ください!

【マイクロビット応用】[8.1]キッチンタイマーのプログラム:追加した回路の確認用プログラム

キッチンタイマーの動きを考える

 前回考えたキッチンタイマーの動きを思い出してみよう。

  • 「分」ボタンで分を設定する。
  • 「秒」ボタンで秒を設定する。
  • 「スタート/ストップ」ボタンでカウントダウンを開始、中止する。
  • 設定した時間(分:秒)が「00:00」になったら音が鳴る。
  • 「分」ボタンと「秒」ボタンを同時に押すと、時間(分:秒)が「00:00」にクリアされる。

 たくさんありますけど、これを全部作らないといけないのですね。

 大丈夫だ。順番に考えていけば何とかなるもんだよ。

 分かりました。頑張ります!

 前回考えたキッチンタイマーの動作の一覧から、キッチンタイマーの状態の動きについて考えてみよう。キッチンタイマーには、どんな状態があると思うかな?

 う~ん、ボタンで時間を設定している状態と、スタートしてカウントダウンしている状態ですか?

 なかなか良いね。あとは、カウントダウン完了後のアラームの再生状態も追加しておこう。

状態動き「スタート/ストップ」
ボタン
カウントダウン
完了
アラーム
完了
設定の状態時間を設定する。カウントダウン
の状態になる
カウントダウンの状態カウントダウンする。設定の状態になるアラーム
の状態になる。

アラームの状態アラームを再生する。アラームの状態のまま設定の状態になる。

 これを図であらわすと下のようになる。

 

 「分」ボタンと「秒」ボタンが出てきていないのですが・・・?

 「分」ボタンと「秒」ボタンは、「設定の状態」で時間を設定するのに使われる。これらのボタンを押しても状態は変化しないので、出てきていないのだ。

 そういうことかぁ。

バンダイのゲンガー

目が光るように改造

 ゲンガーの目が光りますね!

 うむ。目を改造したのだ。

 か、かいぞう・・ですか!

 そうなのよ。まず、目の赤い部分の部品をくりぬいた。

加工前
加工後

 見事にくりぬかれていますね。

 そして、目の土台の部品の黒目の部分に裏から穴を開けてLEDを取り付けられるようにしたのだ。

加工前
裏から穴を開けた。
LEDを取り付けてみたところ

 LEDが白ではないですね?

 最初は赤色LEDを使うつもりだったのだが、暗かったので高輝度の白色LEDを使うことにしたのだョ。

 で、黒目の横から目の赤い部分を照らす、という訳ですね。

 その通りなのだ。ちなみに、加工した2つの部品を組み合わせて裏から見たのが下の写真だ。分かりづらいが、黒目の横に赤い部分が残っているので、これも削り落としたのだ。

 次に、目の赤い部分の部品には、表からトレーシングペーパーを貼ったのだ。

 余分なトレーシングペーパーを切り取り、クリアーレッドを塗って、目の赤い部分は完成。目の土台の部品にはアルミ箔を貼り、ボディの中の部品にもLEDのための穴を開けたのだ。

本体を組み立てて塗装

 ほかの部分は組み立て説明書の通りに組み立てたのだ。

LEDの穴を開ける前の状態です。

 なんか、別の生き物になってしまってますね?

 各部品には、タミヤアクリル塗料XF-69「NATOブラック」を筆塗りして・・・

 ムム(こんなふうにしてしまって、大丈夫なんだろうか?)

 リキテックスの「ブリリアントパープル」を筆塗りしたのだ。微妙に下塗りの「NATOブラック」を塗り残すのがポイントなのでアル。

歯の部品も取り付けました。

 おぉ!(一時はどうなるかと心配になってしまったよ。)

 黒目の部分も塗って、仮組してみた。LEDの回路はまだ組み込まれていないのだ。

 ゲンガーだ!

まとめ

 今回は、マイクロビットでキッチンタイマーを作るための準備を行ったのだ。

  • ブレッドボードを使って、追加する回路の動きを確かめた。
  • キッチンタイマーのプログラムの動きとして、どのように状態を変化させるかを考えた。
  • ポケプラの「ゲンガー」の目が光るように改造した。

 キッチンタイマーを作れそうな気がしてきました!

 次回も見に来てね!

つづく

コメント

タイトルとURLをコピーしました