デイリーレポート一覧

切れてたかき醤油を補完

20130327_01

 自宅では使いきってしまって、最初に購入したルミネの地下の「スーパーザ・ガーデン自由が丘」では在庫切れになって手に入らなくなっていたかき醤油。
 本日は、雨模様予報だったので公共交通機関通勤。なので帰りに探してみた。kinokuniyaには無かった。で、立川グランデュオの「北野エース」に行ったらありました、かき醤油。しかも1リットルペットボトルも。1リットルペットボトルをお買い上げして帰宅しました。
 画像は3/28夜のものなのでちょっと減ってますw。


sanguinoでのLANテスト

20130326_01

 sanguinoにWiznetのWiz820ioを接続して、DHCPで取得したIPアドレスをオクテット単位でLEDに表示する実験。
 まずはLEDは使わずに、シリアルコンソールに出力するプログラムで。
 DHCPで取れない。
 おなじWiz820ioをArduinoにつないだらちゃんとIPアドレスがとれるのでWiz820ioの動作不良ではない。

 sanguinoのSPIのライブラリのソースを読んでみても、MISO,MOSI,SCKは大丈夫そう。ただどうもSSが怪しい。どこで指定してるのか?固定か?
libraries/Ethernet/utilityのw5100.hが原因でした。

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  inline static void initSS()    { DDRB  |=  _BV(4); };
  inline static void setSS()     { PORTB &= ~_BV(4); };
  inline static void resetSS()   { PORTB |=  _BV(4); };
#elif defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB162__)
  inline static void initSS()    { DDRB  |=  _BV(0); };
  inline static void setSS()     { PORTB &= ~_BV(0); };
  inline static void resetSS()   { PORTB |=  _BV(0); }; 
#else
  inline static void initSS()    { DDRB  |=  _BV(2); };
  inline static void setSS()     { PORTB &= ~_BV(2); };
  inline static void resetSS()   { PORTB |=  _BV(2); };
#endif

こんな感じでAVRのタイプ別でマクロになってる。sanguinoでもdigital2のピンをssに接続すれば動いたわけですが(あとで再現テストしたらちゃんと元のcodeでもdigital2ピンなら動きました)。SPIのMISO,MOSI,SCKの3セットのピンの横のdigital4を使いたかったのでちょっと書き換え。
最初の行を

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__)

に変えて無事目的を達成しました。さすがArduino非公式のsanguinoなのでこういうことは多々あるでしょうね。

 あとはLEDに渡すようにIPアドレス文字列から数値に変換しつつフォント配列を引っ掛けつつで完成。

 ただ、Sanguinoでネットが使えるなら、現在mbedにやらしてるセンサーマスターコントローラをSanguinoに変更しても良いかなと思う。RTCがないとかシリアルが2つしかないとかありますけど、XBeeはSoftwareSerialでも何とかなるし。どうせなら液晶を20×4のキャラクタ液晶から128×64のグラフィック液晶に変えてみたりとか。ARMでなくてAVRだけどムチ打ちますねぇ。ちょっと検討してみます。


今日は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をシフトレジスタ無しでまかない切れるはずですね。