Arduino勉強会/05-声を出してみる
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[Arduino勉強会]]
#contents
2014/03/29からのアクセス回数 &counter;
** 音声合成モジュール [#y0ad317d]
秋月から販売されている
[[音声合成モジュールATP3011F4-PU>http://akizukidenshi.com...
をATMegaボードに差して、動作を確認してみました。
&ref(ATP3011F4-PU.png);
ちょっと乱暴ですが、圧電スピーカを以下の様に接続しました。
- GND: 黒線
- D6: 赤線
Arduino IDEを起動し、シリアルモニターを起動します。
改行の設定を「CRおよびLF」にし、ボーレートは9600 baudとし...
最初に、?を入力して音声合成モジュールにボーレートを調整さ...
この時">>"と返ってきます。
次に発生させたい言葉をローマ字で入力します。
#pre{{
「ohayou」
}}
と入力すると、それっぽくスピーカら音声が出力され、シリア...
"*>"と返ってきます。
&ref(SerialMonitor.png);
** 音声合成モジュールの使い方 [#x974e402]
音声合成モジュールの使い方は、
[[音声合成LSI(ATP3011F4-PU)を使ってみます>http://www.g...
に詳しく紹介されています。
音声合成モジュールのピン配置を上記サイトの図を引用して説...
&ref(ATP3011-2.jpg);
*** 動作モード [#nc762cf6]
音声合成モジュールには、4つの動作モードがあります。モー...
未接続の場合には、セーフモードになっているみたいです。
| 動作モード | 意味 | PMOD0 | PMOD1 |h
| コマンド入力モード | 外部シリアルインタフェースを使って...
| セーフモード | 内部設定に関わらず、UART(9600bau)またはI...
| スタンドアロンモード | PC0~PC3で指定されたプリセットメ...
| デモモード | プリセットメッセージを繰り返し出力する | 0...
上記サイトのブレッドボードの配線を参考にデモモードを試し...
&ref(demo-mode.png);
*** シリアル通信の指定 [#qe633d71]
シリアル通信には、UART(9600bau)、I2C, SPIを使用できます。...
未接続の場合には、UARTが選択されるみたいです。
| 通信モード | SMOD0 | SMOD1 |h
| UART | 1 | 1 |
| I2C | 0 | 1 |
| SPI(mode3) | 1 | 0 |
| SPI(mode0) | 0 | 0 |
** 秋月のATMegaボードを使う [#i103a62d]
初心者にお薦めなのが、秋月のATMegaボードを使う方法です。...
今回使用する部品は、以下の7点です。((すべて秋月で購入可能))
&ref(parts.png);
| 部品名 | 型名 | 値段 |h
| 音声合成LSI | ATP3011F1-PU(ゆっくりな女...
| ATMEGA168/328用マイコンボード(I/Oボー...
| 丸ピンICソケット(28P) | 2227MC-28-03 | 70円 |
| ピンソケット (6P) | C-03784 | 20円x2 = 40円 |
| ピンソケット (8P) | C-03784 | 30円x2 = 60円 |
| プラスチックスペーサー | P-01864 | 100円/2 = 50円 |
| スピーカー | P-03285 | 100円 |
組み立てると以下の様になります。((他の部品を追加すると単...
&ref(AE-Atmega328.png);
** 音声合成モジュールを載せて動かしてみる [#ke0bd94a]
音声合成モジュールを載せて、動かしてみます。
シリアルモジュールと使って音声合成モジュールを接続します。
シリアルモジュールのピンは、右から以下のようになっていま...
| 1 | DTR |
| 2 | RX-I |
| 3 | TX-O |
| 4 | VCC |
| 5 | CTS(GND) |
| 6 | GND |
&ref(Serial-module.png);
シリアルモジュールとATMegaボードの接続は、以下の様につな...
| シリアルモジュール | ATMegaボード |h
| GND | J4-GND |
| VCC | J4-5V |
| RX-I | J1-1(TX) |
| TX-O | J1-0(RX) |
スピーカーとの接続は、以下の様にします。
| 赤 | J1-6 |
| 黒 | GND |
&ref(ATP-setting.png);
*** 動作確認 [#xefced9b]
シリアルモニターを9600bauにセットして開きます。以下のよう...
>>が表示されれば接続はOKです。
#pre{{
?
}}
#pre{{
>>
}}
つぎに好きな言葉をローマ字で入力してみましょう。ohayouと...
#pre{{
ohayou
}}
応答
#pre{{
*>
}}
** Arduinoとの接続 [#wa9b21ef]
Arduinoと接続して、パソコンからローマ字を入力する場合には...
- 動作モード:セーフモード(PMOD0=0, PMOD1=1)
- 通信モード:UART(SMOD0=1, SMOD1=1)
さらに音声合成モジュールとArduino(Arduinoは単に電源供給...
| Arduino | 音声合成モジュール |h
| 0 Rx | 2 RxD |
| 1 Tx | 3 TxD |
&ref(Arduino_safe-mode.png);
** 音声メニューに挑戦 [#y9293f44]
今度は、Arduinoから音声合成モジュールにじゃべらせてみます。
&ref(onsei-menu.png);
Arduinoから音声モジュールにしゃべらせたいローマ字を出力す...
今回は、複数のボタンを使う代わりにつまみの大きな可変抵抗...
ArduinoのA0を可変抵抗の真ん中のピンにセットし、両端をGND...
音声モジュールとArduinoの接続を先ほどは、逆につなぎ替えま...
| Arduino | 音声合成モジュール |h
| 1 Tx | 2 RxD |
| 0 Rx | 3 TxD |
スケッチは、以下の様にします。
#pre{{
int led = 13;
int tumami = A0;
int sentaku = -1;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
mainMenu();
}
void mainMenu() {
Serial.println("meinmenyudesu");
delay(2000);
Serial.println("eruediwo tenntousurubaaiha ichiwo");
delay(4000);
Serial.println("eruediwo syoutousurubaaiha niwo");
delay(4000);
Serial.println("mouichido menyuwo kikubaaiha sya-puwo");
delay(4000);
Serial.println("oshitekudasai");
}
void loop() {
sentaku = map(analogRead(tumami), 0, 1023, 0, 3);
switch (sentaku) {
case 0:
digitalWrite(led, HIGH);
break;
case 1:
digitalWrite(led, LOW);
break;
case 2:
default:
mainMenu();
}
delay(1000);
}
}}
つまみを変えるとLEDを点灯したり、消灯したり、音声メニュー...
** ATMegaボードとArduino Pro Miniボードの接続 [#y34dac18]
ブレッドボードで音声合成モジュールの設定が確認できました...
ATMegaボードとArduino Pro Miniボードをつないで、音声メニ...
ブレッドボードと音声合成モジュールの接続は、以下の様にし...
- ブレッドボードの結線(両端の赤と青を接続しておく)
| ブレッドボード | 接続先 |h
| ブレッドボード 赤(5V) | Arduino Pro VCC |
| ブレッドボード 青(GND) | Arduino Pro GND |
| ブレッドボード 赤(5V) | 可変抵抗-左 |
| ブレッドボード 青(GND) | 可変抵抗-右 |
| 可変抵抗-中 | Arduino Pro A0 |
- 音声合成モジュールの結線
| 音声合成モジュール | 接続先 |h
| J1-0R | Arduino Pro Mini TxD |
| J1-1T | Arduino Pro Mini RxD |
| J1-2(SMOD0) | ブレッドボード 赤(5V) |
| J1-3(SMOD1) | ブレッドボード 赤(5V) |
| J1-6 | スピーカ 赤 |
| J2-8(PMOD0) | ブレッドボード 青(GND) |
| J2-9(PMOD1) | ブレッドボード 赤(5V) |
| J4-5V | ブレッドボード 赤(5V) |
| J4-GND | ブレッドボード 青(GND) |
接続したら、こんな感じです。これで音声メニューのスケッチ...
&ref(Mini-onsei-setting.png);
** 音声温度計 [#e24197a4]
次に、可変抵抗の代わりに温度センサーLM35DZを接続して、温...
LM35DZのピンを底からみたピンの配置をデータシートから引用...
&ref(LM35DZ.png);
LM35DZのラベルを見て、左のピンが5Vになるようにブレッドボ...
&ref(onsei-ondokei.png);
以下のスケッチを使ってLM35DZの電圧から温度を読み上げるよ...
#pre{{
int lm32 = A0;
void setup() {
Serial.begin(9600);
Serial.println("onsei ondokeide_su");
delay(2000);
}
void loop() {
float t = (float)analogRead(lm32)/1023*500.0;
Serial.print("imano onndowa <NUMK VAL=");
Serial.print(t, 1);
Serial.println(">dode_su");
delay(3000);
}
}}
温度の部分を以下の様にすることで、数字を正しく読み上げま...
#pre{{
<NUMK VAL=温度>
}}
** コメント [#t07e4e3e]
#vote(おもしろかった[53],そうでもない[2],わかりずらい[3])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
- 坪本さんのご指摘でJ1-1(RX)は、J1-0(RX)の誤りでした。お...
- ATMegaボードとArduino Pro Miniボードの接続で、音声合成...
- 藤本さんのご指摘で、セーフモード(PMOD1=0, PMOD2=1)を...
#comment_kcaptcha
終了行:
[[Arduino勉強会]]
#contents
2014/03/29からのアクセス回数 &counter;
** 音声合成モジュール [#y0ad317d]
秋月から販売されている
[[音声合成モジュールATP3011F4-PU>http://akizukidenshi.com...
をATMegaボードに差して、動作を確認してみました。
&ref(ATP3011F4-PU.png);
ちょっと乱暴ですが、圧電スピーカを以下の様に接続しました。
- GND: 黒線
- D6: 赤線
Arduino IDEを起動し、シリアルモニターを起動します。
改行の設定を「CRおよびLF」にし、ボーレートは9600 baudとし...
最初に、?を入力して音声合成モジュールにボーレートを調整さ...
この時">>"と返ってきます。
次に発生させたい言葉をローマ字で入力します。
#pre{{
「ohayou」
}}
と入力すると、それっぽくスピーカら音声が出力され、シリア...
"*>"と返ってきます。
&ref(SerialMonitor.png);
** 音声合成モジュールの使い方 [#x974e402]
音声合成モジュールの使い方は、
[[音声合成LSI(ATP3011F4-PU)を使ってみます>http://www.g...
に詳しく紹介されています。
音声合成モジュールのピン配置を上記サイトの図を引用して説...
&ref(ATP3011-2.jpg);
*** 動作モード [#nc762cf6]
音声合成モジュールには、4つの動作モードがあります。モー...
未接続の場合には、セーフモードになっているみたいです。
| 動作モード | 意味 | PMOD0 | PMOD1 |h
| コマンド入力モード | 外部シリアルインタフェースを使って...
| セーフモード | 内部設定に関わらず、UART(9600bau)またはI...
| スタンドアロンモード | PC0~PC3で指定されたプリセットメ...
| デモモード | プリセットメッセージを繰り返し出力する | 0...
上記サイトのブレッドボードの配線を参考にデモモードを試し...
&ref(demo-mode.png);
*** シリアル通信の指定 [#qe633d71]
シリアル通信には、UART(9600bau)、I2C, SPIを使用できます。...
未接続の場合には、UARTが選択されるみたいです。
| 通信モード | SMOD0 | SMOD1 |h
| UART | 1 | 1 |
| I2C | 0 | 1 |
| SPI(mode3) | 1 | 0 |
| SPI(mode0) | 0 | 0 |
** 秋月のATMegaボードを使う [#i103a62d]
初心者にお薦めなのが、秋月のATMegaボードを使う方法です。...
今回使用する部品は、以下の7点です。((すべて秋月で購入可能))
&ref(parts.png);
| 部品名 | 型名 | 値段 |h
| 音声合成LSI | ATP3011F1-PU(ゆっくりな女...
| ATMEGA168/328用マイコンボード(I/Oボー...
| 丸ピンICソケット(28P) | 2227MC-28-03 | 70円 |
| ピンソケット (6P) | C-03784 | 20円x2 = 40円 |
| ピンソケット (8P) | C-03784 | 30円x2 = 60円 |
| プラスチックスペーサー | P-01864 | 100円/2 = 50円 |
| スピーカー | P-03285 | 100円 |
組み立てると以下の様になります。((他の部品を追加すると単...
&ref(AE-Atmega328.png);
** 音声合成モジュールを載せて動かしてみる [#ke0bd94a]
音声合成モジュールを載せて、動かしてみます。
シリアルモジュールと使って音声合成モジュールを接続します。
シリアルモジュールのピンは、右から以下のようになっていま...
| 1 | DTR |
| 2 | RX-I |
| 3 | TX-O |
| 4 | VCC |
| 5 | CTS(GND) |
| 6 | GND |
&ref(Serial-module.png);
シリアルモジュールとATMegaボードの接続は、以下の様につな...
| シリアルモジュール | ATMegaボード |h
| GND | J4-GND |
| VCC | J4-5V |
| RX-I | J1-1(TX) |
| TX-O | J1-0(RX) |
スピーカーとの接続は、以下の様にします。
| 赤 | J1-6 |
| 黒 | GND |
&ref(ATP-setting.png);
*** 動作確認 [#xefced9b]
シリアルモニターを9600bauにセットして開きます。以下のよう...
>>が表示されれば接続はOKです。
#pre{{
?
}}
#pre{{
>>
}}
つぎに好きな言葉をローマ字で入力してみましょう。ohayouと...
#pre{{
ohayou
}}
応答
#pre{{
*>
}}
** Arduinoとの接続 [#wa9b21ef]
Arduinoと接続して、パソコンからローマ字を入力する場合には...
- 動作モード:セーフモード(PMOD0=0, PMOD1=1)
- 通信モード:UART(SMOD0=1, SMOD1=1)
さらに音声合成モジュールとArduino(Arduinoは単に電源供給...
| Arduino | 音声合成モジュール |h
| 0 Rx | 2 RxD |
| 1 Tx | 3 TxD |
&ref(Arduino_safe-mode.png);
** 音声メニューに挑戦 [#y9293f44]
今度は、Arduinoから音声合成モジュールにじゃべらせてみます。
&ref(onsei-menu.png);
Arduinoから音声モジュールにしゃべらせたいローマ字を出力す...
今回は、複数のボタンを使う代わりにつまみの大きな可変抵抗...
ArduinoのA0を可変抵抗の真ん中のピンにセットし、両端をGND...
音声モジュールとArduinoの接続を先ほどは、逆につなぎ替えま...
| Arduino | 音声合成モジュール |h
| 1 Tx | 2 RxD |
| 0 Rx | 3 TxD |
スケッチは、以下の様にします。
#pre{{
int led = 13;
int tumami = A0;
int sentaku = -1;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
mainMenu();
}
void mainMenu() {
Serial.println("meinmenyudesu");
delay(2000);
Serial.println("eruediwo tenntousurubaaiha ichiwo");
delay(4000);
Serial.println("eruediwo syoutousurubaaiha niwo");
delay(4000);
Serial.println("mouichido menyuwo kikubaaiha sya-puwo");
delay(4000);
Serial.println("oshitekudasai");
}
void loop() {
sentaku = map(analogRead(tumami), 0, 1023, 0, 3);
switch (sentaku) {
case 0:
digitalWrite(led, HIGH);
break;
case 1:
digitalWrite(led, LOW);
break;
case 2:
default:
mainMenu();
}
delay(1000);
}
}}
つまみを変えるとLEDを点灯したり、消灯したり、音声メニュー...
** ATMegaボードとArduino Pro Miniボードの接続 [#y34dac18]
ブレッドボードで音声合成モジュールの設定が確認できました...
ATMegaボードとArduino Pro Miniボードをつないで、音声メニ...
ブレッドボードと音声合成モジュールの接続は、以下の様にし...
- ブレッドボードの結線(両端の赤と青を接続しておく)
| ブレッドボード | 接続先 |h
| ブレッドボード 赤(5V) | Arduino Pro VCC |
| ブレッドボード 青(GND) | Arduino Pro GND |
| ブレッドボード 赤(5V) | 可変抵抗-左 |
| ブレッドボード 青(GND) | 可変抵抗-右 |
| 可変抵抗-中 | Arduino Pro A0 |
- 音声合成モジュールの結線
| 音声合成モジュール | 接続先 |h
| J1-0R | Arduino Pro Mini TxD |
| J1-1T | Arduino Pro Mini RxD |
| J1-2(SMOD0) | ブレッドボード 赤(5V) |
| J1-3(SMOD1) | ブレッドボード 赤(5V) |
| J1-6 | スピーカ 赤 |
| J2-8(PMOD0) | ブレッドボード 青(GND) |
| J2-9(PMOD1) | ブレッドボード 赤(5V) |
| J4-5V | ブレッドボード 赤(5V) |
| J4-GND | ブレッドボード 青(GND) |
接続したら、こんな感じです。これで音声メニューのスケッチ...
&ref(Mini-onsei-setting.png);
** 音声温度計 [#e24197a4]
次に、可変抵抗の代わりに温度センサーLM35DZを接続して、温...
LM35DZのピンを底からみたピンの配置をデータシートから引用...
&ref(LM35DZ.png);
LM35DZのラベルを見て、左のピンが5Vになるようにブレッドボ...
&ref(onsei-ondokei.png);
以下のスケッチを使ってLM35DZの電圧から温度を読み上げるよ...
#pre{{
int lm32 = A0;
void setup() {
Serial.begin(9600);
Serial.println("onsei ondokeide_su");
delay(2000);
}
void loop() {
float t = (float)analogRead(lm32)/1023*500.0;
Serial.print("imano onndowa <NUMK VAL=");
Serial.print(t, 1);
Serial.println(">dode_su");
delay(3000);
}
}}
温度の部分を以下の様にすることで、数字を正しく読み上げま...
#pre{{
<NUMK VAL=温度>
}}
** コメント [#t07e4e3e]
#vote(おもしろかった[53],そうでもない[2],わかりずらい[3])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
- 坪本さんのご指摘でJ1-1(RX)は、J1-0(RX)の誤りでした。お...
- ATMegaボードとArduino Pro Miniボードの接続で、音声合成...
- 藤本さんのご指摘で、セーフモード(PMOD1=0, PMOD2=1)を...
#comment_kcaptcha
ページ名:
SmartDoc