I2C接続顔モジュールの形がほぼ定まってきたので,
なんとかしてRasPiと会話したい.
いろいろ調べた結果,音声認識にJulius,音声合成にopen Jtalkを
使用している例が多かったので,今回はこれらを導入したいと思います.
カメラ・マイクはLOGICOOL ウェブカム HD画質 120万画素 C270
スピーカーは外部電源の取れるものをイヤフォンジャックから出力しています.
・Julius
導入は参考サイトが多くあるので省略します.
ただ一点だけjuliusインストール時に./configureが実行できませんでした.
どうやらautomakeを使うらしい.
以下を実行すると無事makeできました.
$aclocal && libtoolize --force && automake --add-missing && autoreconf
ちょっと試してみます
$cd julius-kits/dictation-kit-v4.3.1-linux
$ALSADEV="plughw:0,0" ~/julius-4.4.2/julius/julius -C ~/julius-kits/dictation-kit-v4.4/main.jconf -C ~/julius-kits/dictation-kit-v4.4/am-gmm.jconf -nostrip
撮影環境が悪くて動画がブレブレです笑
精度がかなり高くて驚きました.
・Open Jtalk
こちらも導入は省略.
適当なテキストファイルを用意しました.
voice.txt
ハロー ラズベリーパイ オープンジェイトーク デモ
ついでにインストールした女性(mei)の声でwavファイルに変換します.
$open_jtalk -m /usr/share/hts-voice/mei/mei_normal.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow test.wav voice.txt
aplayコマンドで再生します.
$aplay -Dhw:1,0 test.wav
思ったより自然な声です.
個人的にはもっと落ち着いた声がいいななんて.
次回からこれらを用いて具体的なソフトの製作をしたいと思います.
参考にさせていただいたサイト
http://qiita.com/t_oginogin/items/f0ba9d2eb622c05558f4
http://www.pentacreation.com/blog/2016/12/161223.html
http://qiita.com/lutecia16v/items/8d220885082e40ace252
2017年7月5日水曜日
2017年7月3日月曜日
ESP-WROOM-02 お遊び基盤を作ってみた
ジャイロセンサ MPU6500を使ってみる
お久しぶりです.
LPC1114を使ってちょっとZ軸のみ角度を出してみたいと思います.
フィルタ等は特に無しですが,ジャイロ側でいろいろ設定できるらしい
今回は自分がイマイチ使用したことのないジャイロセンサを使ってみます.
LPC1114を使ってちょっとZ軸のみ角度を出してみたいと思います.
フィルタ等は特に無しですが,ジャイロ側でいろいろ設定できるらしい
ので設定をいろいろ変えて検証します.
データシートからジャイロの設定はレジスタアドレス0x1b(27)で設定
できるっぽい.よって以下の条件で検証してみました.
レジスタ値0x00 -> レンジ最小
レジスタ値0x98 -> レンジ最大
レジスタ値0x99 -> レンジ最大&フィルタ最大?
ローパスフィルタの記述がイマイチ不明ですが,
まあ仮に理解したとしてもいざ実践では実験からうまくいく設定を
見つけるしかないと思われるので,デフォルトと最大値?でどのように
変わるか検証します.
まあ実験環境がアレなのであまり信用できませんが.
とりあえずレンジは広げたほうが良さげ?
一応値を取得して角度の算出までできました.
レジスタ値に関しては搭載する機器によって別途検証する必要が
ありそうです.
とりあえず買っただけなんでいつか使います笑
使用したmbedプログラム
とりあえずレンジは広げたほうが良さげ?
一応値を取得して角度の算出までできました.
レジスタ値に関しては搭載する機器によって別途検証する必要が
ありそうです.
とりあえず買っただけなんでいつか使います笑
使用したmbedプログラム
2017年6月17日土曜日
I2C接続顔モジュール製作 回路編
I2C顔モジュールの回路と内部ソフトウェアがほぼ確定したので
まとめておこうと思います.
・まず回路


前回のとおりArduinoは不安定だったため,LPC1114を使用しました.
サーボが二つあるので電源は別電源をとるようにしています.
以外にもジャンパを少なく仕上げられました.結構自信作です.
以下回路図です.

・ソフトウェア
LEDドライバはソフトウェアI2C,モジュールへの指示は
ハードI2Cで行います.
ソフトI2Cライブラリはこちらです.
さらにシリアル通信でも指示を送ることができます.
また,サーボは割り込みを用いて
少しゆっくり動くようにしました.
プロトコルは前回と同じで,
サーボ動作 -> ’s’+パン角[deg]+チルト角[deg]
LED表示右 -> ’r’+8byte
LED表示左 -> ’l’+8byte
まとめておこうと思います.
・まず回路


前回のとおりArduinoは不安定だったため,LPC1114を使用しました.
サーボが二つあるので電源は別電源をとるようにしています.
以外にもジャンパを少なく仕上げられました.結構自信作です.
以下回路図です.
・ソフトウェア
LEDドライバはソフトウェアI2C,モジュールへの指示は
ハードI2Cで行います.
ソフトI2Cライブラリはこちらです.
さらにシリアル通信でも指示を送ることができます.
また,サーボは割り込みを用いて
少しゆっくり動くようにしました.
プロトコルは前回と同じで,
サーボ動作 -> ’s’+パン角[deg]+チルト角[deg]
LED表示右 -> ’r’+8byte
LED表示左 -> ’l’+8byte
です.これはI2C,シリアル共通.
以下mbedコードです.
https://drive.google.com/open?id=0B4sMYcSdF0SFVDRvdlJ0WXJzdmM
ただバグが残り,サーボをOFFにする方法が不明です.
無駄な電力を消費するので動いていないときは切りたいのですが・・・
https://drive.google.com/open?id=0B4sMYcSdF0SFVDRvdlJ0WXJzdmM
ただバグが残り,サーボをOFFにする方法が不明です.
無駄な電力を消費するので動いていないときは切りたいのですが・・・
2017年6月13日火曜日
I2C接続顔モジュール製作 Rasoberry Piから接続
前回の記事からさらに作りこみました.
一回の記事に乗せきれないので数回に分けたいと思います.
今回はとりあえず動いた報告から.

概観です.正面から見るとなんとなくきれいにまとまってる
ようには見えます.この記事で製作したケースの上に載せると
いい感じです.ちなみにカメラはまだ起動させていません.

裏から見るとスパゲティ配線となっております.
ここら辺は今後作りこみたいと思います.

制御基盤を作り変えました.
前回はATmega328PUを使用しましたが,3.3Vでの動作は
少し不安定だったためLPC1114を使用しました.
動作は非常に安定しています.詳細は別記事で.
I2Cを用いてRaspBerryPiと接続.ちょっとがんばって
WEBサーバー経由で操作できるようにしてみました.
サーバ構築やHTMLなどは専門外なので見た目はよくないです.
この辺も今後作りこみたいところ.
一回の記事に乗せきれないので数回に分けたいと思います.
今回はとりあえず動いた報告から.

概観です.正面から見るとなんとなくきれいにまとまってる
ようには見えます.この記事で製作したケースの上に載せると
いい感じです.ちなみにカメラはまだ起動させていません.

裏から見るとスパゲティ配線となっております.
ここら辺は今後作りこみたいと思います.

制御基盤を作り変えました.
前回はATmega328PUを使用しましたが,3.3Vでの動作は
少し不安定だったためLPC1114を使用しました.
動作は非常に安定しています.詳細は別記事で.
I2Cを用いてRaspBerryPiと接続.ちょっとがんばって
WEBサーバー経由で操作できるようにしてみました.
サーバ構築やHTMLなどは専門外なので見た目はよくないです.
この辺も今後作りこみたいところ.
2017年6月4日日曜日
Raspberry Piケースを自作してみた
私はRaspberry PIを初代B+と3b+を所持しておりますが,
ダイソーで買ったタッパーです.サイズがいい感じで加工しやすそうです.
ケースはひとつも持っていませんでした.
適当な箱に入れていたわけですが,今回ちゃんとしたケースに
入れてあげることにしました.
買うのもアレなので100均グッズで自作してみました.
ダイソーで買ったタッパーです.サイズがいい感じで加工しやすそうです.
その他高めのM3のスペーサ,低頭ねじ.
使用したツールはハンドドリル,カッター,ドライバーなど.
使用したツールはハンドドリル,カッター,ドライバーなど.
USBやディスプレイ端子の位置を合わせ,印をつけます.
2017年5月31日水曜日
ESP-WROOM-02を触ってみる
スイッチサイエンスでモータドライバを購入する際,値段合わせで
ESP-WROOM-02を購入してみたのを思い出し,早速テストしてみる
ことにしました.
ESP-WROOM-02は安価なWiFiモジュールです.ArduinoIDEに対応
しているので簡単にネットワークに接続することが可能です.
センサ値をワイヤレスで取得したり,スマホからWiFi経由で操縦できる
ロボットなど結構遊べそう.
購入したのはこちら.開発ボードではなくピッチ変換基盤ですので
外部で回路を構成してやる必要があります.

とりあえず動作させる回路は
3V3 -> 3.3V
GND -> GND
EN -> 10k -> 3.3V
IO15 -> 10k -> GND
IO2 -> 10k -> 3.3V
IO0 -> 10k- > 3.3V(boot) or GND(書き込み)
RST -> 10k- > 3.3V
TXD -> シリアルのRXD
RXD -> シリアルのTXD
このほかに後述するLチカのためにIO4にLEDを追加しました.
ちなみに3.3Vは外部からACアダアプタを用いて供給しています.

ArduinoIDEのシリアルモニタで接続します.
"CRおよびLF","115200"を選択します.
以下のように表示されました.
AT+GMR
AT version:0.52.0.0(Jan 7 2016 18:44:24)
SDK version:1.5.1(e67da894)
compile time:Jan 7 2016 19:03:11
OK
接続は成功のようです.少しATコマンドで遊びつつ,今度は
Lチカをやってみます.(ATコマンドはコチラを参考にしました.)
ArduinoIDEボードマネージャーにESP8266ボードをインストールします.
かなり情報があるのでここでは省略します.
自分の環境ではインストールに非常に時間がかかりました.
特に引っかかることなくLチカできました.
ESP-WROOM-02については空いた時間で遊びつつ,
アイデアが浮かんだらなんか製作したいと思います.
その前にまずはファームの戻し方をメモしなければ.
参考サイト
https://www.mgo-tec.com/esp8266-board-install01-html
http://nonnoise.github.io/ESP-WROOM-02/ATcommand.html
https://tpedia.tech.gr.jp/20160111434/
ESP-WROOM-02を購入してみたのを思い出し,早速テストしてみる
ことにしました.
ESP-WROOM-02は安価なWiFiモジュールです.ArduinoIDEに対応
しているので簡単にネットワークに接続することが可能です.
センサ値をワイヤレスで取得したり,スマホからWiFi経由で操縦できる
ロボットなど結構遊べそう.
購入したのはこちら.開発ボードではなくピッチ変換基盤ですので
外部で回路を構成してやる必要があります.

とりあえず動作させる回路は
3V3 -> 3.3V
GND -> GND
EN -> 10k -> 3.3V
IO15 -> 10k -> GND
IO2 -> 10k -> 3.3V
IO0 -> 10k- > 3.3V(boot) or GND(書き込み)
RST -> 10k- > 3.3V
TXD -> シリアルのRXD
RXD -> シリアルのTXD
このほかに後述するLチカのためにIO4にLEDを追加しました.
ちなみに3.3Vは外部からACアダアプタを用いて供給しています.

ArduinoIDEのシリアルモニタで接続します.
"CRおよびLF","115200"を選択します.
以下のように表示されました.
AT+GMR
AT version:0.52.0.0(Jan 7 2016 18:44:24)
SDK version:1.5.1(e67da894)
compile time:Jan 7 2016 19:03:11
OK
接続は成功のようです.少しATコマンドで遊びつつ,今度は
Lチカをやってみます.(ATコマンドはコチラを参考にしました.)
ArduinoIDEボードマネージャーにESP8266ボードをインストールします.
かなり情報があるのでここでは省略します.
自分の環境ではインストールに非常に時間がかかりました.
スケッチの例->ESP8266->BlinkをちょっといじりIO4から出力にします.
#define LED_BUILTIN 4
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(2000);
}
IO0をGNDに接続,電源の抜き差しでリセットをかけます.
後は普通にArduinoに書き込むようにします.
ちょっと違った表示が出ましたが,[100%]となり無事書き込めました.
IO0を3.3Vに,もう一度リセットをかけます.
ESP-WROOM-02については空いた時間で遊びつつ,
アイデアが浮かんだらなんか製作したいと思います.
その前にまずはファームの戻し方をメモしなければ.
参考サイト
https://www.mgo-tec.com/esp8266-board-install01-html
http://nonnoise.github.io/ESP-WROOM-02/ATcommand.html
https://tpedia.tech.gr.jp/20160111434/
登録:
投稿 (Atom)

















