Posts Tagged ‘Arduino’

5分でできるArduinoモールス通信練習機

日曜日, 2月 9th, 2014

Simulinkサポートパッケージを使ってArduinoUNOのモールス信号発信機を作ってみました。

これたった5分でできるのでぜひお試しください。

Arduinoでモールス

Arduinoでモールス

 

電鍵をArduinoの2番ポートにつなぎます、そして8番ポートに圧電サウンダをつなぎます。

Arduinoの内部処理としては常にパルスジェネレータで今回はduty50%で周波数を800Hzにしました。

そして電鍵が接触したときに回路が閉じられ2番ポートがHIGHレベルになるとパルスジェネレータの周波数が圧電

サウンダに出力されます。

回路がオープンの場合ハードウェアとしてはプルダウンしてあるので、0V(LOW)レベルになり、

出力としては0が出力されます。

直観的で簡単なのでわずか5分あればできますが、これがArduinoIDEを使ってコマンドで記述したときには

20分ほどかかりました。それもかなりいい加減なプログラムで・・・

しかしSimulinkサポートパッケージ使えばArduinoで簡単にできますが、ArduinoIDE使った場合とは決定的に

周波数出力の作り方が違い、Simulinkサポートパッケージを使ったプログラムのがこの場合は応用があまり聞かないし

音がきれいでないように思います。

それはサポートパッケージでは制御周期を決めてしまって、デジタルアウトプットポートは通常ならゆっくりとした信号、

例えばLEDのオン/オフの様なものには向いていても高速で特に周波数が変化するようなものには向きません。

ArduinoIDEの場合、Arduino内部タイマをうまいこと使って周波数をtoneという関数で発生させます。

音階としては幅広く扱うことができます。

Arduinoモールス

Arduinoモールス

一方Simulinkサポートパッケージを使った場合というのは、たぶんタイマを使わずに制御周期だけを決めてしまっています。

そのため周波数がゆっくりで固定的なものであれば制御周期とタイミング合わせてデジタルアウトプットポートをうごかすことができます。

しかし、周波数が可変する場合はマルチサンプレートでうまいこと制御周期を合わせないといけないし、

高温の場合はArduinoの制御周期が追いつかないために音がきれいになりません。

1kHzくらいの音で、モールス信号の様に特に周波数が可変しないものの場合はSimulinkサポートパッケージ使って

Arduinoに実装してもさほど問題ないのかなと思います。

この程度のプログラムでもArduinoIDEのがちょっと面倒なんです。

 

私の場合縦振れ電鍵使ってますが、これは押しボタンスイッチでもかまいません、スピーカーは圧電サウンダの

かなり小さいもの使ってて、たぶん何かのブザーとかそういった組込み用途に使うものだと思いますが、

もう少し大きめで能率の高いスピーカー使うと音はそこそこ大きく聞こえますよ。

ぜひお試しください。

 

 

 

 

 

 

ddd

 

 

Simulinkで16ビットデータを8ビットデータにする方法

土曜日, 2月 1st, 2014

Simulinkで16ビットデータを8ビットデータにする方法

言ってる意味が分かりにくいかもしれませんがSimuinkでデータの精度を落とさずに

16ビットデータを8ビットデータにする方法です。というかシリアル通信のアイデアです。

Simulink16ビット8ビット

Simulink16ビット8ビット

ArduinoとMATLABでシリアル通信しているのですが、Simulinkサポートパッケージの弱点ですね。

Arduinoの仕様でADCは確か10ビットだったと思います。10ビットデータをSimulinkサポートパッケージ

使って送信するにはどうしたらよいかという話です。

(さらに…)

Arduinoで計る、測る、量るの実践(第9章)

土曜日, 10月 6th, 2012

今9章実践中です。

プログラムだとか組込みだとかという観点からは

目新しさは無くなって来ましたが、

『Arduinoならこんなかんたんにできるんだ!』

と知ることに意味があるかも知れません。

で、最近Arduino始めて購入した人はいいのですが

現在Arduinoイーサネットシールドは『V6』ということらしいです。

過去に何回か改訂があったそうで、例えばイーサネットシールドと

いいつつもSDカードドライブがついていますが、

以前はサポート対象外だったり、ドライブがついてなかったらしいです。

もしかすると、部品の組み付けやプログラムが若干異なってくるかも知れません。

続く・・・ (さらに…)