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サポートパッケージ

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

Read the rest of this entry »

Arduino-MBDshopプレオープン

1月 13th, 2014

Arduino-MBDshop

と、いう名前で主にArduinoを中心に扱っていきますのでよろしくお願いします。

Arduino

 

もともとモデルベース開発の受託とラピッドプロト用のECUの自主開発を中心に展開したかったのですが

モデルベース開発の受託はコアすぎるし、ラピッドプロト用ECUはまだ時間がかかるので、

とりあえずArduinoでモデルベース開発という事で基本的にネット通販で扱ってまいりますのでよろしくお願いします。

ちなみにこの写真ですが、Arduino入門セットと称しArduinoをセットにしたものです。

 

従来はモデルベース開発関連の教育を行ったこともあることから、当店でArduinoをご購入していただいた方に

もれなくArduinoのWebで入門講座を受講できる特典付きです。

基本的にはこのブログで解説したことを整理して書くだけですが、場合によっては動画で詳しく解説します。

ただ、MATLABとArduinoを絡めるところまで入門講座で実施するかは考え中です。

ちなみに、当店はスイッチサイエンス社の代理店です。

また、入金手続き上、加藤個人名になっておりますがご容赦ください。

 

ということで、遊星歯車の話もしつつArduino講座も作りながらプロトタイプ用ECUも作ります。

よろしくお願いします。