対応ロボット:Qmcum(QX-001R3J)
童謡『チューリップ』の歌い出し「さいた さいた チューリップの花が」の部分ををクムクムのBEEP音で奏でるプログラムを作ります。
最初の「ドレミ_」の部分は同じなので2回繰り返します。
好きな音楽をクムクムに演奏させてみましょう。
ソースコード
#define TONEOUT 12
void oto(int takasa, int nagasa){
tone(TONEOUT, takasa);
delay(nagasa);
noTone(TONEOUT);
}
void setup() {
for(int i=0;i<2;i++){
oto(262, 600);
oto(294, 600);
oto(330, 1200);
}
oto(392, 600);
oto(330, 600);
oto(294, 600);
oto(262, 600);
oto(294, 600);
oto(330, 600);
oto(294, 600);
}
void loop() {
}
BEEPについて
クムクムのBEEP音はArduinoのtone関数によって出力します。
CPUのデジタル指定した出力のポートから矩形波を出力することでこれをtoneとして音に変えます。
音を再生するためのもっとも簡単な方法は、Arduinoの出力ポートに圧電ブザーなどを接続しますが、これでは音が小さいため、クムクムではオーディオアンプを通して小型のスピーカから音を鳴らしています。

tone関数
Arduino標準関数で、出力PINから、周波数(50%のデューティ・サイクル)の高さの音を、出力時間(msec)鳴らします。出力時間(msec)を省略した場合は、出力を止める noTone()関数をコールするまでBEEP音はなり続けます。
※tone関数によって指定できるPINは1つだけに限られます。
出力PIN | 出力PIN番号を指定します |
周波数 | 出力する周波数を設定します |
出力時間 | 何ミリ秒鳴らしたいかを設定します 型:unsigned long 0~4,294,967,295 |
戻り値 | なし |
周波数は使用するボード、アンプ・スピーカーの性能によって異なりますが、プログラム的には下記の値を指定することが可能です
ボード | 出力周波数 |
Uno,Mega,Leonardo,その他AVR系 | 31Hz~65535Hz |
Zero | 41Hz~275000Hz |
Gemma,Due | 実装なし |
noTone関数
tone関数で出力した音を停止します。
PIN番号 | toneを鳴らした出力PIN番号 |
戻り値 | なし |
音階と周波数


◆Arduinoプログラミングについて
Arduinoを利用して、C,C++言語でクムクムをコントロールするプログラムを作り、クムクムロボットのボード内に書き込んで直接動かすことができます。
スクラッチやPythonなどより、より早く・より自由に動かすことができます。
CPUから各パーツを直接コントロールするプログラムを作るため、電気的な知識をしっかりマスターすることができます。
1.開発環境
WindowsまたはMacなど、ArduinoIDEがインストールされたパソコンとクムクムをマイクロUSBのケーブルで結びます。
※ArduinoIDEは <こちら>から最新バージョンをダウンロードすることができます。
※USBケーブルは必ずデータ通信が可能なケーブルをご用意ください。(中にはスマホ用などで充電専用のケーブルもあります)

2.クムクムのCPUを選択する
ArduinoIDEを起動し、お使いのクムクムの機種にあったCPUを選択します。
Qumcum[QX-001R3J]の場合には【ArduinoLeonardo】を、QumcumPRO/W[QX-001R321J/321E]の場合にはBoards ManagerからESP32を選択します。
ESP32が選択項目に現れない場合は、ESP32用のライブラリーなどをインストールしてください。(インストール方法などはArduino関連サイトなどから検索します。※参考サイト <ここ> リンク等は予告なく切れる場合があります。)
●使用CPU
Qumcum[QX-001R3J] … ATMEGA32U4
QumcumPRO/W[QX-001R321J/E] … ESP32 WROOM32-D,E

4.書き込み
プログラムができたら、パソコンとクムクムの接続されているポートを合わせ、その後書き込みボタン(右スクリーンショット赤い〇矢印)をクリックします。
クリック後、C言語で書かれたプログラムは機械語にコンパイルされ、USBケーブルを経由してロボットのCPUに書き込まれます。
書き込みが完了すると、プログラムは自動で実行され、作られたプログラム通りにロボットは動きます。
もし思い通りに動かなかったら、プログラムのどこかに間違えがあるので、直してもう一度書き込みます。
※Arduinoでは文法ミス以外は動かないプログラムでもCPUに書き込んで動かそうとしますので、書き込んでみなければ正しく動くかどうかがわかりません。
※また、CPUの中にあらかじめ書き込まれているArduinoシステムを壊してしまうプログラムも書き込めてしまうので、プログラミングは慎重に行ってください。

◆クムクムロボット公式サイトのマニュアル
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/
対応ロボット:Qmcum(QX-001R3J)
童謡『チューリップ』の歌い出し「さいた さいた チューリップの花が」の部分ををクムクムのBEEP音で奏でるプログラムを作ります。
最初の「ドレミ_」の部分は同じなので2回繰り返します。
好きな音楽をクムクムに演奏させてみましょう。
ソースコード
#define TONEOUT 12
void oto(int takasa, int nagasa){
tone(TONEOUT, takasa);
delay(nagasa);
noTone(TONEOUT);
}
void setup() {
for(int i=0;i<2;i++){
oto(262, 600);
oto(294, 600);
oto(330, 1200);
}
oto(392, 600);
oto(330, 600);
oto(294, 600);
oto(262, 600);
oto(294, 600);
oto(330, 600);
oto(294, 600);
}
void loop() {
}
BEEPについて
クムクムのBEEP音はArduinoのtone関数によって出力します。
CPUのデジタル指定した出力のポートから矩形波を出力することでこれをtoneとして音に変えます。
音を再生するためのもっとも簡単な方法は、Arduinoの出力ポートに圧電ブザーなどを接続しますが、これでは音が小さいため、クムクムではオーディオアンプを通して小型のスピーカから音を鳴らしています。

tone関数
Arduino標準関数で、出力PINから、周波数(50%のデューティ・サイクル)の高さの音を、出力時間(msec)鳴らします。出力時間(msec)を省略した場合は、出力を止める noTone()関数をコールするまでBEEP音はなり続けます。
※tone関数によって指定できるPINは1つだけに限られます。
出力PIN | 出力PIN番号を指定します |
周波数 | 出力する周波数を設定します |
出力時間 | 何ミリ秒鳴らしたいかを設定します 型:unsigned long 0~4,294,967,295 |
戻り値 | なし |
周波数は使用するボード、アンプ・スピーカーの性能によって異なりますが、プログラム的には下記の値を指定することが可能です
ボード | 出力周波数 |
Uno,Mega,Leonardo,その他AVR系 | 31Hz~65535Hz |
Zero | 41Hz~275000Hz |
Gemma,Due | 実装なし |
noTone関数
tone関数で出力した音を停止します。
PIN番号 | toneを鳴らした出力PIN番号 |
戻り値 | なし |
音階と周波数


◆Arduinoプログラミングについて
Arduinoを利用して、C,C++言語でクムクムをコントロールするプログラムを作り、クムクムロボットのボード内に書き込んで直接動かすことができます。
スクラッチやPythonなどより、より早く・より自由に動かすことができます。
CPUから各パーツを直接コントロールするプログラムを作るため、電気的な知識をしっかりマスターすることができます。
1.開発環境
WindowsまたはMacなど、ArduinoIDEがインストールされたパソコンとクムクムをマイクロUSBのケーブルで結びます。
※ArduinoIDEは <こちら>から最新バージョンをダウンロードすることができます。
※USBケーブルは必ずデータ通信が可能なケーブルをご用意ください。(中にはスマホ用などで充電専用のケーブルもあります)

2.クムクムのCPUを選択する
ArduinoIDEを起動し、お使いのクムクムの機種にあったCPUを選択します。
Qumcum[QX-001R3J]の場合には【ArduinoLeonardo】を、QumcumPRO/W[QX-001R321J/321E]の場合にはBoards ManagerからESP32を選択します。
ESP32が選択項目に現れない場合は、ESP32用のライブラリーなどをインストールしてください。(インストール方法などはArduino関連サイトなどから検索します。※参考サイト <ここ> リンク等は予告なく切れる場合があります。)
●使用CPU
Qumcum[QX-001R3J] … ATMEGA32U4
QumcumPRO/W[QX-001R321J/E] … ESP32 WROOM32-D,E

4.書き込み
プログラムができたら、パソコンとクムクムの接続されているポートを合わせ、その後書き込みボタン(右スクリーンショット赤い〇矢印)をクリックします。
クリック後、C言語で書かれたプログラムは機械語にコンパイルされ、USBケーブルを経由してロボットのCPUに書き込まれます。
書き込みが完了すると、プログラムは自動で実行され、作られたプログラム通りにロボットは動きます。
もし思い通りに動かなかったら、プログラムのどこかに間違えがあるので、直してもう一度書き込みます。
※Arduinoでは文法ミス以外は動かないプログラムでもCPUに書き込んで動かそうとしますので、書き込んでみなければ正しく動くかどうかがわかりません。
※また、CPUの中にあらかじめ書き込まれているArduinoシステムを壊してしまうプログラムも書き込めてしまうので、プログラミングは慎重に行ってください。

◆クムクムロボット公式サイトのマニュアル
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/