« 超音波センサー…・・・・・・ ・ ・ ・ | トップページ | 久しぶりに更新!! »

2010年11月30日 (火)

Arduinoの処理速度

Arduinoって1つのコマンドに1クロックで処理できるようです。
ただ、ライブラリ関数は1つの関数でたくさんのコマンドを実行するので遅くなるようです。

digitalWrite(10, HIGH)  …Arduinoの出力
→ 44 CPUクロックサイクル
PORTD = i; …AVRのレジスタ直接操作による出力
→ 3 CPUクロックサイクル
だそうです。
こうなるとレジスタにアクセスするほうが格段に速いですね。

数学関数とかとにかく関数が充実しているので、Arduinoはすごいと思います。

 

STM32マイコン徹底入門が発売されますが、どんどん本・マイコンが増えていきますね。すばらしい!!

僕はSTM32を使おうかArduinoのどちらを使おうかと迷ってますが、そんなに処理速度を求めないと思うので、Arduinoかなとも思っています。なにしろArduinoは三角関数から液晶まで関数化されていてだいぶ楽ですから。

プレゼンテーションについて少しネットサーフィンしてたら、
http://www.youtube.com/watch?v=L0XeQhSnkHg&feature=player_embedded
こんな動画がありました。
さすがアップル社です!細かい性能を言うとかじゃなくて、人を引きこんでいくこのプレゼンテーションはすごいと思いました。
観客を笑わせるとかは僕には不可能ですが、もう少し分かりやすい発表とかできたらなと思います。

明日から12月ですね。もう今年が終わりそうな気がします。
時間がたつのは早いものです。

« 超音波センサー…・・・・・・ ・ ・ ・ | トップページ | 久しぶりに更新!! »

Arduinoマイコン」カテゴリの記事

ロボットのソフトウェア」カテゴリの記事

コメント

読みやすさ,書きやすさを取るか,スピードを取るか,難しいですね。

Arduinoの書きやすさで32ビットのスピードがあれば,ね。

http://leaflabs.com/

こんなのが安定して普及してくるのを待っているのですが...STBeeでも走らないですかね。

STbeeって
http://strawberry-linux.com/catalog/items?code=32103
のことですか?
これならこの解説書を書かれた方が本を出版されたので
http://miqn.net/
RCJにもSTbeeが浸透するのではないかと思っています。
実際にRCJ参加者でやろうとしている方はいらっしゃるようです。

ただ、Arduinoの処理速度で十分かなと思っていて、あと今から新しいマイコンを勉強するよりは、ほかの部分を完成させてとりあえずロボットを形にするほうが大切かなと思っているので、僕は当分はArduinoを使うと考えています。

ジョブズのプレゼンはすごいですよね。
とても参考になる。
あれ見る度にMacとKeynoteが欲しくなります。

初めてジョブズのプレゼンを見たんですが、感動しました。
いや~とにかくすごいですsign01

遅れたコメントですみません。

私はソフト屋なので偏った見方かもしれませんが、もし私が高校生だった頃にこの状況に立ち向かっていたとしたら、答えは断然 STBee だったでしょう。当方のチームはまだメンバーが若いので Arduino の簡便性を重視して使わせましたが、8bit CPU が苦手な処理を行う関数(16bit,32bit 演算、浮動小数点、文字列処理)については性能面でも実行イメージのフットプリントとしても非常に効率が悪いです。また、既に気づかれているように、ソフトもブラックボックス化されていることはメリット/デメリットの双方があります。例えば、Arduino は gcc というフリーとしては絶大な信頼性を誇るコンパイラが裏で動いているにも関わらず最適化レベル等のコンパイルオプションを変えることすら出来ません。各種センサのライブラリやスケッチサンプルのソースコードを解析すると「ああ、これはとりあえず作ったもので使う用途に合わせて自分で改良しないとダメなのね」というものが散見されます。そんなことウジウジやっているより、私なら STbee で将来有望な未開の領域に飛び出したほうが面白いと思います。
もちろん、Arduino は Arduino で極めると面白いと思います。ロボットって色々な技術領域のバランスで出来上がるものですし、上記は単なるソフト屋オヤジとしての見解として受け止めて頂いて、最適な方向を目指していただければと思います。

コメントして頂きましてありがとうございます。
返信が大変遅くなってしまい申し訳ありません。

本当にその通りだと思っています。
ただ、ぼくはそのような所に時間をそそぐよりかは、センサーの向上・自作・データ分析、ノイズ対策、モータードライブ回路の自作・改良・分析などを行ったほうが、よりロボットには良い影響が出るのではないかと考えています。というか、今はそっちのほうが興味があるだけです。
時間がたっぷりあればもちろんSTBeeにしたいと考えていますが、現在のところArduinoをそのまま使うことは困らないと思っています。
困ってからSTBeeに移行するのでもいいとも感じています。
また、ぼくはArduino内のソースコードを解析して改良する能力もまだありません。

Arduinoも使いこなせれば、I2C通信によって
・センサーを増やす
・スレーブに面倒くさい計算をさせる
・役割分担する
などなどいろんなことができます。

そして、今はPSoCマイコンの開発に力を注いでいます。
なかなか大変です
が、
・超音波センサーを外付け部品なしで自作可能
・全てのピンは 割り込み・内部プルアップ・オープンコレクタ を可能
・I2CやPWMやカウンタなどをCPUと独立して動作可能
など感動することがたくさんあり、楽しいです。

そんなわけで、ぼくはArduinoとPSoCマイコンを中心に作っている最中です。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1389908/37908336

この記事へのトラックバック一覧です: Arduinoの処理速度:

« 超音波センサー…・・・・・・ ・ ・ ・ | トップページ | 久しぶりに更新!! »