2015年05月01日

ISPでArduinoを楽しむ!

今年も早いものでもう5月です。例年だと玄関先の鈴蘭が綺麗に咲いていたのですが、昨年から東京に移り住んでいるため鈴蘭がどうなっているのか知る由もありません。
この連休はとても穏やかで、むしろ暑いくらいです。
特にやることを決めていたわけでもなかったのですが、何気なくサイトで見つけていた専用ボードを使わなくてもArduinoを使う方法を試してみることにしました。

DSC01105.jpg

もともとArduinoは当局が愛用するAVRを使用しており気にはなっていたのですが、専用ボードとなっておりTRXとか組み込み用として使うにはボードのサイズとか使いにくいな〜とか思っていました。
また使用する言語もCライクな言語で当局にはなかなかなじめないものがありました。
これまではAVRとBASCOM-BASICでなんら不自由を感じていなかったこともあります。
しかし、最近ローカルのOMさんが使い始めておられ、色々を参考アプリが沢山あって便利で簡単だよ!と強力に勧められていました。
確かにWifiアプリやカメラアプリなど自分だけではこなせない難題アプリもあるので、一層気になっていたのも事実です。
そういう状況で見つけたのが、タイトルのように専用ボードではなく、AVRの単体チップにISPで直接書き込んでArduinoを動かそうというものです。
実際は、何も難しいことはなくて、手持ちのAVR(ATmega168や328)と手持ちのライターUSBaspに、ダウンロードしたArduinoIDEに、USBasp用のドライバを組み合わのせるだけで、従来のBASCOM-AVRでやっていた時と全く同じようにAVRチップを組み込み状態(ISP)でプログラムを書き込めるようになりました。

DSC01106.jpg
ALEXPRESSで買っていた200円程度のUSBaspライターとその改造版(どちらも使えた)

これで、何千円もする専用ボードを購入する必要もありませんし、コンパクトに機器を自作することができます。
ここに至る簡単な手順を備忘録として以下に記載しました。

1.ArduinoIDEのダウンロード
 下記サイトから、自分のPCのOSにあったものをダウンロードします。
 ページが開き、すでに100万以上ダウンロードされ更に開発を加速するために寄付をお願いされます。
 試用であれば、JUST DOWNLOADで問題ないでしょう!

 http://www.arduino.cc/en/main/Software

 そしてインストールします。

2.USBasp(ISPライター)のドライバのインストール
 下記サイトからドライバをダウンロードします。

 http://sourceforge.jp/projects/sfnet_libusb-win32/

 zipファイルですので展開して、そのフォルダの中にあるbinの中の inf-wizardを起動します。
 
 inf-wizard1.jpg
 NEXTを押します。
 inf-wizard2.jpg
 USBaspを選択して、NEXTを押します。
 inf-wizard3.jpg
 NEXTを押します。
 inf-wizard4.jpg
 保存を押します。
 inf-wizard5.jpg
 Install NOWを押して完了です。

3.ArduinoIDEを立ち上げます。
 以下、LCDTESTプログラムを書いた状態から、書き込みまでの手順です。

 Arduino IDE.jpg 

 Arduino IDE1.jpg
 ツール>ボード>Arduino Nano を選択します。
 Arduino IDE2.jpg
 ツール>プロセッサ>ATmega168 を選択します。(ATmega168を使用したため)
 Arduino IDE3.jpg 
 ツール>書込装置>USBasp を選択します。
 Arduino IDE4.jpg
 ファイル>書込装置を使って書き込む を選択すると書込みが始まります。

 とりあえず、ISPでの書き込み方とLCDの表示やポートの制御はわかったのですが、タイマー割り込みとか、実用プログラムの作り方はこれからです。休み後半は用があるので、今日辺りで何処までかけるようになるかです。とりあえず頑張ってみます。

※Arduinoは、ハードの壁を低くして色々な機能を実現するというような思想で始められたと理解しております。従って、ISPで組み込みでソフトを含め物作りするというのは、この考え方に反するものなのかもしれませんが、当局は、この考え方に反論しているわけではありませんのご理解ください。
むしろ、ハードの敷居を低くして自作派が増えていることに喜ばしく思っております。
当局的には、Arduinoの成果を借りて自分としてのソフトの敷居が低くなって今までできなかったものができれば良いかな〜と思っております。


posted by ja6irk at 13:10| Comment(4) | TrackBack(0) | AVR&Arduino
この記事へのコメント
岩永様 初めまして。
 当ブログを参考にIDEをダウンロードしました。(just downloadで)ツール/ボードで確認しますと、ATmega88P/ Int.8Mhz〜bitDuino10が登録されてません。解決方法をアドバイスお願いします。
Posted by 武田 at 2015年06月09日 18:46
武田さん、こんばんは。
返事が遅くなり申し訳ありません。
平日は本業で毎晩遅いのでご了承ください。
ご質問の件ですが、ArduinoIDE オリジナルにはATmega88やATTiny2313などのサポートはされていなくて、追加の設定が必要になります。
当局は、下記のURLの記事を参考にしました。
Arduino Attinyなどで検索すると多くの事例が見つかります。

http://make.kosakalab.com/make/electronic-work/arduino-ide-arduinoisp/

但し、大変申し訳ありません。
当局もまだ稼動に至っていないのです。
対応ボードとしてmega88など出てくるようになったのですが、コンパイルエラーや書き込みエラーが出てしまって、難儀しています。
その意味では、お役に立てません。
申し訳ありません。
また、明日、明後日などにトライしたいと思っています。
Posted by jn3xby 岩永 at 2015年06月12日 21:54
岩永様 早速の返信ありがとうございます。色々情報を探している中見つけましたが今一歩理解できないで躊躇しています。オリジナル情報を探してますが、まだ見つけてません。
http://www.geocities.jp/orion_cosmo/hardware_1_6_x.html

覗いてみてください。
Posted by 武田 at 2015年06月13日 17:42
武田さん、こんばんは。
貴重な情報ありがとうございます。
当局も、皆さんが記載されている中で動かないはずは無いと思いつつ難儀していました。
やはりIDE1.*.*での記載であり、今の最新版はIDE1.6.*や1.7.*になっていますので相性があるのではないかと思っていました。
やはりそうですね!
1.6.*は教えていただいた情報で動くのだと思います。
当局はARMコアを使った、M0 proを入手してしまったのでIDE1.7.*をインストールしてしまっています。
こちらで、Attiny45が動くファイルを見つけたので、夕方から色々やっていました。
FUSE データの書き込みはできないのですが、ATtiny45、2313、4313、ATmega168、328は焼けてLEDチカチカまでは確認できています。
Attinyでどれだけのコマンドが使用できるのかとか、FUSE(主にメインクロックの周波数、内部/外部の切り替えですが)の変更をどうするかの課題が残っています。
まだ十分整理できていないので、もう少しお待ちください。
Posted by jn3xby 岩永 at 2015年06月13日 21:34
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/125299185

この記事へのトラックバック