トップページ | 2008年8月24日 - 2008年8月30日 »

2008年8月17日 - 2008年8月23日の6件の記事

2008年8月22日 (金)

割込み制御ソフトUART

今度は開発環境が(11/24/07)
 冒険物語はこれで終わりではなかった。ソースが大きくなってきたので懸案のファイルの分割化でまた奇妙な現象に悩まされた。定石どおり、ヘッダーファイルを作り、関数のプロトタイプと#ifdefを使ってグローバル変数をそこへ移してコンパイルした。これが通らないのである。やれ関数を多重に定義しているの、知らない変数があるなどと身に覚えのないエラーが頻発し先に進めない。

 まあ、今まで何のためにあるのか良く理解できなかった#ifdefだの#ifndefなどのプリプロセッサーの指令をマスターできたのは収穫だったが、要するにヘッダーがうまく機能していない。それではというのでヘッダーをやめて、全部分割したファイルに戻してやってみる。所詮ヘッダーファイルを#includeするというのはそれぞれのソースにコピーしているにすぎない。ところがこれでもエラーが出る。フルートの勉強会から気分よく帰ってきて、その勢いでPCに向かい、ソースファイルを一本に戻してみた。何とこれでも同じエラー。

 これは間違いなく開発環境がおかしい。他のプロジェクトを見に行ってみると、何と何と前のプロジェクトからソースファイルが消えてなくなっている!今度のプロジェクトはこのソースのコピーを新しいプロジェクトに持ってきて展開していたのだ。開発環境のAVRstudioのバグである。やれやれ。印刷とバックアップがあるので実害は少ないが、ひどい目にあわされたものである。要するに環境の中にソースファイルが2つ入っていて、画面上にはひとつしか見えなかったのだ。それで多重定義だとコンパイラーが怒っていたのだろう。

 この環境は、無料なのであまり文句は言えない。しかもコンパイラーはプラグインのgccコンパイラーで環境それ自体と独立している。makefileのパラメータを切るのが面倒でこの環境を使っているが、エディターも余り使いよいものではないし、そろそろ見直しが必要なのかもしれない。ソースコードデバッグは割り込みやタイミングの必要なソフトでは余り役に立たないし。

平和な気持ち(11/25/07)
 研修講師の準備をまだ何もやっていない。明日から1週間はこのマイコン騒ぎを封印しなくてはなるまい。しかし、ちょうどその節目に開発が一段落して気分はとても爽快だ。開発環境の方は、新しいバージョンをダウンロードしてはみたものの、この手の新バージョンは用心しないといけないので、インストールはやめた。特にWeb上での情報はない。

 不具合は、新しい環境(プロジェクト)を作り、いちからファイルを用意したら、全く問題なく、ファイル分割は成功した。ただ、レジスター変数の宣言(使わないという)をそれぞれのソースファイルにしなくてはならない。これは面倒だ。とても公開など出来ない。

 考えてみれば、時間にクリティカルなのは、送受信のデータをループで待ちをかけながら、処理するときだけで、バッファリングは関係ないことに気づいた。割り込みルーチンをC言語側に持って来れば、面倒なCからASMへのアドレス渡しをしないですむ。これがうまく行ったのである。割り込みルーチンのdis-assmeblerリストには壮大なpush/popがつながり、最初動かないのであれこれ待ちの調整をしていたが駄目。しかし、原因はもっと簡単で、単に入力のHigh/Lowを間違えていただけ。これを直したら、全く問題なく動いた。38.4kbpsでも大丈夫。
ソフトUARTのソースコードはこちらです。lzhファイルを解凍して中のADC_TEST.txtをご覧下さい。「ADC_TEST.lzh」をダウンロード

 これで、この研究の成果は、公開しても大丈夫なレベルに到達した。とても平和な気持ちでこの記録を書いている。

開発一段落(12/1/07)
 今度のマイコンは当面の目標を温度ロガーにおいている。室内の温度の推移は前から気になっていて、どの程度の温度差が各部屋にあるのか知りたいからである。このTiny26はEEPROMメモリが128バイトしかなく、保存できるデータ量が少なすぎる。シリアル通信のことも考えれば、既に買ってあるMega168は4倍の512バイトあり早くこれにすべきなのだが、生来のへそ曲がりがここにも出て、今のチップで何とか機能をつめこんでやろうと無理をしてきた。ソフトUARTもその典型だ。このあいだTiny26の後継機種861(これはSRAMが8キロ、EEPROMが512バイトある)が日本で売られていることを見つけ、わざわざ入谷まで行って買ってくることもないのだが、まあ、昔ハムで多段スーパーの向こうをはって0V1という最小の受信機でDX(遠距離通信)をやっていたようなものかもしれない。

 それでもこの温度ロガーは、タイマー1の一秒クロックで暫定のTODを作り(これは一回で想定どおり動いた。だいぶ慣れてきたようだ)、PCに現在の温度を知らせるところまで来た。PCでのコマンド入力もバックスペースの処理を考えて相当こなれてきた。

 まあ、このへんは玄人だからな。ブレッドボードから健気にPCに十秒単位に温度を知らせているチップを見ているといとおしくなる。EEPROMの処理は検討だけでまだ手をつけていない。小さいけれどそれなりにファイルの形で使いたいので色々考えている。このときが何と言っても一番楽しい。Robustnessだったか、オブジェクトとして独立したソフトを作る工夫が面白い。

| | コメント (0) | トラックバック (0)

温度計測でのお粗末

 いやはや、LCD表示で頭を抱えていたのもつかのま、温度測定IC(LM35D)とADC用に新しく構成したシステムでもお馬鹿な間違いをやって、夜更かしすることになった。何のことはない。AVRstudioに慣れないせいで折角作ったバイナリでなく前のバイナリをせっせとTiny26に食わせて動かない、動かないと悩んでいたのだ。タイムスタンプを見ればロードしているバイナリはずっと前のファイルだとわかるはずだが、頭に血が上っているとそこまでの注意力は望めない。
Ab060716_01
 LCD表示も難物だった。これは2日くらいかかった。参考にしたソースがヘッダーファイルを別につけているから#defineのところさえ換えれば、別の構成でも通用すると頭から信じたのが悪かった。4ビットハンドリングは面倒なものだが、中身のソースは何のことはない完全に環境依存で、これは中身を全部理解してからでないとこのソースは使えない。ただ、独立性を高めようとすると無駄なコーディングが多くなり、Tiny26ではメモリがそろそろ一杯になってきたので自分もハードコーディングしてしまった。
 LCD表示のソースコードは以下にあります。
「LCD_1st.lzh」をダウンロード

スリープはあっけなく実現した。電流計(テスターにピンコードを追加:これはクール)でループ(6mA)から半分以下の2mAになるのを見て満悦であった。結局LEDが一番電力を喰うことが分かった。LCDのバックライトも余計(10mA以上)だ。さきほどのトラブル解消のあと、今システムは演算する前の温度の数字が表示されている。結構正しい。これで、温度ロガーの第一の大きな山を越えたことになる。メモリは1152バイト でまだ半分残っている。このあとはTODとシリアル送出である。

 次の日、寝る前にロジックを思いつき、早速昼前から試してうまく動くことを確認した。温度表示の小数点以下がいつも同じ数字なのが気に入らなかった。考えてみれば、どれだけ繰り返し測りなおしてみてもマイクロセカンドの範囲では測った温度がかわるタイミングは万に一つで、これは1秒の間に何回か分けて測る必要がある。今の構造を殆ど変えずにWAITのところで温度を何十回かに一回測ることでこれを実現した。これで、小数点以下が小刻みに変化する。 やったやった。得意になってつい鼻歌が出る。
(11/8/2007)

暗礁に乗り上げる
 思うようにデータがPCから受け取れず悩んでいる。送信は今朝、ポートをプルダウンすることであっさり解決した。AVRプロジェクトも最終段階に入り、今はTiny26にないUART機能をソフトで実現しようと、ここ数日メモを10枚近く書き散らし奮闘している。

 Mega168があるのだから、こだわることはないのだが、Tinyのような小さい石で温度ロガーを作ることに意義がある。しかも、このシリアルの世界は昔からの私の十八番である。ちょっとのことで諦める訳には行かないのだ。コードサイズも何とか2Kバイトに入りそうだし、もう一息なのだが、受信だけがうまくいかない。

 割り込みとリングバッファーを使った少し欲張りな仕様で、4本同時に出る割り込みをなだめすかし、何とかハングアップせずにデータをとりこむところまではうまくいった。リングバッファーアドレスのASM関数への受け渡しや、割り込みの制御など、我ながらうまくやったと思うのだが、肝心のデータがでたらめなのでは話にならない。しかもリングバッファーのカウンターがリセットされるときのデータが特におかしい。わずか1命令サイクルが増えるだけでデータが変わるとは思えない。SRAMをいじるやつは他にはいないし、やっぱり受信タイミングなのかなあ。(11/15/07)

やっとのことで脱出
 いや、今度のやつはきつかった。SoftUARTは、紆余曲折の上、何とか19.2kbpsの半二重送受信が実現した。AVRから送信が出来るようになったので、あらゆるところのデータをPCに送らせて解析したが、どうしても説明のつかない現象に根を上げ、アセンブラーをやめてCで作り直したら(20分でできた)、一発で通ってしまった。

 奇妙な現象は2つあった。これがリングバッファーの動きをおかしくしていたのだ。まず、レジスタ変数でアセンブラに渡したリングバッファのアドレスがどうも、おかしい。ピンチェンジ割り込みのルーチンの方が1バイトずれている。これはバッファーのデータを16進表示にして最初のデータが00なので始めて確認できた。LEDを要所に挿入して、不規則な割り込みで処理が乱されていないことは確かめてある。

 このアドレスずれは、対症療法で、割り込み側のアドレスを減らしておくことで対処できたが、問題は、受け取り側(Tail)のカウンターが途中でずれることである。奇妙なことに、送り込み側(Head)のカウンターが0に戻ったサイクルでカウントアップしなくなるのである。昨日の夜は、バッファサイズを何種類か変えて同じようになることを見て絶望的な気持ちになった。

 こんな器用なことがMPUに出来るわけがない。ここにはOSはおろか、モニタープログラムも動いておらず、今ロードしたプログラム以外に動いているものは何もないのである。みんなお前がやっていることなのだ。予想もしない容疑をかけられた被疑者のようなものである。割り込みが悪さをしているわけではない。高々10ステップばかりのリングバッファの処理である。レジスターの指定を色々かえてみたが、結局、この頑固なバグは解明できないでいた。世の中が暗くなる気持ちだ。

 残されたひとつの手段は「このルーチンを使わないで別に作る」ことである。こんな小さなルーチンにバグが潜んでいるとは思えず、原因は他にあると考えられ、期待は大きくなかったが、物は試しとCでその部分を書き直してみた(20分もかからなかった)。

 何と、直ったのである。ここ1週間悩ましてきた不具合は綺麗に解消され、快適にデータが受け取れるではないか。いったい何が原因だったのだろうか。今でもわからない。
(11/21/07 午前1時)

| | コメント (0) | トラックバック (0)

2008年8月21日 (木)

みんなお前が悪い

 今度は割り込みルーチンが動かず弱った。ロジックがお粗末だったのは昨日の時点でわかっていて、真理値表を作ってきれいな形にした。要はスイッチの押し下げと、開放の2つしか状態は無いのだから、フラグを2つも使う必要が無いのだ。

 それでもプログラムは気まぐれな動きをする。時々と言うのが一番始末が悪い。ハードを疑って、というのもこのあいだは割り込みピンをプルアップしないで動かなかったこともあるので、Vccといわれる電池の電圧とか電流を調べたが問題ない。

 銀行とドンキの買い物につき合って珍しく時間をあけてAVRstudioを立ち上げる。昨夜は少しデバッガーを調べてgccのシンボルデバッグが出来るのに感心して「これなら割り込みさえシミュレートできれば相当できるな」と思っていたのだが、何のことはない、解決は別のところにあった。

 割り込みPINの入力を確認するために、ポートアドレスと入力PINのANDをかけているのだが、ポートアドレスの表記が勘違いであった。PB6とは右から7番目(0から始まるので)のビットのことで、2進表示なら 01000000だ。しかし、PB6そのものは、単なる0x06に置き換わる。つまり、00000110でこのピンに対して入力を聞いていたのだ。

 わかってしまえば、単純なミスだ。ビット演算は慣れていないのでこういうミスがでる。判明するまで、機械や電池を疑って申し訳ないことをした。全部俺が悪かった。負け惜しみになるが、時々動いたというのはどういうことなんだろう。
(11/1/2007)

| | コメント (0) | トラックバック (0)

WinAVRを動かす

 AVRマイコンの冒険は留まるところを知らない。初めてチップを買ってきたのが、今月の16日、それ以来、すっかりこれに没頭している。フルートレッスンは明日だが、練習もしている間も頭の中をロジックが離れない。こんなに熱中したのは、10年ほど前のLinux以来だと思う。単なる電子工作ではなく、私にとっては、長年仕事で日頃溜めていた不満や願望を何らかの形で解決してくれているという思いがある。Linuxの時もそうだった。

 Linuxのときはカーネルの中を覗ける楽しみがあったが、すでに膨大な蓄積のあるOSであり、個人の裁量は多寡がしれている。しかし、8ビットMCUはモニターもOSもなければ、メモリ空間もキロワードの世界であり、I/Oは1ビット単位だ。それでいてクロックは20MHzはとれるし、割り込みも多重に出来る。タイマーもUARTもハードで持っているし、今まで外付けのA/Dコンバーターやちょっとした周辺機器の接続にこまかい結線が必要で、まともな機械にするには相当な時間と経験を必要としたのに、A/Dコンバーターは内蔵しているし、たいていのものは、単にI/Oピンに機械をつなぐだけで、ハードは完成してしまう。

 そのうえ、PICはいちいち、チップを別の機械に移し、プログラムをロードしなければならないのに、このAVRはターゲットマシンにほんの少しのインタフェース線をだすだけで、プログラムが焼けてしまう(最近はPICも出来るらしいが)。しかも、このフラッシュROMは1万回以上焼き直しができるので気楽に書き換えられる。何と言っても値段は最初に買ったTinyクラスで¥300しないし、先週、通信販売で手に入れた中型クラスのMega168でもひとつ¥500だ。

 さらにPICからの優位なところは、無料のCコンパイラーを使ってプログラムが組めることだ。AVRのCコンパイラは何とオープンソースのGccなのである。私も2本ほどアセンブラーで書いて構造が見えてきたところで、Cに開発環境を換えた。

 WinAVR(gccのこと)の環境設定が混乱したり、Cでのビット演算に苦労したり、C特有の文法に惑わされたりしたが、ボタンの押下でLEDの点滅間隔を設定するプログラムを母体に、ASMからCへのポーティング、タイマー割り込みの導入、スイッチの外部割込み による制御など、順調に実験が進んでいる。Aa230710_2

 ブレッドボードも、事務所の帰りに寄った秋葉原で短いジャンパーピンを買い増し、すっきりした形になった。秋月では、定番のLCDモジュール(オレンジ、バックライト付)を¥900で手に入れ、着々と温度ロガーへの道を進んでいる。

 極細の熱収縮チューブのおかげで、コネクター周りは格段にきれいになった。ただ、外部割込みは現在時点で完全稼動していない。割り込みが起きることはわかっているのだが、スペックどおりの動きをしないのだ。デバッグがあちこちに挿入したLEDというのもつらい。早くシリアルインタフェースを完成してオンラインデバッグができるようにしたい。
(10/30/07)

| | コメント (0) | トラックバック (0)

マイコン開発顛末の続き

 LEDを順次に点滅させるプログラムをアセンブラーで書いた後も、冒険物語が続く。アップルの6502以来のアセンブラーである。対象が全部1バイトというのもせせこましいが、ビットの数え方が右から0で始まるのでやたらと紛らわしい。ピン配置の番号、ポートアドレスの番号、データ内のビット番号、さらに出てくるピンの論理値が自由に操作できるというのも混乱の元だ。

 まあ、ソフトウエアの世界はもう40年の経験があるから、ハードほど不安ではない。アセンブラーは、I/Oや割り込みの部分の処理を理解したくてわざと試している。AVRはフリーのCコンパイラーが使えると言うのも売りで、まもなくCに移る予定だ。

 ところが、LEDの出力のときは問題なかったが、入力ではまった。入力といっても、簡単な押しボタンスイッチだ。ボタンを押している時間をLEDの点滅の間隔にするというプログラムで、参考書どおりにコーディングしても入力を認めない。2~3種のコーディング例を見て同じことをやっているのだが、がんとしてボタンを認めない。プルアップしてみたり、ポート位置を変えてみたりしたが駄目。シミュレーターで動かしてみると、入力さえ認められれば動くという確認はとれたので、ハードの問題か。

 意外なところで解決をした。こういうマイコンの入出力は、PORTと呼ばれる、I/Oアドレスに、INとか、OUTと言った命令でワークレジスターを介して行われる。そのまえに、当該のPORTの入出力の指定とか、さきほどの論理値の選定(0をHighとするかなど)などのデータを、このポートに出力しなければならないのでややこしい。

 少々疲れて、参考書のコーディング例を見るともなく見ていると、PORTAというアドレス以外に、PINAというアドレスがあることがわかった。アセンブラーのこういうシンボルは同じものに対して別の名前をつけるということはよくあることなので、気も留めなかったのだが、アセンブラーのリストを見ると場所が違うことに気がついた。

出力は、PORTAとかPORTBのままである。半信半疑で、PINの方から入力してみるとビンゴ!であった。こんなことは当たり前すぎるということなのか。少なくとも私の見た参考文献には書いていなかった。まあ、とにかく、やっと考えていたとおり、ボタンの押している時間で点滅するLEDプログラムが完成した。

初期のアセンブラ、CのLEDプログラムのソースコードはここにまとめてあります。
各ファイルの説明は、中のTiny26test.txtをお読みください。

「Tiny26test.lzh」をダウンロード

さて、現在のマシンはブレッドボードに仮付けされ、周囲をジャンパー線がうず高く行きかっているとても実用とはいえない実験機械である。これから、タイマー、割り込み、スリープなどの機能を学習し、省電力の温度記録ロガーを作成する予定である。
(10/22/07)

| | コメント (0) | トラックバック (0)

マイコン製作にはまる

はじめに

記念すべき最初の記事です。備忘録のつもりでこれまでずっと書き溜めた記録があります。これを公開するのが一番手っ取り早いのですが、今読み返してみるとちょっと冗長すぎる感じがします。  ただ、今までの経験を言えば、他の人が困っている状況を知ることは大変自分にとって参考になりました。「みんな同じ苦労をしているんだ」と思うと、とても励みになるのです。恥を忍んで少しづつご紹介していきたいと思います。

10/20/2007
マイコン製作にはまる

  株式の低迷で手持ち無沙汰になり、GPSロガーとか、長年の懸案だった自記温度計の自作などの資料を散策していたら、たまたまAtmel社のAVRワンチップマイコンを知った。ワンチップマイコンはMicroChip社のPICマイコンが有名で、私も5年ほど前、参考書を買って少し調べたことがある。レジスターの数が少なく余り好きになれないアーキテクチャーで、プログラムをロードするのにライターが必要だったりして実際にものを手に入れて実験するところまでは行かなかった。

  それに、本屋の電子工作の参考書や秋月などのショップに行っても、PICばっかりで生来のへそ曲がりが出て嫌気がさしていたところに、AVRの発見である。PICがインテルならAVRはモトローラというWebの情報も気に入った。その気になれば今はいくらでもWebから情報だけでなくソフトも手に入る。

  先週あたりからWebで調べ始めて、どんどん熱が上がり、遂に今週の火曜、久しぶりに秋葉原を訪ねた。当然のように千石電商で部品を調達する。秋月には、ご時世だろう団塊の世代の元ラジオ少年らしい年配者でごったがえしているが、千石は玄人向けなのですいていて助かる。ただ、ここでは私も素人の方に入るので店員との応対は気を遣う。 2Fの半導体の売り場の兄ちゃんに「Atmelのマイコンチップは...」と恐る恐る聞くとと「うちはAtmelおいてません!」と剣もほろろの返事である。代理店か何かの事情があるのか。AtmelはEEPROMでは有名な会社なんだけどな、とひとりごち。

 仕方なく、秋月によってチップを手に入れる。一ヶ¥280。肩の抜ける値段である。DIPソケットのATmega8あたりが欲しかったのだが、この店は何故か、megaシリーズはQFPなどという0.8ミリピッチの表面実装の石しか置いていない。あんなもの顕微鏡でもなければ自作で半田付けはできない。仕方なくTinyシリーズのATtiny26で我慢する。まあ、最初なのだからあまり背伸びはやめよう。

 車を走らせて家路に急ぐ。久しぶりの高揚感がある。家に帰り、半田ごてを出し、部品棚をかきまわし製作の準備をする。夕食もそこそこに地下の部屋にこもってWebから集めた資料を元に実体配線図を描き、まずISPシリアルライター(PCとターゲットマシンを接続するところ)の製作。これは暫く使うので、小さいユニバーサルボードで組んでいく。WebにはAVRマイコンの自作記が数多くあり、情報には困らない。UEW(ウレタン)線というのもここで初めて知った。

 DSUBコネクターを無理やりボードに固定するのに時間がかかり、夜中も2時を過ぎたので4箇所くらいの半田付けを終わったところでやめる。前に電話回線の着呼でPCを立ち上げるアダプターをTTLで作ったときより楽だが、線が細くもう拡大レンズなしにはきれいな仕上げはできない。

 次の日は飲み会で夜がつぶれたので、工作を再開したのは木曜である。家内を吉祥寺に送って帰ってきた昼前から夕方まで工作に没頭し、ほぼ出来上がった。ターゲットマシンができないと通線テストもできないので、こちらはブレッドボードでLEDを点ける簡単なしかけをつくる。ブレッドボードは結構便利であることにあらためて気づいた。AVRstudioというAtmel社提供の開発環境をダウンロードし(いや高速回線にしておいてよかった)、早速テストに入る。もう夜中を過ぎているが、こんな面白いことをやめるわけにはいかない。

 悪い予感はあたって、接続しても全く何の反応もない。そんな機械はありませんとにべないメッセージである。通信が絡むシステムのデバッグが一番難物だ。すべての要素が完全に動いて、やっと結果が出てくるAll or Nothingの世界なので、分析ツールがととのっていないと手がつけられないのである。

 そうも言っていられないので、少しづつ調べ始める。Webをよく読んでみたら、このISPアダプターは、AVRstudioという開発環境ではサポートされていないことが判明。あわててフリーソフトのAVRspを落として動かしてみるが結果は同じ。これでこの日はあきらめる。

 金曜日。家内が決算の申告をするというので、アッシーを引き受け、ついでに秋葉原に再度寄ることにする。「松屋でそばを食おう」という惹句で決まり。ドライヤーで熱収縮チューブを熱したとき誤ってICを壊した可能性も捨て切れなかったのでその補充を買っておきたかったのだ。夕方から再開するが、ICを換えてもだめ、ターゲットマシンの配線をあれこれ換えてみるも変化なし。シリアルのクロスケーブル指定のピン接続がどうも腑に落ちないので、もういちど参考書にあたって確認するが、ちゃんと合っている。このchaN氏は相当の技術レベルの人だ。

 テスター代わりのLEDを回路につけ、PC側の接続ソフトを動かすと、一瞬ターゲットマシンの入力線で光るのを確認し少し安心するが、これ以上のことはわからない。ケーブルが少し長すぎるも気になるが、この程度で動かないと言うことはないだろう。結局、この日は、古いテスターのボリュームを取り替えたり(シャフトが足らなくて仮止め)、開発環境を調べたりして、時間をすごす。それでも寝たのは3時。 A3141195
土曜日。フルートの練習をやって、工作の再開。重なるときは重なるもので、手の中に入ってしまうGPSロガーがこの日届き、これも触りたいのだが我慢する。もういちど、初手から、ISPアダプターのチェックを、昨日買ったマルチメーターの導通テストモードでひとつひとつ調べ始めた。DSUBピンと、抵抗のところは「接続されている」、その配線は途中、別のピンを経由してそこも接続されているの だが、念のため、そのピンにプローブをあてると「導通していない」! 何と言うことだ。ウレタ ン線が被覆をつけたまま半田付けされていたのだ。ピンに線を一回まわして、そA3141198_2の上から半田が乗っているので外見上からは完全につながっているように見える。試しに線を引っ張ってもビクともしない。

 あわてて半田付けをしなおし、午後4時。製作を開始して3日半目にやっとブレッドボードのATtiny26マイコンはLEDの点滅を始めた。開発時間は、初日6時間、2日目12時間、3日目8時間4日目3時間というところか。いや久しぶりに、解決したときのあのぞくぞくする気持ちを経験した。ほんとに安い娯楽である。このあとは正直言って、今までの自分の得意分野(ソフトウエア)に入る。サーミスターも買ってある。EEPROMを足せば不揮発メモリは200バイト以上あるTiny26なので、温度ロガーはこれだけで作れそうである。

今回の功労者:
秋月の¥2100のマルチメーター
 
(導通テストモードは助かった。これがあったので導通テストまでやる気になった)

ブレッドボード
 (はじめよく使い方がわからなかったが、これは便利だ)

chaN氏のWebページ、kumanさんのAVR試行記
 (そもそものライターは彼のオリジナル。またkuman氏の懇切丁寧な試行錯誤の報告がとても力になった。この場を借りて、厚く御礼申し上げます。)

| | コメント (0) | トラックバック (0)

トップページ | 2008年8月24日 - 2008年8月30日 »