« K12マーチのソーラーパネルを使ったバッテリー充電 | Main | ココログで arduino sketchソースコード を少し見やすくするには・・・ »

04/08/2017

ArduinoにPIRとWTV020-SDを使って音声警報装置

Fritzing_pirwtv020led Dsc_5550

PIRセンサー(集電型赤外線センサー)で人や動物の動きを検知し、音声で警告を与えるシステムをArduinoで作ってみた。

システムは
1階層のArduinoの上にシールドする形で2階層部分を自作した構造になっている。

左側の模式的な回路図は、フリーソフト「fritzing」を用いて作成した。(fritzingプログラムのダウンロード先は、このトップページの中にある。)

この工作で使ったパーツ類については、Googleで「fritzing parts xxxx (xxxxはパーツ名称など)」で探せば、利用できるものが見つけられる。私のような初心者が扱う部品なら、殆どWeb上からかき集めることが出来るだろう。私は、この図をプログラムファイルのインストールから作成まで、3時間ほどの時間で行う事が出来た。

Fritzing_pirwtv020ledcircuitfritzingを使ってブレッドボードと部品間の接続の絵を書いていると、その裏で回路図の下書きが着々と進んでいる。
裏面で作成された回路図は、下書きレベルのものなので、とてもそのままでは使えない。
回路図上で部品配置を変えたり、部品間を結ぶ配線を整列させたり、繋がれなかった配線を足したりしてようやく回路図が作成できる。左図のような簡単なものであれば、それほど時間は要しない。
パーツ間を結ぶ線の色は、デフォルトでは黒で結ばれるようだが、ブレッドボードで結んだ線と合わせた方が分かりやすいので、両者が同じ色になるようにした。


ブレッドボード上では繋いでいる線が、回路図では結ばれていない場合があった。

逆に回路図側で結線すると、ブレッドボード側に破線で結ばれてしまう。この辺りの処理をどのようにフォローすれば良いのか・・・僕は未だこのソフト利用の初心者なので、よく理解できていない。

僕が一番苦労したのは、
WTV020-SDの英文マニュアルを十分に読まずに作業した事が原因だった。そのために、Sketch内ではデバイスのON/OFFで手間取り、音の再生ファイル作成でも手間取った。

音声ファイルの演奏等を確認するには、MP3モードにして行うのが便利そうなのだが、WTV020-SDに対して microSDカードにMP3形式で書き込んでも、MP3で演奏される訳ではない。
WTV020-SDの場合、ファイル形式は「.ad4」にして、ファイル名も「0000.ad4」「0001.ad4」`「0002.ad4」・・・と付ける必要がある。
MP3ファイルデータをad4形式に変換するには、

HOW TO CONVERT MP3 AND WAV FILES TO AD4 FORMAT- WTV020SD-16P TUTORIAL 」の中の紹介にあるツール「UsbRecorder」を使った。

ここで、AD4ファイルは、16Bit、sampling rateは、36000Hz以下なので、私は32000Hzを使ったが、WTV020-SDで演奏できるサンプルの.ad4ファイルが上記のURLの中にある(ダウンロードできる)ので、上手く演奏できない場合には、これを参考にするのが良い。

尚、WTV020-SDカードで使えるmicro-SDカード容量は、1GBとあるが、今時1GBのSDカードは何処にも見当たらない。Matthias Lorenz氏が Arduinoのスケッチの中で 下記のように記載している。
Transcend 512 MB : Working

Transcend 1 GB : Working
Transcend 2 GB : Working
Transcend 4 GB : NOT Working
Transcend 8 GB : NOT Working

どうやらWTV020-SDは、2GBまでは使えるようだ。

SDカードは2GBまで使える事が分かったので、
拙宅の机の周りを探してみて、やっと2GBの容量のものが見つかった。


《Sketch》

Arduino_sketch_20170401_pirdetect_tいろいろな事例を参考に、僕が作成した sketch は左のようになった。
警告音は、虎が威嚇している音にした。
音声や
音楽等を入れておくこともできる。もう少し音量を上げたいので、小型のD級パワーアンプを接続するかな・・・


僕が作った Sketch は、下記から download 出来る。















僕が使っている@niftyのココログでは、HTML5のpre要素が使えないので、Sketchは下記のようにダウンロード先を表示して、そこからダウンロードできるようにした。
「Arduino_UNO_Sketch_PIR_sensor_detects_and_make_voice_warning.ino」をダウンロード

《動かないと悩んだら・・・僕が体得したこと》

動かない原因は、幾つか考えられる。

①パーツ間の配線を間違えている。
②パーツが壊れている。(組みつけ途中、配線ミスに気づかず、電源を入れてしまい部品を壊しているかもしれない)
③マニュアルの読み間違いをして、逆の行動(配線の逆接続や、逆のプログラミング)をしているかもしれない。
④マニュアルに書かれているルールや基準から外れた取扱をしているかもしれない。
 例えば、ad4フォーマットでしか演奏できないのに、mp3フォーマットで演奏できると思い込んでいたり・・・、ファイル名の付け方にルールが有るとか・・・
⑤参考にしている資料にミスが有るかもしれない。
 著者が出版前に訂正すべき点を忘れているかもしれない。
 そのため、複数の資料を参考にするのが良い。
⑥とにかく、使う部品については、その取扱説明書を良く読むことだ。
 Sketchでは、データの形式、内部の値などに整合性がとれているかどうかをプリントアウトしてデバッグしてみる。
⑦エラーが起きている行が問題ではなく、その行よりも前段階のところにバグがある可能性もある。
 ステートメントの区切りの「;」を忘れている場所があったり、
 コメント行の書き方を間違えていたり、
 宣言文を忘れていたりなど、編集している間に、思わぬミスをしている可能性もある。
⑧最後に、分からなかったら、Google先生に聞いてみる!
 ただし、問題の原因が「自分の行ったうっかりミスだったり」すると、答えが得られることは少ないかもしれない。


《参考事例》
① WTV020SD-16Pを使った Daniele Alberti 氏が作成した事例
Lettore "mp3" super economico per Arduino
  ・・・回路図は正しいのかな?

もう一つ大変参考になったURLが有ったのだが、この記事を書いている間に、残念ながら相手の事情で繋げなくなってしまった。

« K12マーチのソーラーパネルを使ったバッテリー充電 | Main | ココログで arduino sketchソースコード を少し見やすくするには・・・ »

PC and PC troubles」カテゴリの記事

Comments

Post a comment

Comments are moderated, and will not appear on this weblog until the author has approved them.

(Not displayed with comment.)

TrackBack


Listed below are links to weblogs that reference ArduinoにPIRとWTV020-SDを使って音声警報装置:

« K12マーチのソーラーパネルを使ったバッテリー充電 | Main | ココログで arduino sketchソースコード を少し見やすくするには・・・ »

August 2019
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Recent Trackbacks

無料ブログはココログ