なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

Arduinoと音声合成ICでしゃべる温度湿度計

Posted by arms22 on 2014年11月27日 0  0

久しぶりのArduinoネタです。Arduinoと音声合成IC「AquesTalk pico」を使ってしゃべる温度湿度計を製作しました。

IMGP0189

LCDは使わずボタンを押すと音声で温度と湿度を通知するという仕組みにしてみました。取りあえず動作確認用にブレッドボードに組んで余っていたMDF板に固定。



動いている様子。若干語尾が聞き取り辛いですが「22.0度、70%なり」と言っています。


ハードウェア・回路図



しゃべる温度湿度計回路図

メイン基板はArduino Duemilanove、音声合成ICにATP3010、温度湿度センサはSHT11、スピーカ駆動に秋月のD級アンプモジュールを使用しています。

ArduinoとATP3010はI2Cで接続します。ATP3010の4番端子を10K抵抗でプルダウンさせることでI2Cで通信ができます。SCL/SDAは10K抵抗でプルアップします。ATP30xxは声種が異なるものがいくつか販売されており、外部クロックが不要なICもあります。その場合16MHzの発振子は接続不要です。

SHT11はI2Cのような通信方式を採用していますが互換性がありません。Arduinoの2番にDATA、3番にCLKを接続します。DATAは10K抵抗でプルアップします。

回路図上ではD級アンプモジュールは省略しています。可変抵抗の出力端子をアンプモジュールのIN+に接続し、IN-はGNDに接続します。


ライブラリ


Arduino用 音声合成LSIライブラリ
http://blog-yama.a-quest.com/?eid=970151

Arduino Playground - Bounce
http://playground.arduino.cc/Code/Bounce

Arduinoで遊ぼう - デジタル温度・湿度センサー「SHT11」
http://arms22.blog91.fc2.com/blog-entry-489.html

Sleepライブラリ - github
https://github.com/arms22/Sleep


スケッチ



#include <AquesTalk.h>
#include <Wire.h>
#include <Sensirion.h>
#include <Bounce2.h>
#include <Sleep.h>

// 端子定義
const uint8_t dataPin = 2;
const uint8_t clockPin = 3;
const uint8_t speakPin = 6;

// 温度・湿度・露点温度格納用変数
float temperature;
float humidity;
float dewpoint;

// SHT1xデバイス
Sensirion tempSensor = Sensirion(dataPin, clockPin);

// 音声合成デバイス
AquesTalk atp;

// 発声ボタン
Bounce spkbtn;

void setup()
{
  // シリアルポート初期化
  Serial.begin(9600);

  // ボタン初期化
  pinMode(speakPin, INPUT);
  spkbtn.attach(speakPin);
  spkbtn.interval(20);
}

void loop()
{
  String str;

  spkbtn.update();

  if(spkbtn.fell())
  {
    // 温度・湿度・露点温度を計測し、変数に格納する
    tempSensor.measure(&temperature, &humidity, &dewpoint);

    Serial.print("Temperature: ");
    Serial.print(temperature);
    Serial.print(" C, Humidity: ");
    Serial.print(humidity);
    Serial.print(" %, Dewpoint: ");
    Serial.print(dewpoint);
    Serial.println(" C");

    str = "<NUMK VAL=" + String(temperature, 1) + " COUNTER=do> ";
    str+= "<NUMK VAL=" + String((int)humidity) + " COUNTER=pa-se'nto>nari";
    Serial.println(str);

    // 発声開始
    atp.Synthe((const char*)&str[0]);

    // 自己発熱で精度が落ちないよう十分な時間を待って次の計測を行うこと(4秒以上)
  }

  sleep(10);
}



PAM8012使用2ワットD級アンプモジュール
http://akizukidenshi.com/catalog/g/gK-08217/

音声合成LSI ATP3011F4-PU(かわいい系の女声)
http://akizukidenshi.com/catalog/g/gI-05665/

音声合成LSI 「AquesTalk pico LSI」
http://www.a-quest.com/products/aquestalkpicolsi.html

スポンサーサイト

Maker Faire Tokyo 2014 行ってきたよ。

Posted by arms22 on 2014年11月25日 0  0

Ogaki Mini Maker Faireに引き続き今回も出展せず見学のみでした。いつも出展してて気がつかなかったけどまぁ人の多いこと!会場をビッグサイトに移して広くなったかと思いきや、それ以上に沢山の人が見学にきていたようだ。途中3回ぐらい休憩を挟んでなんとか1日で全部のブースを見て回った。出展も疲れるけど見学するのもかなりハードですね。。

IMGP0228

Genkeiさんの1x1mの超巨大3Dプリンター。ノズルサイズがなんと4mm!1.75mmフィラメントを4本束ねて供給していました。

IMGP0418

RepRapコミュニティーメンバーの10x10cmの超小型3Dプリンター。ちゃんとプリントできます。

IMGP0436

Genieさん製作のローコスト3Dプリンター「ぷろ㌧」。うちの作りかけのアイツもなんとかしないとなぁ。。

IMGP0281

imaterialsの金属プリントのサンプル。さすがにハイエンドの3Dプリンターで出力されているだけあって綺麗。金属プリンター作ってみたいなぁ。。

IMGP0512

電子部品柄のお守り。半田付けに失敗しなくなる?

IMGP0481

ラズパイクラスタ。前回より更にパワーアップして、えーと、、32台!カメラも32台接続してバレットタイム撮影していた。

IMGP0235

yunaさん、等々ニキシー管の製造に成功された模様。初音ミクとか好きなデザインの管も作れるようです。

IMGP0237

スマートウォッチ的な。ちっちゃくてカワイイ7セグLED搭載。

IMGP0240

時間を2進数と指で表現する時計。わかり辛いかな(笑

IMGP0252

キータイプに連動してリレーがカチカチ音を発して、タイピストにフィードバックする機械。

IMGP0272

進撃の巨人に登場する武器の実物大。ブレードもちゃんと外れるようになっています。

IMGP0291

昆虫型スピーカ。カッコいいですね〜。

IMGP0304

超小型バイク。ちゃんと乗って運転できるけど、運転がめちゃくちゃ難しいらしい。

IMGP0315

今回一番気に入ったのがこのAmazonのダンボールで作った長サイフ。

IMGP0316

1〜2年たっても普通に使えるそう。

IMGP0319

長財布以外にも小銭入れとか色々ある。

IMGP0262

手のひらサイズのXYペンプロッタ。

IMGP0453

こっちもXYペンプロッタ?海外のサイトではよく見かけるやつ。

IMGP0452

いい感じのなめこ。

IMGP0375

VRヘッドセッドを使った人力飛行機体験装置。今回、VRヘッドセッドを使った展示が数多く見られました。

続きはFlickrとYouTubeでどうぞ。

Maker Faire Tokyo 2014 - an album on Flickr
https://www.flickr.com/photos/arms22/sets/72157649437188611/

Maker Faire Tokyo 2014 - on YouTube
https://www.youtube.com/watch?v=_aDK73zALlk&list=PLhqGlI_1GxG64dCtVVuu_x2tDQ5EV3Y2f

該当の記事は見つかりませんでした。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。