対応ロボット:Qmcum(QX-001R3J)

クムクムの音声合成を使って人間のようにアクセントを付けてしゃべらせてみます。
※3Dとリアルロボットでは声やアクセント、数字のしゃべり方が異なるので、今日はリアルロボットでプログラミングをます。
入力するローマ字は、各文字ではなく耳に聞こえる音ので文字を書きます。
「こんにちは」はKONNITIWAと最後をWAと「わ」にします。
「さようなら」はSAYOUNARAと書くよりSAYO-NARAと伸ばしたり、「東京」はTOUKYOUではなくTO-KYO-と伸ばした方が聞きやすくなります。
アクセント記号はは、必ず母音の後につけて使います。
今日は、’(シングルクォーテーション)を使って、その手前の音で声のトーンが落ちるようにします。
また、 ,(カンマ) は、その部分で小さな休みが入ります。
クムクムのおしゃべりコマンドは、アクセント記号などを含めて40文字までのローマ字を入力します。
作ったプログラムをクリックしたらコマンドがスクラッチから送り出されてクムクムがその通り動くことを確認できます。

ソースコード

#include "AquesTalk.h"
#include 
AquesTalk atp; //インスタンス定義 変数名は任意

void setup() {
  i2c_init();
  atp.SetPitch(0);
  atp.SetSpeed(100);
}

void loop() {
  atp.Synthe("konnitiwa");
  atp.Synthe("bo'ku,ku'mukumu");
  atp.Synthe("yorosikune");
  delay(1000) ;
}


おしゃべりについて

クムクムのおしゃべりは、株式会社アクエスト社が販売をする「Aques Talk」のLSI版である「Aques Talk pico LSI」を使用しています。
このLSIをクムクムのメインCPU(ATMEGA32U4)とI2Cバスで接続し、Aques Talk pico LSIの出力からオーディオアンプを通してスピーカから音声を鳴らしています。
クムクムにおけるオーディオアンプは1つだけで、BEEP音と兼用しモノラルで再生しています。
Aques Talk pico LSIをArduinoのC言語プログラミングで使用する場合は、アクエスト様が公開されている <データシート> や <ブログ記事> を参考にします。

メインCPUとつなぐI2Cとは

I2Cとはいくつかの部品や装置を2本の線で接続し制御できるようにした低速シリアル通信の方式でフィリップス社によって開発されたものです。
主には基板上での部品や基板同士の通信で使われますが、I2Cバスコントロールを搭載した部品や基板は、基本的に通信コマンドによって複雑な機能をコントロールできるため、ハードウェアの複雑なプログラミングから解放され簡単にいろいろな制御ができるメリットがあります。
Arduinoシリーズでは、ほとんどの基板にI2Cが用意されており、I2Cをコントロールするためのコマンドもしっかり用意されていますので、とても扱いやすく便利です。

どんどん増やせるI2C

I2Cを搭載した温度制御やLCD表示器、モーターコントr-るボードや加速度センサーなど多くのモジュールが様々なメーカから販売されており、これらのボードをArduinoからは簡単にどんどん増やして使うことができます。
クムクムのボードのI2Cにはすでに日本語発話用のLSIが接続されていますが、ボードには、まだまだいろいろなセンサーが増やせるようにI2Cを拡張ポートとして用意していますので、ここにどんどんいろいろなモジュールを増やして機能を追加することができます。

メインボードとI2Cの接続

◆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

    3.プログラミング

    各ボードの情報を参考にプログラミングを行います。
    具体的なプログラミングについては、随時サンプルプログラムと技術情報をクムクムライブラリー <3J> <321J/E> に掲載していきますので参考にプログラミングを進めてください。また、下記のボードマニュアルやネット情報を利用し独自にプログラミングをしていくことも可能です。

    Qumcum[QX-001R3J] のボードマニュアルは  <こちら>
    QumcumPRO/W[QX-001R321J/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)

    クムクムの音声合成を使って人間のようにアクセントを付けてしゃべらせてみます。
    ※3Dとリアルロボットでは声やアクセント、数字のしゃべり方が異なるので、今日はリアルロボットでプログラミングをます。
    入力するローマ字は、各文字ではなく耳に聞こえる音ので文字を書きます。
    「こんにちは」はKONNITIWAと最後をWAと「わ」にします。
    「さようなら」はSAYOUNARAと書くよりSAYO-NARAと伸ばしたり、「東京」はTOUKYOUではなくTO-KYO-と伸ばした方が聞きやすくなります。
    アクセント記号はは、必ず母音の後につけて使います。
    今日は、’(シングルクォーテーション)を使って、その手前の音で声のトーンが落ちるようにします。
    また、 ,(カンマ) は、その部分で小さな休みが入ります。
    クムクムのおしゃべりコマンドは、アクセント記号などを含めて40文字までのローマ字を入力します。
    作ったプログラムをクリックしたらコマンドがスクラッチから送り出されてクムクムがその通り動くことを確認できます。

    ソースコード

    #include "AquesTalk.h"
    #include 
    AquesTalk atp; //インスタンス定義 変数名は任意
    
    void setup() {
      i2c_init();
      atp.SetPitch(0);
      atp.SetSpeed(100);
    }
    
    void loop() {
      atp.Synthe("konnitiwa");
      atp.Synthe("bo'ku,ku'mukumu");
      atp.Synthe("yorosikune");
      delay(1000) ;
    }
    
    
    

    おしゃべりについて

    クムクムのおしゃべりは、株式会社アクエスト社が販売をする「Aques Talk」のLSI版である「Aques Talk pico LSI」を使用しています。
    このLSIをクムクムのメインCPU(ATMEGA32U4)とI2Cバスで接続し、Aques Talk pico LSIの出力からオーディオアンプを通してスピーカから音声を鳴らしています。
    クムクムにおけるオーディオアンプは1つだけで、BEEP音と兼用しモノラルで再生しています。
    Aques Talk pico LSIをArduinoのC言語プログラミングで使用する場合は、アクエスト様が公開されている <データシート> や <ブログ記事> を参考にします。

    メインCPUとつなぐI2Cとは

    I2Cとはいくつかの部品や装置を2本の線で接続し制御できるようにした低速シリアル通信の方式でフィリップス社によって開発されたものです。
    主には基板上での部品や基板同士の通信で使われますが、I2Cバスコントロールを搭載した部品や基板は、基本的に通信コマンドによって複雑な機能をコントロールできるため、ハードウェアの複雑なプログラミングから解放され簡単にいろいろな制御ができるメリットがあります。
    Arduinoシリーズでは、ほとんどの基板にI2Cが用意されており、I2Cをコントロールするためのコマンドもしっかり用意されていますので、とても扱いやすく便利です。

    どんどん増やせるI2C

    I2Cを搭載した温度制御やLCD表示器、モーターコントr-るボードや加速度センサーなど多くのモジュールが様々なメーカから販売されており、これらのボードをArduinoからは簡単にどんどん増やして使うことができます。
    クムクムのボードのI2Cにはすでに日本語発話用のLSIが接続されていますが、ボードには、まだまだいろいろなセンサーが増やせるようにI2Cを拡張ポートとして用意していますので、ここにどんどんいろいろなモジュールを増やして機能を追加することができます。

    メインボードとI2Cの接続

    ◆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

      3.プログラミング

      各ボードの情報を参考にプログラミングを行います。
      具体的なプログラミングについては、随時サンプルプログラムと技術情報をクムクムライブラリー <3J> <321J/E> に掲載していきますので参考にプログラミングを進めてください。また、下記のボードマニュアルやネット情報を利用し独自にプログラミングをしていくことも可能です。

      Qumcum[QX-001R3J] のボードマニュアルは  <こちら>
      QumcumPRO/W[QX-001R321J/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/