第9回[冷蔵庫閉め忘れ防止オルゴール」2016年9月号掲載

Scratch ベースで動かそう!
「かえるのうた」を
リストにする
GND
A0
第9回
なつ
ほん ばん
あつ
冷蔵庫閉め忘れ防止オルゴール
ひ
つづ
つめ
夏も本番! 暑い日が続くと冷たいもの
ほ
の
もの
だ
が欲しくなるね。 でも飲 み物を出した
あと
れい ぞう
こ
し
わす
後 に、うっかり冷 蔵 庫 のドアを閉 め忘
でん
次に、スタディーノ基板とパソコンをUSBケーブルでつなぎ、
パソコンでブロックプログラミング環境を起動しよう。起動したら、
[編集]メニューの[入出力設定…]を開き、右上の[ボタン]にある
[A0]のチェックを外す。それから[センサー /LED/ブザー]にあ
る[A0]にチェックを入れて、メニューから[ブザー]を選ぶ。終わっ
たら、「OK」ボタンで入出力設定を閉じよう。
き
れちゃうことってない? そうすると電気
だい
なか
いた
代もかかるし、 中 のものも傷 んでしま
こん かい
お
う。 今 回 はそんなことが起こらないよ
れい ぞう
こ
なか
い
ー
ピーピ
つか
うに、 冷 蔵 庫 の中に入れて使える、ド
ひら
あいだ
おと
な
アが開 いている間 だけ音 が鳴 るオル
監修・原案/青山学院大学客員教授 阿部和広
協力/NPO法人 CANVAS 文/塩野祐樹
圧電スピーカーのテスト
www.kodomonokagaku.com/magazine/studuino/
Scratch は、 音符を入力して演奏したり、 録音した曲を再生
したりできる。でもスタディーノには、 そのようなシンセサイザー
や MP3プレイヤー機能はないし、 そもそもスピーカーがないの
で、 そのままでは演奏できない。
そこで、電子ブザーを使って、好きな音階の音が出せるように
してみよう。 電子ブザーには、 Studuino 専用のブロックもある
けど、 今回は一般的な圧電スピーカーを使ってみるぞ。
圧電スピーカーのしくみ
普通のダイナミック型スピーカーは、 固定した永久磁石の周り
に、コーン紙を取りつけた電磁石を置き、 電磁石に交流の電流
を流して、コーン紙を振動させることで音を出す。これに対して、
圧電スピーカーは、ロッシェル塩などの結晶に電圧をかけると歪
む性質(圧電効果)を利用して、 直接音を出すんだ。
今回は、スタディーノの A0端子を出力にして、圧電スピーカー
(PKM13EPYH4000-A0)をつなぎ、 そこにかかる直流電流
を高速でオンオフすることで、 その周期(周波数)の音を鳴らそ
う。
68
2016.9
パーツ表
音楽を演奏する方法
スタディーノ ロボティスト用カバー台座付き…1 個
電池ボックス…1 個
圧電スピーカー(PKM13EPYH4000-A0)…1 個
フォトトランジスター(SFH309)…1 個
抵抗器 100kΩ(茶黒黄金)…1 個
ブレッドボード…1 個
ジャンパー線 オスーオス…3本
圧電スピーカーの配線と
入出力設定
PKM13EPYH4000-A0からは、 2本のリード線(針金)が
出ている。この片方をスタディーノの「A0」のソケット(穴が開い
ているところ)、もう片方を「GND」のソケットに差し込もう。差
し込むソケットは、今までセンサーケーブルを差し込むのに使って
いた「A0」のピン(3本が縦に並んだ金色の針)とは違うので気
をつけよう。向きはないので、どちらのリード線をどちらに差して
も大丈夫だ。
ド
レ
ミ
ファ
ミ
レ
ド
休
60
62
64
65
64
62
60
0
ミ
ファ
ソ
ラ
ソ
ファ
ミ
休
64
65
67
69
67
65
64
0
これらをさっきのように「ブザー A0から~を出力する」のブロッ
クに入力してもいいけど、ノート番号だけを楽譜データとして管理
することで、プログラム本体を簡単にすることもできる。そこで使
うのが「リスト」だ。
リストは、複数の変数をひとまとまりにして、名前をつけたよう
なもの。学校の靴箱みたいに変数が順番に並んでいて、番号で
中身を出し入れできる。これは、ほかのプログラミング言語の「配
列」とほぼ同じものだ。
リストをつくるに
は、
[変数]カテゴ
リーの[リストを作
る]ボタンをクリッ
ク す る。 名 前 は
「score」
(楽譜と
いう意味)
にしよう。
[OK]ボタンをク
リックすると、リストを操作するためのブロックが追加される。
ゴールをつくろう!
「コカねっと!」の
スペシャルページで復習しよう
「かえるのうた」の頭の部分を演奏してみよう。ドレミ譜と、それ
に対応したノート番号は下の通りだ。休符は0で表したよ。
[実行]メニューから[テストモード開始]を選ぶ。モードが切り替
わったら[動き]カテゴリーにある[ブザー A0から60を出力する]
のブロックをクリックしてみよう。音が鳴るかな?「60」という数字
は、電子楽器の国際規格 MIDIで使われている音階を表す数字で、
ノート番号という。60はC、つまり「ド」の音だ。数字が大きくな
ると高い音、小さくなると低い音になるよ。音が鳴らないときは配
線を確認しよう。音を止めたいときは、「ブザー A0の出力を停止
する」のブロックをクリックしよう。
次に、下のプログラムを実行してみよう。「ドレミ」と鳴るはずだ。
ノート番号を覚えていなくても、「60▼」の「▼」をクリックすると
表示されるピアノの鍵盤で入力できるよ。また、似た組み合わせ
がたくさんあるときは、ブロックを右クリックすると表示されるメ
ニューにある「 複
製」を使うと便利
だ。
このプログラム
では、出力と出力
の間で0.5秒 待っ
ているので、1秒
間 に2回、1分 間
に120回、音が鳴
る。つまり、それ
ぞれの音は、4/4
拍子で♩=120の
ときの4分音符の
長さになっている
よ。
リストにノート番号を入れるには、
[~をscoreに追加する]ブロッ
クを使う。これを「かえるのうた」で必要な分だけ用意しよう。
また、 ノート番
号を追 加 する前
に、リスト「score」
の長さの回数だけ、
[1番目をscoreか
ら削除する]を繰り
返している。リスト
は、1番目を削 除
す ると、2番 目 以
降 が1つ 上に繰り
上がってくる。 だ
から、「1番目を削
除」をリストの長さ
分繰り返すと、リ
ストの中身を空っ
ぽ に できるん だ。
もしリストを空にし
ないと、実行する
たびに「追加する」
ブロックによってリ
ストが長くなってし
まうよ。
リストにノート番
号を入れるプログ
ラムはこんな感じ。
「initialize( 初 期
化)」関数として定
義したよ。
2016.9
69
「かえるのうた」を演奏する
光センサーの
配線と入出力設定
リスト通りに演奏するには、 scoreに入力されたノート番号を1
番目から順番にひとつずつ取り出して、[ブザー A0から~を出
力する]で鳴らせばいいね。休符のとき(ノート番号が0のとき)は、
[ブザー A0の出力を停止する]にしよう。次に演奏するリストの
番号を表すため、 変数「index」をつくっておこう。 演奏用プロ
グラムは「play」関数として定義したよ。
ミニブレッドボードには、 穴がたくさんあいている。この穴に
部品のリード線や、 配線に使うジャンパーケーブルのピンを差し
込んで配線するんだ。
ミニブレッドボードを横向きにしたとき、 縦に並んでいる5つの
穴は中でつながってるよ。逆に、横に並んでいる穴はつながって
いないんだ。上下の段もつながっていない。この性質をうまく使
うことで、 いろいろな回路を組み立てることができるんだ。
······································································ ①
縦5つが
つながって
いる
······································································ ②
······································································ ③
······································································ ④
冷蔵庫閉め忘れ防止
オルゴールのプログラム
テストモードに切り替えると、ス
テージにある[センサー・ボード]の
「
[A4]光センサー」に、明るさの
値が表示されるはずだ。光センサー
を明かりに近づけたり、手で覆った
りして、数値がどのくらい変化する
か確かめてみよう。真っ暗だと0近
くまで下がるはずだ(ノイズや個体
差で0にならない場合もある)
。
ということは、光センサーの値が0近くまで下がったとき(ドアが
閉まっているとき)にオルゴールを止め、そうではないとき(ドアが
開いているとき)に鳴らせば、ドアの閉め忘れがわかるね。
これを踏まえて、play 関数を改造しよう。
完成したら、緑の旗をクリックして、演奏が始まるかどうか確認
しよう。光センサーを手で覆って暗くすると音が止まるかな? うまく
いかないときは、条件の数値を調整しよう。
うまくいったら、
[実行]メニューの[プログラム作成・転送]を選
んで、スタディーノにプログラムを転送しよう。
転送が終わったら、スタディーノからUSBケーブルを抜き、電
池ボックスのケーブルをPOWER 端子に差し込む。スイッチをオン
にしたら、準備完了だ。冷蔵庫の中に入れて、ドアの開け閉めで
実際に動作するか確認しよう。このとき、水滴がつかないように注
意してね。また、何回も開け閉めすると、冷蔵庫内の温度が上が
るので、本末転倒だよ。
今回のしくみを応用すれば、朝になって明るくなったら音楽が流
れる目覚ましや、懐中電灯の光が命中すると音が鳴る射撃ゲーム
もつくれるかも。いろいろ試してみよう。
······································································ ⑤
······································································ ⑥
[プログラム解説]
①リストの先頭から演奏するので、変数「index」を「1」に
セット
②楽譜(リスト「score」)の長さの回数分繰り返す
③楽譜のindex 番目が休符(値が0)なら
④音を止める
⑤休符でなければ、楽譜のindex 番目の音(ノート番号)
を鳴らす
⑥音符の長さだけ待ってから、変数「index」を1つ増やし、
繰り返しの最初に戻る
最後に、これらの関数
を呼び出すメインプログ
ラムをつくったら、 緑の
旗をクリックしよう。ちゃ
んと曲 が 演 奏され たか
な? これでオルゴール部
分は完成だ。
短
長
長
−
さっそく、フォトトランジスター
SFH309を差し込んでみよう。
SFH309は白色 LEDとソックリ
だけど、上から見たときに薄い
黄色に見える方が白色 LEDだ。
SFH309のリード線は、長い方
(マイナス側)と短い方(プラス
側)があるので、短い方が右に
なるように写真の穴に差し込も
う(LEDとは逆なので気をつけ
よう)
。
短
+
次に100kΩの抵抗器を取り
つける。リード線をコの字型に
折り曲げて、 写真の穴に差そ
う。
青
緑
続いて、オス-オスのジャン
パーケーブル(両端にピンがつ
いているもの)を取りつける。
写真の通り差し込もう。ケーブ
ルの色はおまかせだけど、 全
部違う色だとわかりやすい。
赤
赤
光センサーのしくみ
冷蔵庫は、ドアを閉めると明かりが消えて、中は真っ暗になる。
ということは、ドアの閉め忘れを調べるには、 光センサーを使え
ばよさそうだね。
Studuino の光センサーには、フォトトランジスターという部品
が使われている。フォトトランジスターは、 半導体に光を当てる
と、伝導電子が増えて、電流が流れる光電効果を使った部品だ。
今回は、フォトトランジスターの SFH309と100kΩの抵抗を使っ
て、ミニブレッドボードに配線するよ。
青
3V3
A4
ジャンパーケーブル
の反対側はスタディー
ノ基 板に差し込むよ。
差し込む端子は、緑は
GND、 青 はA4、 赤
は3V3(3.3V のこと)
だ。
2016.9
完成!
·····························································································································②
[プログラム解説]
①1度だけ鳴らすのではなく、ずっと繰り返して鳴らす
②休符のときか、光センサーの値が1未満のときは、
音を止める(この値は実験して調整しよう)
キットがリニューアル! KoKa Shopで販売中!!
本連載で紹介するロボットや便利ツールをつくることができるキットがリニューアルして
「KoKaShop」で発売中!2016年1月号〜12月号で紹介する連載内容が遊べるよ。
「KoKaスタディーノプログラミングセット」購入済みのキミは「新追加セット」を購入して引き続き楽しもう!
新KoKaスタディーノプログラミングセット1万2960円(税込)
新KoKaスタディーノ追加セット 1620円(税込)
回路をイラストで示すとこのとおり。
GND
A4 3.3V
緑
100kΩ
SFH309
GND
最後に、ブザーのときと同じように、入出力設定を開いて、A4
を「光センサー」に設定しよう。
70
·····························································································································①
2016年1月号から12月号まで、本連載全12回のすべての
内容ができるセット。
《キット内容》
・スタディーノ ロボティスト用
カバー台座付き x1
・ロボット用LED 赤 x1
・ロボット用LED 緑 x1
・USBケーブル miniB x1
・センサー接続ケーブル 3本
・電池ボックス x1
・アーテックブロック 四角赤4、
四角ペールオレンジ15、
四角黒2、
三角青2、
三角白4、
目2
・サーボモーター x1
・ロボット用DCモーター x1
・ロボット用赤外線フォトリフレクタ専
用カバー付 x1
・タイヤ 2個 ・タイヤゴム x2
・
「新KoKaスタディーノ追加セット」
の
電子部品一式
「KoKaスタディーノプログラミングセット」と合わせること
で、9月号〜12月号で紹介する連載内容が遊べるよ。
※すでに「KoKaスタディーノプログラミングセット」
をご購入された方のため
のキットです。初めての方は左の商品をお買い求めください。
《キット内容》
・フォトトランジスタ SFH309 x 1
・抵抗器 100kΩ x 1、
100Ω x 1
・圧電スピーカー
(PKM13EPYH4000-A0)
x1
・白色LED x 1・タクトスイッチ x 4
・スライドボリューム
(B10kΩ)
(SL4515N-B103L15CM) x 1
・ミニブレッドボード x 1
・ジャンパーケーブル(オス-オス) x 8
・ジャンパーケーブル(オス-メス) x 3
・ジャンパーケーブル(メス-メス) x 3
子供の科学の通販サイト「KoKa Shop」shop.kodomonokagaku.com
2016.9
71