スクラッチの定義を使い、ドレミファソラシドを新しい定義にしてチューリップの歌を演奏させましょう。定義には引数という機能があり、これを使うと音の長さも数値で決定することができるようになります。定義はプログラミング言語では関数といって、このようにいくつかの命令を組み合わせ、何度も使用する機能を一つの新しい命令として用意することができる便利な機能です。
◆引用(12平均律と周波数):https://www.aihara.co.jp/~taiji/browser-security/js/equal_temperament.html
操作方法
- クムクムのホームページで3D対応のスクラッチを起動しクムクムのエクステンションをロードします。
- プログラミングが記述できるようになったら、「ブロック定義」の「ブロックを作る」からブロック定義を作成します。
- ブロック定義とはいくつかのコマンドを組み合わせたものを一つのコマンドのように使うことが出来る機能で、何度も使用するような機能をまとめておくと便利です。
- まず始めに「ド」と言う名前のブロック定義を作成します。ブロック定義には名前を付ける事ができるので、その機能に沿った名前をつけておきましょう。
- ではド、レ、ミ、ファ、ソ、ラ、シのブロック定義を作成します。
- 「音を[440]Hz 1秒」コマンドを追加し、定義「ド」のブロック定義ではドの音を鳴らすようにします。同じように定義「レ」ではレの音を鳴らすように全て用意します。
- 全て用意できたら、「ド」「レ」「ミ」・・・のブロックを並べチューリップの花を演奏してみます。プログラムが一気に流れてしまったので、「1秒待つ」コマンドを各ブロック定義に追加しておきます。
- これでブロック「ド」を使うとドの音が1秒鳴るブロック定義が完成しました。
- ドレミのブロックを並べてチューリップの花を演奏してみます。2秒鳴らしたい箇所には「1秒待つ」コマンドを追加します。
- このようにブロックと待ちを並べても良いのですが、ブロック定義機能には「引数」と言う便利な機能があり、数値またはテキストをブロック定義に渡すことが出来ます。
- ブロック定義を右クリックし、「編集」を選択→「引数を追加」を選択しOKを押すと引数[number or text]がブロック定義に追加されます。この引数で渡された数字を音を鳴らす時間となるようにブロック定義を変更します。
- 引数を追加したことでブロック「ド」も「ド○」に変化しています。この○に鳴らしたい秒数を引数としてブロック定義に渡すと○秒音が鳴るという仕組みです。
- 同じ「ミ」のブロックでも1秒だけ鳴っている箇所と2秒鳴っている箇所があることが分かります。
- このように同じコマンドを何回も使う場合はブロック定義が便利です。引数を追加することでさらに処理を変化させることもできますのでぜひ使ってみてください。
- このプログラムは、クムクム、クムクムPRO、クムクムW、3Dロボットすべてで同じ動きをします。
- 画面の3Dロボットで動きを確かめた後は、実際にロボットにBluetooth接続しましょう。
- そのまま3Dとおなじプログラムが実際のロボットで動くことが確認できます。
BEEP音について
クムクムには単音を使って効果音の鳴らしたりドレミ音階を使って音楽を鳴らしたりすることができます。
クムクムでは音の高さをドレミという音階で指定するのではなく0~65534Hzまでの周波数で、音の長さを秒0秒~99秒で指定します。
音は、空気の振動によって人間の鼓膜に伝えられます。
その空気の振動の一定時間内に起こる振動を周波数とよびHz(ヘルツ)という単位で表します。
周波数の小さいと低い音、大きいと高い音を表します。
人に聞こえる音などは個人差や再生装置によって異なりますが、クムクムのプログラムでは周波数は0~65535Hzまで、長さは0~99秒まで0.1秒単位で指定できます。
音の大きさは胸の部分のボリュームを精密ドライバーで回します。
※音の長さはスクラッチからロボットまでの通信時間などによって正確には動作しません。
※Arduino Cプログラミングでは通信が発生しないため0.01秒などの細かい時間の変化で動作させることが可能です。

QumcumのBEEP音
スクラッチのコマンドをクリックすると、パソコンのBluetoothを通じてクムクムロボットへ命令が飛ばされます。
命令は、周波数と発音秒数で、その命令をクムクムは受けて自分のCPUから矩形波を発生し、オーディオアンプを通してスピーカーに伝えます。
スクラッチから送り出されてクムクムに届くまでの時間と、届いてからCPUが受け取るまでの時間、CPUが受け取ってから矩形波をコントロールするまでの時間がかかるため、ロボットが直接CPUをコントロールする時間より長くかかってしまいます。
CPUにロボットを直接コントロールするプログラムを埋め込めるArduinoなどのC言語では、パソコンから送り出したり電波を読み込んだりする時間が必要ないため、もっと早く細かい速度で音のON/OFFを切りかえることができます。
※スクラッチで作った曲の演奏がどうしてもちゃんと演奏できなかったり、タイミングがずれたりするのはこのためです。
※また、音を鳴らしながらLEDを光らせたりすると、音を鳴らす命令と光らす命令が順に送り出されるため思ったようり遅いタイミングで鳴ったり光ったりしてしまいます。

デジタル信号を音に
BEEP音はCPUの1本の脚からデジタル信号で出力されるパルスをオーディオアンプで増幅してスピーカに伝えて鳴らします。
CPUから出力されるデジタル信号はとても小さな電力なのでそのまま大きなスピーカーの布を揺らすことはできません。
そのため、オーディオアンプという回路を使い、小さな信号を大きな信号に変えてスピーカーにつないで音として鳴らしています。
オーディオアンプを使わずに直接CPUの電力で鳴らすために圧電ブザーという部品を使用することもできますが、クムクムでは大きな音を鳴らしたいのであえてオーディオアンプを使っています。
BEEPが使われている装置・部品など
家電製品(テレビ、リモコン、炊飯器、洗濯機…)などで操作をしたときにピーとなる音など
プログラミング用スクラッチの起動
- ホームページよりスクラッチWEBを選択します
※ブラウザは必ずMicrosoftEdgかGoogleChromeを使用します。
※FireFoxやサファリでは正しく動作しません。 - スクラッチ画面が開いたら、左下の拡張機能追加をクリックします。
- エクステンション一覧からクムクムWEB-BASICを選択してクリックします。
- クムクム画面が自動で開いたら3Dロボットが表示するまでまちます。
※3D画面が開いたらロボットはコマンド通り動きます。
※表示後はプログラムを作りスクリプトを実行すると画面の中のロボットがプログラム通り動きます。
リアルロボットでの動作方法
3Dで動いたプログラムをクムクムロボットに転送してロボットでも動かしてみましょう。
- リアルロボットを使用する場合、3Dロボット画面の左上<Robot>ボタンをクリックし、ロボット一覧画面を表示します。
- ロボット一覧画面からお使いのロボット番号を選択し、画面下のペア設定をクリックします。
※ロボット番号が表示されない場合は、使用しているパソコンにBluetooth機能がないか、Bluetooth機能が正しく動作していない可能性があります。
※ブラウザーはGoogleのChromeかMicrosoftのEdgeでしか動作しません。(FirefoxやSafariではBluetooth機能などが使用できません) - リアルロボットに使用する電池は、必ずニッケル水素充電電池を使ってください。
※アルカリ乾電池では正しく動作しません。
※また万が一動作しても、通信などで電力を多く消費するため正しくコマンドを受信できなかったり予想がつかない動きをすることがあり、けがの原因となります。 - 通信中にパソコンとクムクムロボットの接続が切れた場合は、電池の充電残量が足りない場合があります。
※すぐに充電残量のある電池と交換してください。
◆クムクムロボット公式サイトのマニュアル
https://qumcum.com/wp-content/uploads/2022/08/start_scratch.pdf
◆Scratch(スクラッチ)で動く3Dロボット「3D-WEBクムクム」β版
https://personal.qumcum.com/home3d/robo-real/
◆クムクムロボット(アマゾンQumcumストア)
https://www.amazon.co.jp/stores/Qumcum/page/FFCFA57A-F592-49A0-9F23-3D90514E5E61?ref_=ast_bln
◆Youtubeにはたくさんの動画を載せています
https://www.youtube.com/@qumcum/
スクラッチの定義を使い、ドレミファソラシドを新しい定義にしてチューリップの歌を演奏させましょう。定義には引数という機能があり、これを使うと音の長さも数値で決定することができるようになります。定義はプログラミング言語では関数といって、このようにいくつかの命令を組み合わせ、何度も使用する機能を一つの新しい命令として用意することができる便利な機能です。
◆引用(12平均律と周波数):https://www.aihara.co.jp/~taiji/browser-security/js/equal_temperament.html
操作方法
- クムクムのホームページで3D対応のスクラッチを起動しクムクムのエクステンションをロードします。
- プログラミングが記述できるようになったら、「ブロック定義」の「ブロックを作る」からブロック定義を作成します。
- ブロック定義とはいくつかのコマンドを組み合わせたものを一つのコマンドのように使うことが出来る機能で、何度も使用するような機能をまとめておくと便利です。
- まず始めに「ド」と言う名前のブロック定義を作成します。ブロック定義には名前を付ける事ができるので、その機能に沿った名前をつけておきましょう。
- ではド、レ、ミ、ファ、ソ、ラ、シのブロック定義を作成します。
- 「音を[440]Hz 1秒」コマンドを追加し、定義「ド」のブロック定義ではドの音を鳴らすようにします。同じように定義「レ」ではレの音を鳴らすように全て用意します。
- 全て用意できたら、「ド」「レ」「ミ」・・・のブロックを並べチューリップの花を演奏してみます。プログラムが一気に流れてしまったので、「1秒待つ」コマンドを各ブロック定義に追加しておきます。
- これでブロック「ド」を使うとドの音が1秒鳴るブロック定義が完成しました。
- ドレミのブロックを並べてチューリップの花を演奏してみます。2秒鳴らしたい箇所には「1秒待つ」コマンドを追加します。
- このようにブロックと待ちを並べても良いのですが、ブロック定義機能には「引数」と言う便利な機能があり、数値またはテキストをブロック定義に渡すことが出来ます。
- ブロック定義を右クリックし、「編集」を選択→「引数を追加」を選択しOKを押すと引数[number or text]がブロック定義に追加されます。この引数で渡された数字を音を鳴らす時間となるようにブロック定義を変更します。
- 引数を追加したことでブロック「ド」も「ド○」に変化しています。この○に鳴らしたい秒数を引数としてブロック定義に渡すと○秒音が鳴るという仕組みです。
- 同じ「ミ」のブロックでも1秒だけ鳴っている箇所と2秒鳴っている箇所があることが分かります。
- このように同じコマンドを何回も使う場合はブロック定義が便利です。引数を追加することでさらに処理を変化させることもできますのでぜひ使ってみてください。
- このプログラムは、クムクム、クムクムPRO、クムクムW、3Dロボットすべてで同じ動きをします。
- 画面の3Dロボットで動きを確かめた後は、実際にロボットにBluetooth接続しましょう。
- そのまま3Dとおなじプログラムが実際のロボットで動くことが確認できます。
BEEP音について
クムクムには単音を使って効果音の鳴らしたりドレミ音階を使って音楽を鳴らしたりすることができます。
クムクムでは音の高さをドレミという音階で指定するのではなく0~65534Hzまでの周波数で、音の長さを秒0秒~99秒で指定します。
音は、空気の振動によって人間の鼓膜に伝えられます。
その空気の振動の一定時間内に起こる振動を周波数とよびHz(ヘルツ)という単位で表します。
周波数の小さいと低い音、大きいと高い音を表します。
人に聞こえる音などは個人差や再生装置によって異なりますが、クムクムのプログラムでは周波数は0~65535Hzまで、長さは0~99秒まで0.1秒単位で指定できます。
音の大きさは胸の部分のボリュームを精密ドライバーで回します。
※音の長さはスクラッチからロボットまでの通信時間などによって正確には動作しません。
※Arduino Cプログラミングでは通信が発生しないため0.01秒などの細かい時間の変化で動作させることが可能です。

QumcumのBEEP音
スクラッチのコマンドをクリックすると、パソコンのBluetoothを通じてクムクムロボットへ命令が飛ばされます。
命令は、周波数と発音秒数で、その命令をクムクムは受けて自分のCPUから矩形波を発生し、オーディオアンプを通してスピーカーに伝えます。
スクラッチから送り出されてクムクムに届くまでの時間と、届いてからCPUが受け取るまでの時間、CPUが受け取ってから矩形波をコントロールするまでの時間がかかるため、ロボットが直接CPUをコントロールする時間より長くかかってしまいます。
CPUにロボットを直接コントロールするプログラムを埋め込めるArduinoなどのC言語では、パソコンから送り出したり電波を読み込んだりする時間が必要ないため、もっと早く細かい速度で音のON/OFFを切りかえることができます。
※スクラッチで作った曲の演奏がどうしてもちゃんと演奏できなかったり、タイミングがずれたりするのはこのためです。
※また、音を鳴らしながらLEDを光らせたりすると、音を鳴らす命令と光らす命令が順に送り出されるため思ったようり遅いタイミングで鳴ったり光ったりしてしまいます。

デジタル信号を音に
BEEP音はCPUの1本の脚からデジタル信号で出力されるパルスをオーディオアンプで増幅してスピーカに伝えて鳴らします。
CPUから出力されるデジタル信号はとても小さな電力なのでそのまま大きなスピーカーの布を揺らすことはできません。
そのため、オーディオアンプという回路を使い、小さな信号を大きな信号に変えてスピーカーにつないで音として鳴らしています。
オーディオアンプを使わずに直接CPUの電力で鳴らすために圧電ブザーという部品を使用することもできますが、クムクムでは大きな音を鳴らしたいのであえてオーディオアンプを使っています。
BEEPが使われている装置・部品など
家電製品(テレビ、リモコン、炊飯器、洗濯機…)などで操作をしたときにピーとなる音など
プログラミング用スクラッチの起動
- ホームページよりスクラッチWEBを選択します
※ブラウザは必ずMicrosoftEdgかGoogleChromeを使用します。
※FireFoxやサファリでは正しく動作しません。 - スクラッチ画面が開いたら、左下の拡張機能追加をクリックします。
- エクステンション一覧からクムクムWEB-BASICを選択してクリックします。
- クムクム画面が自動で開いたら3Dロボットが表示するまでまちます。
※3D画面が開いたらロボットはコマンド通り動きます。
※表示後はプログラムを作りスクリプトを実行すると画面の中のロボットがプログラム通り動きます。
リアルロボットでの動作方法
3Dで動いたプログラムをクムクムロボットに転送してロボットでも動かしてみましょう。
- リアルロボットを使用する場合、3Dロボット画面の左上<Robot>ボタンをクリックし、ロボット一覧画面を表示します。
- ロボット一覧画面からお使いのロボット番号を選択し、画面下のペア設定をクリックします。
※ロボット番号が表示されない場合は、使用しているパソコンにBluetooth機能がないか、Bluetooth機能が正しく動作していない可能性があります。
※ブラウザーはGoogleのChromeかMicrosoftのEdgeでしか動作しません。(FirefoxやSafariではBluetooth機能などが使用できません) - リアルロボットに使用する電池は、必ずニッケル水素充電電池を使ってください。
※アルカリ乾電池では正しく動作しません。
※また万が一動作しても、通信などで電力を多く消費するため正しくコマンドを受信できなかったり予想がつかない動きをすることがあり、けがの原因となります。 - 通信中にパソコンとクムクムロボットの接続が切れた場合は、電池の充電残量が足りない場合があります。
※すぐに充電残量のある電池と交換してください。
◆クムクムロボット公式サイトのマニュアル
https://qumcum.com/wp-content/uploads/2022/08/start_scratch.pdf
◆Scratch(スクラッチ)で動く3Dロボット「3D-WEBクムクム」β版
https://personal.qumcum.com/home3d/robo-real/
◆クムクムロボット(アマゾンQumcumストア)
https://www.amazon.co.jp/stores/Qumcum/page/FFCFA57A-F592-49A0-9F23-3D90514E5E61?ref_=ast_bln
◆Youtubeにはたくさんの動画を載せています
https://www.youtube.com/@qumcum/