2013年03月一覧

今日はsanguinoのテスト

20130324_01

 14:00くらいまでは、昼ごはんを買ってきて食べたり、エーハイムのサブストラットを洗ってみたりしてた。

 その後、Sanguinoのテスト。

 まず配線図をFritzingで描く。実物で配線してみる。Lチカを送る。動かない・・・。

 一旦ATmega644Pのブートローダの焼き直しにかかる。ArduinoIDEが1.0.4に上がっていたのでそれを落として環境を作って、その後sanguino環境に変更。ArduinoUNOでArduinoISPを作成してブートローダを焼き込もうとするのだがエラー。AVRISPmk2とAtmelStudioで同じ事をやってみてもエラー。
 ここで以前失敗した時の記憶がよみがえる。外部クロックをつなげてみたらAtmelStudioがATmega644Pを認識した。そのままArduinoISPに繋ぎ直したら無事ブートローダ書き込み完了。せっかくなのATmega1284Pもブートローダを書き込みしておいた。

 で、再度試してみたがLチカアップロード完了。無事動作。ATmega1284PでもOK。というわけでsanguinoを試せる環境はできました。チップに貼ってるピン記載シートはOpenCVで遊ぼう!別館さんから毎度頂いてます。ありがとう。


全部見せます北斎冨嶽三十六景

 江戸東京博物館で3/15-3/31開催の特集展「全部見せます北斎冨嶽三十六景」に行って来ました。三十六景っても追加の十景があるので作品は四十六点。

 両国についたらツレが腹が減ったというので駅近辺をうろついて、ガード下のとんかつ専門店「いちかつ」に入りました。
20130323_01
 ふたりともヒレカツ定食。890円でした。ロースカツ定食だと690円。お腹いっぱいになりました。

 で、江戸東京博物館。エスカレータで6Fにあがって日本橋をわたって5Fへ直行。直接5Fにいければ良いのにね、入場ゲートが6Fにあるから仕方ない。ずりずりと全46点を見終わって、7階の資料館に初めて行ってみた。
 なんか面白い本やら雑誌がある。そして、ビデオライブラリーで「浮世絵の摺師」「東京・街あるき1」を観た。ここのビデオライブラリー良いね。ちょっと(だいぶ?)古い映像素材もあるけども、観たいものが山のようにある。朝一9:30で来て閉館17:30まで居ても観きれないだろう。何度か通わないと。こういうのは東京都がライブラリーとしてネットで配信してくれると都税を納めるのも納得できるですけどね。

 つづいて、ツレご希望の水上バスにて両国の船着場から水上バスで浅草へ。ツレは本当は違うコースが良かったようなのだが、花見の時期で今日はそのコースは休航でした。30分くらい隅田川の川沿いをぶらぶらして水上バスが到着するのを待つ。時間が来て、乗る水上バスがちょい遅れて来たが、超満員。なんとか階上の場所を陣取ってカメラ撮影とかしてました。動画もあるので気が向いたら編集します。

20130323_02

20130323_03

 水上バスを降りた所は浅草の隅田公園。さくらが満開でにぎわってました。

20130323_04

 その後は浅草寺に行きたいというツレの要求は却下して(すでに16:00だし)、途中でお茶しつつ、インド雑貨屋やら、サンマルクを寄り道して、総武線浅草橋駅まで。そこからJRで自宅へ。立川駅で電車を降りたら外気が冷えてて寒かった。


集合抵抗に変えました

20130322_02

 7セグLEDのアノード側の電流制限抵抗を集合抵抗にしました。スッキリ。aitendoさんでちょうどコンデンサマイクを買う必要があったので、ついでに。
 他は更に小さめな4桁の7セグLED@150円とか。74HC595@50円もいくつか追加。

 この集合抵抗、8抵抗のDIPが5個で100円なので秋月などのの100個100円の抵抗と比べるとコスパは悪いのですが、ブレッドボードでの取り回しが楽なので買ってみました。残念なのは抵抗値のバリエーションが少ないことかな。
 ふと、16ピンのDIPのICソケットを使って好きな値の抵抗を固定すればええじゃんと思った。確かに。出来れば丸ピンのソケットが良いですね。


sanguinoの準備

20130321_01

 準備ってか並べただけですね。

 ブートローダは焼いてあったはずなので、配線とIDE環境の準備をすれば試せるはずです。

 最初はDHCPで取得したIPアドレスをUARTに流すとか、httpクライアントとしてどっかのhtmlをUARTに流すとかかな。デジタルピンはSPIとUARTを除くと20本。アナログピンをデジタルに回せばさらに8本なので12桁の7セグLEDをシフトレジスタ無しでまかない切れるはずですね。


シフトレジスタを使わないでやってみる

 午後、遅いお昼を食べに行ってからテスト開始。
 で、○○堂で手に入れた安いブレッドボードでやってたら動作が不安定。午前中のブレッドボードに変えてやりなおし。

 20130320_02

 まず、アノード側の8ピンをシフトレジスタを使わずAVRに直結してテスト。大丈夫ですね。
 実はソフトウエアの部分でちょっとハマりましたけど。演算子の優先順位で。論理演算子って後回しなのね、言語を考えればそうなのだけどもね。ビット演算してるとついやらかすミス。

20130320_03

 つづいて、カソード側のピンもシフトレジスタを使わずにAVRに直結。直結と言ってもシンクドライバをかましてます。LEDを2セットにしたので、Arduino側のピンはAnalog0-5をDigital14-19として使うようにして対応。とりあえず動いてました。

 ただ、12桁表示にはマイコンのピンが足りない。あと空いているのはUARTの2つとSPIの3つ、そしてdigital 13番。全部使えば12桁対応できますが、他のIOが出来ないので表示するべきネタデータが取れないです。動作モードを指定するスイッチすら繋げられない。
 そろそろATmega644Pの出番ですかねぇ。Sanguino系は公式サポートじゃないので試してみるしかないですね。それとも、ATmega168/328系で、せめてカソード側はシフトレジスタ使うかだな。シフトレジスタを使えば12pinが3pinで済むのだから。


違うようで同じような事

 昨夜仕事で帰宅が23:00過ぎになってしまったので、今日の春分の日はまったりと。

20130320_01

 何のことはない、7セグLED 3桁のモジュールの表示。まずはシフトレジスタを使った形式で。マイコンはArduino microにて。このArduino micro、スケッチを書き込む動作が遅い。一旦USBの接続モードを変えているかんじで。特にmicroの機能を使わない&実験くんの時はArduino nanoとかを使っておくほうが速いな。

 ほんでもって、7セグ(小数点があるので8セグですが、慣例的名称として)は、1桁が8×8マトリックスLEDの1行分とみなせます。桁単位でダイナミック点灯させるので、MAX8個しかLEDが同時点灯しない。これならアノード側はシフトレジスタを使わずとも、ATmega単体で処理できそうですね。と言うわけでこれからお試しです。