ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

arduinoコミュのPICと比較したArduinoの長短所は?

  • mixiチェック
  • このエントリーをはてなブックマークに追加
高1の息子が組込み系に興味を持ったらしく、友達とゴソゴソやってます。
影からアドバイスしてやりたいのですが、今はArduinoを勧めるのがベストかな?
と感じておりますがアドバイス頂きたいです。

私は以前PICを触っていた経験があります。16F886、PICKit2、ブレッドボード、
各種部品もろもろが残ってます。
しかし今はArduinoの方が勢いがある様に感じてます。
最初はLEDの点滅から始まり、時計や温度計やライントレースカーを作ってみる
様な流れになるのでは?と感じてます。
お小遣いの範囲で「安く」も重要な要件です。

Arduinoと思った最大はプログラムがわかりやすいと感じた事
(PICはMikroCを使ってました)
次がXbeeでインターネットにつないだアイデアを実現するのが簡単
で将来性が大きいと思ったからです。
Arduinoの最初の1台は私がATmega328PとFT232RLで「もどき」を作ろうと考えてます。
(本体とUSB部を分離し本体部のコストダウンを図るため)
短所はハードをコンパクト・シンプルに作るにはPICの方が有利かな?
電圧が7〜12V必要(PICは2〜5Vで良い)
外部クロック、コンデンサが必要(PICは8M内蔵)

ArduinoのPICと比較した長所・短所を教えてください。

コメント(14)

ATmega328P(AVRマイコン)にも8MHzの内蔵クロックがありますよ。
電圧も1.8V〜5.5Vの範囲で動きます。

ただ普通のArduino用のブートローダでは内蔵8MHz設定になっていないので注意が必要です。
開発母艦のPCとUSBで直結できること。7805通さずとも、USBバスパワーで動きます。
逆にPICは2〜5Vで良い…んじゃなくて、それ以上掛けると壊れてしまうのが厄介。
特に最近のPICは1.8V動作と成ってて、耐圧3.3V。これに5V掛けてしまうとかなりの確率で
壊れてしまいます。
困ったことに最近のPCはレガシーフリーに成ってて、USB-シリアル変換が必要なのですが、
たいていのものが5〜8Vで電圧を振るためにPICが壊れてしまいます。3.3Vレベルの変換基板
は意外なことに、秋月1社しか扱っていなくて、秋葉の近所に住んでる人を除いて、大多数の人に
とってとても高くついてしまいます。
…などという組込みの本質とは関係無い箇所で躓かなくて済むのがArduinoの長所では。

本質的ではないんですが、最近のPCのレガシーI/Oの無さと、PICの耐圧の無さには困ります。
Arduino は、
・ハードウェア:マイコン + 周辺回路
・ソフトウェア:ブートローダ + ライブラリ
なので、確かに便利です。ハードウェアをライブラリで隠していたり、C++ のインスタンスを作る部分を見せていなかったり、好みは分かれるとは思いますが。

Arduino を使うなら、Arduino → 完成したら、コピーを移植という流れがよいかなと思います。最初にボード作りというのは、Arduino らしくないというか。

一方で PIC も HI-TECH C が無償で使えますし、HI-TECH C のサンプルプログラムも、それなりについています。PIC Kit 2/3でデバッガが動くのも魅力です。PIC を買い足しても、たいした金額ではないですしね。

インターネットにつなぐことを考えるなら、mbed が便利かなと思います。

ローレベルから、1つずつできるようになるのが楽しい(どれでも OKだけど、PIC kit2/3を使うとよいかも)のか、完成イメージがあって一気に何かを作り上げたいのか(Arduino, mbedが便利)でも変わるのかなとも思います。
ArduinoはMacでもWinでも開発出来るのが便利です。
あとは、PICの場合まずハードを作らないといけないのが徐々に面倒にはなります。
Aruduinoはシールドとブレッドボードでとりあえずは出来るのが便利です。
ただし、この部分が組み込みとなると不便で、小型化するのは結構面倒になります。
PIC等では8ピンのでも使えば結構小型化が出来ますし。
Arduinoは入り口には大変良いのですが、回路作って、動いた、で終わってしまう気もします。
しかし、先日のMakemeeting等をみると色々なものがArduino化されてきているので(時計とかフルカラーの電光掲示板とか)Arduino互換の家電製品とか出てくるのも時間の問題かもしれません。自分でプログラムを改造して拡張していく事が出来そうな気がします。
なので、まずArduinoから入って、物足りなくなればPIC等をやるのが良いような気がします。
じぇーけーそふとさん、kazさん、nonさん、1093さん、貴重なご意見ありがとうござ
います。とても勉強になりました。
 実は、「Aruduinoは、ここも良いよ!あそこも良いよ!」Aruduinoの長所の情報を
バンバン頂けるんじゃないか。とイメージしておりました。迷いなくAruduinoを勧め
られる様、ドンと背中を押して頂こうと思っていまし。
 しかし、PICにも良いところはあり、Aruduinoが最強というわけではないのですね。
 迷いが生じて来ました。

質問:今Aruduinoが勢いがあり、みんなの注目を集めているのは何が魅力的なの
でしょうか?
 注目を集めているポイントを教えて頂けませんでしょうか?
個人的には3つぐらい視点があるのかなと思います。

1. マイコンには興味も関心もないけど、センサと作品を組み合わせたい層。教える側も楽をできるし、細かいことは気にしない。ほかのマイコンは難しそうで手が出なかったけど、簡単にできた。

2. 他のマイコンでの経験がある層。自分で用意していたライブラリが、多く公開されていて便利。

3. シールドなどを販売している層。マイコン汎用だと、ICになってハードルが高くなるのが、ユニット化しやすく、発売しやすい。注目も集めるし。

いずれも、情報発信することが好きな人が多いので、注目を集めているのではなく、目立ちやすいのではないでしょうか。

個人的には、開発者のマインド通り、1 の層(教えてくれる人が近くにいる)、向きで、2の層も好みそうだなと思います。正直、入門者向けの本として適切なものはまだ出ていないと思いますし、ライブラリを作ったりしようとすると、1の層にはギャップが大きいし、デバッガが使えないのは、やっぱり複雑な開発には向かないので、Arduino で完璧とは思わないです。

で、本題に戻ると、どれでもいいと思いますよ。お近くに大きな本屋さんがあれば、立ち読みで、どちらかお子さんに決めてもらってもよいのではとも思います。CQ出版の「マイコンと電子工作」の no.1 と no.2 とかシリーズなので装丁も似ていますし、比較しやすいのではないでしょうか。
Arduinoは多彩な製作事例があり、拡張ボードであるシールドを使うことによってハンダ付けしなくても手軽に電子工作が楽しめるところだと思います。
PICほどではありませんが、書籍も増えています。
私は電子工作を手軽に楽しめるという点では、開発環境がWeb上にありパソコンに何もインストールすること無くマイコン工作が楽しめるmbedを進めていますが、価格ではArduinoの方が手軽ですね。
Arduinoはとりあえず、一種類しかなく(互換機は沢山ありますが)開発環境も1つだけというのがわかり易いのだと思います。逆に言えば、I/Oの数が多すぎるとか(小型化しにくい)仕様に合わせて最適化することが出来ない等はあります。
メディアアートの現場に居る立場から言わせてもらえると、学生や作家にはとりあえず、UNOとブレッドボード買って、ネットから開発環境を落とせばまずは始められるというのが大きいようです。
オライリーから出ているPrototypingLabなどは良い参考書だと思います。
また、最早ハンダ付けすらしない、導電性糸を使ったテクノ手芸(http://techno-shugei.com/)という分野まであります。

実際の開発しているのを見ているととにかく早いというのが、実感です。
ネットから自分がやりたい事と同じような事をしている事例を見つけ、大抵の場合オープンソースになっているので、その必要な部分を組み合わせればなんとかなってしまいます。
ただ、前にも書きましたがどうもプロトタイプを作るのには非常に良いのですが、実際のプロダクト等にしようと思うとやはりもう一つ山があるような気がします。
そこは、何か製品にするなどの別のノウハウの問題だと思います。
デザイナーとかもとりあえず、実働模型等で開発する場合Arduinoを使っている事例もありますし、文系の人間にも使える環境というのが大きいと思います。
目的が何かという事にもよるかもしれませんが、学生さんで、とりあえず趣味のレベルと仮定すれば、とにかく興味を持った事を、「作りたい」と思った物を「自分で作る」という事を大切にすればいいかと思います。
そしてその中に、それを「何を使ってどうやって作るか」という事を考えるプロセスも含まれるでしょう。それを考える事もまた楽しい事ではないかと思います。もちろん予算とのバランスも考慮して!
という事で、何を選ぶかという事からして、ご子息さんに任せるのもいいんじゃないかな…なんて思いました。

さらに失礼な言い方かもしれませんが、予算がどれだけなのかわかりませんが、例えばPCを買うように何万円もかかるわけでもないですから、Arduinoか、PICか…と、どちらかに決める必要も無いんじゃないかと思います。
なにかひとつ作っておしまい、という事でもないと思いますから、いろいろチャレンジさせてあげればいいのでは…。それぞれのメリット、デメリットなんて、若い柔軟な頭ですから、もし興味を持てばあっという間に自ら理解してしまうと思います。
nonさん、じぇーけーそふとさん、1093さん、jtakaoさん
「Arduinoのここが魅力」情報ありがとうございます。

子供たちにPICではなくArduinoを勧める事にします。
先ずは興味を持ち動かしてみる。その興味を継続して行ってもらいたい。
私がアドバイスを継続しなくても自分たちでどんどん進めて行ける。
と考えました。

Arduinoは新しいものですので、「ハードも1種、開発環境も1つ」も初心者
にはとても分かり易いし、インターネット上で情報を探し、動かしてみるのに
もとても有利だと感じました。
(PICの情報は非常に多いですが、みつけた情報は機種や開発環境に依存します
ので初心者には、わかりづらいですね。)

Arduinoは色々な部品を本当に簡単に接続でき、簡単に動かす事が出来そうですね。
PICの時「コントロールプログラムの作成が面倒だな」と感じた機器は、サーボモータ、
赤外線通信、PWM制御、割込みタイマ操作、がありましたが、
Arduinoでは、これら機器の制御専用のプログラム部品が既に用意されており、とても
簡単に制御プログラムが書けると感じました。
PICの機種毎に異なるCONFIG設定も初心者にはわかりづらいですね。

PICとArduinoで簡便さが同程度だなと感じたのは、delay()関数、LCD制御、I2C通信制御
A/D制御などです。これらはPICもArduinoも差はないと感じました。

Arduinoを紹介した魅力あるページも多数ありますね。
Arduinoでマイコンしよう!!
http://k-tai.impress.co.jp/cda/article/stapa/40638.html
色々な部品のArduino接続法
http://nekosan0.bake-neko.net/connection.html

●先ずは完成品のArduinoを息子に1つプレゼントしようと考えてます。
Arduino入門を卒業したら、ATmega328PとUSB接続部を分離させ、ATmega328P単体で工作
出来る方法をアドバイスして行きたいです。
その為には完成品Arduinoは新製品のUNOを選ぶのではなく、Duemilanove328(\3,200)
を購入するのが良いですよねえ?
それとも最新のUNOの方が良いのでしょうか?
ATmega328PとUSB接続部を分離させるという事であれば、DuemilanoveでもUNOでも関係ないでしょう。
ATMega328Pに書き込まれているブートローダーを経てシリアルでプログラミングをするという動作自体は、DuemilanoveもUNOも同じです。
例えばUNOで書き込んだATMega328Pを取り外して自作基板にマウントし、そこにFT232RLによるUSB-シリアル変換を接続すれば、PCから見ればUNOと同じように使えます(もちろんドライバは異なりますが)。

Duemilanoveは今後入手困難になりつつあると思いますし、UNOでいいんじゃないでしょうか。

また、「ATmega328P単体」とは逆ですが、最近はUNOのATmega8U2部分を書き換えて作ったという例もいくつか紹介されています。もしその部分まで活用する事を考えればUNOのほうが面白いでしょう。
jtakaoさん
将来的にATmega328P部(\250)とUSB接続部(FT232RL \950)を分離するにしても
UNOを購入して問題ないとのアドバイスありがとうございました。
子供たちには最初の1台はUNO(\3,200)を購入することを勧めることにしました。
「ブレッドボードシールド」を作っておくと入門者は楽ですね。
http://d.hatena.ne.jp/OkibiWorksLabo/20100504/breadboard

私はUNOとATmega328P、FT232RLで、16MHzの外部発振でなく、ATmega328Pの内蔵
発振8MHzに変更できるかの検討を進めてみます。
http://homepage.mac.com/jtakao/elec/8mhz/index.html
皆さん、アドバイスありがとうございました。
LillyPad が 8MHz 内部発振だった気がします。一度外部発振に設定すると、水晶なしで内部発振に変更できないので注意してください。

参考:
http://n.mtng.org/ele/arduino/ArduinoISP.html
>13 nonさん
ハマリポイント情報ありがとうございます。この種の情報はとてもありがたいです。
安心の為16MHz水晶と22pFコンデンサ2個調達しておきます。

実は「『AVRライタ』自作しなきゃいけないかな?」と思っていたのですが、UNOで
ATmega328PにArduinoのブートローダ書き込めるのですね。この情報もとてもありがたい
です。
本当にありがとうございます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

arduino 更新情報

arduinoのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング