このブログを検索

2013/03/31

さくら ☆になる

 先週くらいから体調を落としていた、金魚の桜東錦のさくらちゃん。一昨日夜から治療水槽にいれたりしていたのだが、環境がかわってかえって状態が良くなくなってしまった。
 今朝起きてみたら、もう動きませんでした。残念だ、

2013/03/30

キーボード配列変換機テスト

20130330_01

 手持ちのデバイスでテスト。Sparkfunの新しい方のUSB HOSTシールドとArduino microにて。
なんかうまく動かない。
 Arduino microをやめて秋月のArduino互換機で試してもおかしい。キーボードを変えてみたら文字コードを受信するようになった。それまでは場所が狭いからテンキーレスのUSキーで試していたのだった。
 でも、Arduino microに戻すとうんともすんとも。なんでだ?

20130330_02
 今朝方緊急発注しておいたArduino Leonardoと、白い基板の本家と同じ回路であろうUSB HOSTシールドが届いた。SparkfunのUSB HOSTシールドは電源周りとか微妙なのです。で、届いたこいつらで試したらUSキーボードのキーコードをサクサク受信。同じように会社から日本語キーボードのノートPCを貸与されて困っていた人の記事のコードもサクッと動いた。一安心。

 あとは、自分用のカスタマイズ。自分がいじれるPCではのどかをインストールしてCAPSロックをIMEのトグルに、SHIFT+CAPSLOCKをCAPSLOCKにしているのでその対応をすればOK。しかしうちにはキーコードを検証する日本語キーボードはツレのPCにしかないのだった。
 完成まではもう少し。で、ツレから日本語キーボードを借りて、キーコードを調べてとかして、なんとか自分の使えるようなものができたっぽい。

 明日は早朝か日曜なのに仕事です。っかなんでこんなことしないといかんのかなぁ。しっかりしてくださいよ>親会社。手に馴染んだ万年筆を使いたいけど、会社が文具量販店のボールペンの配給だけでなく使用を強要するというような感じなのですかね。
 うまく行ったら、基板起こして小型化して頒布とかするかも。ってか同じようなことはMakeTokyoMeeting2012の時にやったらしい方が要るんだよね。その時は我が身にこんな事が振りかかるとは思ってなかったのでスルーしてたのに。今だったら速攻で頒布受けてる。

 まぁ、英語キーボードを使おうなんて、プログラムを書かない、最初から日本語キーボードしか使ったことが無い人ならまったく気にもならないことですから。海外旅行して気づくくらいかな。

2013/03/29

ちょいと検討

20130329_01

 キーコード変換器の検討。

2013/03/28

sanguinoマスタコントローラ化の下準備

20130328_01

 家のいろんなデバイスのデータを集中的に取得してネットにアップロードする自作デバイスを「マスターコントローラ」と呼んでいます。現状、mbedで動かしているのですが、mbedも高いので他のマイコンにしたいかなとか思って。

 sanguinoでのwiz820io動作が見通しがついたので、他にGLCDやXBeeを配置したプロトタイプをブレッドボードでやってみます。今夜は配置しただけです。GLCDはむかーし買ってあったTG12864B-02WWBVを今回初めて使います。センサー類のデータを何処かに(i2cのEEPROMとか?書き換え回数的にEEPROMは無理だなぁ、SPIなSRAMか。)保存しておいて、時系列グラフ表示するとか考えてます。当然各センサの現在値も表示させます。ATmega644(SRAM 4Kbyte)でやるつもりなのだけど、やっぱATmega1284P(SRAM 16Kbyte)かなぁ。

 ブレッドボード上のGLCDの置き方がだいぶもったいない置き方ですが、まぁこれでも想定の回路は作れますので。はみ出してると引っ掛けてピン曲げたりとかもありますから。

 wiz820ioは0x2000バイト以上の受信をするとハングするバグが有るようですが、その前にソケットをcloseすれば良いとか。TCP/IPに関してはこのガジェットはクライアントなので、都度開け閉めするから大丈夫ですかね。

 オプショナル開発として、今XBeeで無線経由でデータを取得しているガイガーカウンタとエーハイムフィルターは有線接続に切り替えるかも。インターフェイスはi2cかな。wiz820ioとは当時に使わないだろうからSPIでも良いけど、SSが必要になるから躊躇している。

2013/03/27

切れてたかき醤油を補完

20130327_01

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

2013/03/26

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だけどムチ打ちますねぇ。ちょっと検討してみます。

2013/03/24

今日は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で遊ぼう!別館さんから毎度頂いてます。ありがとう。

2013/03/23

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

 江戸東京博物館で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で自宅へ。立川駅で電車を降りたら外気が冷えてて寒かった。

2013/03/22

集合抵抗に変えました

20130322_02

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

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

2013/03/21

sanguinoの準備

20130321_01

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

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

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

2013/03/20

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

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

 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単体で処理できそうですね。と言うわけでこれからお試しです。

2013/03/18

去年の自分は何をしていたか

 ふと去年の今ごろは何をしてたかと思いブログをみてみたら。

 mbedの各種センサーのマスターコントローラを作ってました。
20130318_01

 これですね。
 あれってまだ1年前なのか。この1年でマイコン関係もだいぶ知識が付きました。電気工事士の免許も取ったし。

 自分がブログをなぜ書くかというと、自分があとで思い出すため。あの時何をやっていたんだろうとか。なので、どうでもよいことでも書いて残しておいてます。あなた今まで何してきたの?と言われた時の答えはココにあります。悪いことも良いこともすべて。
 で、ブログ形式の前の普通のWebサイトに書いていた前世紀の記事は失われてしまったけども、2000年5月から残ってるブログ記事は自分的には宝です。でも、ところどころ消失してますね。10年前の2013年/3月は残ってなかった、残念。

足がだるい

 今日は、一日PCの設置作業。なんかこういうのは久々だ。狭い机の下に潜って電源タップまで電源コードを引っ張ったり、LAN線を引き上げたり。こんな作業をしていたのは何年前だろう。

 で、おじさん的には下に潜ったり上に戻ったりをやっていると額に珠の汗がたらたらと。明日、腰がやられていないと良いのですが。結構立ち仕事だったので、足がだるいです。

 諸般の組織上の都合でギリギリになってるので頑張ってみました。本当は昨年の12月にしかるべき人たちがやってるはずの作業なのですよね、これ。
 
 (なんかバリエーションを許さない処置って、対応出来ない事象がでたら総崩れになるパターンで嫌だなぁと思ったりしてるのですが。内部統制ってそういうもんじゃないだろと。管理してリスクある部分でも必要があれば許可して把握しておくもんでは?)

2013/03/17

電光掲示板 mbed版マイコン基板初期型完成

20130317_01

 mbed版の基板出来ました。

20130317_02

 mbedとLANコネクタを載せるとこんな感じ。

20130317_03

LED基板と合体させるとこう。

20130317_04

 電源を入れるとこんな感じ。(正面からなので眩しくて程よく文章が潰れて著作権的に良い。)

 実は、マイコン基板の電源レギュレータ部分を作成する前に、mbedのvoutの3.3Vを使ってテスト表示してみたのだけども。

 文字がおかしい。

 調べてみたら、ブレッドボードのテスト回路の行の接続が間違ってた。1行目と6行目が逆。
プログラム側でカソード側のシフトレジスタに渡す値を1行目と6行目で入れ替えて修正完了。

 次は、LEDの2ユニット目です。正直3ユニット・12文字まで作る気力がもつだろうか?(苦笑)。
そして、秋月の切り取れるピンソケットが手持ち在庫が1本になってしまったので、発注しました。プロトタイプ用の小さいマトリックスLED基板で使ってしまったからなぁ。

 マイコン基板の方は「mbed版」と書いてあるように、別のバージョンも検討中。フォントデータをprogmemに置けたらですがATmega1284が有力候補。ただ、チップがデカいのだよね、mbedほどではないけども。i2c接続のEEPROMにフォントを置いてATmega328Pでやる荒業もあるかな。どちらにせよATmegaでやる時はネットワークはWiznetのW5200チップのモジュールWiz820ioにお任せ予定。他のパターンだと、XBeeの無線LAN版とか、ROHMのBP3591とか。データ持ってきてもATmega328Pじゃ2kbyteのメモリ内に保存できないから、i2cSRAMとかに置かないと。そうなるとチップが増えて実装面積食ってしまうから、やっぱATmega1284が限度かな。

2013/03/16

もうすぐ静寂?

 上階の「どんどんどんどんドン」と歩くお子様が居る家族が引っ越すらしい。
まだ、トントコしてらっしゃいますが。お子様以外の音は聞こえないんですけどね。いや、大人自体は普段いなくて3歳児が放し飼いにされていたのかもしれない。

 でも、この話が本当だったら福音だ。やっとここに入居した頃の平穏な日々が過ごせる。

マトリックスLED掲示板 1ユニット目完成

20130316_01

 13:00くらいから始めて、動作確認出来たのが17:00。今回2文字分を追加作成したので、1文字あたり2時間ペースの作業です。動作自体はほぼ一発動作。ちょっと障害があったのだけども、前回までに作成してた部分で一部断線してた。(ま、それを切り分けて見つけるまでに30分かかっちゃってます)

20130316_02

 配線はこんなかんじ。いろいろ学習したので2ユニット目はもう少し楽にしたい。裏を見るとバレるんですが、ピンソケットとピンヘッダをつなぐのに立体配線してます。次は手持ちのサンハヤトのシール基板を利用することでピンソケットとピンヘッダの立体配線は避けようと思います。

 次は2ユニット目ではなくて、ブレッドボードで代用している下側のメインのマイコン基板を作成します。

 20130316_03

 追記、今夜はメインのマイコン基板はここまで。もう少しだな。

2013/03/15

電子裁縫かと

20130315_01

 ユニバーサル基板で配線してると縫い物しているみたいだなぁと思った。特に細いETFEとかでホールを通していると。この電光掲示板の回路だと隣のシフトレジスタへカスケードする配線が多いので、先のワイヤーまで一緒に元からくるのと2本を1ホールに通さないとハンダ付け出来ない状態なのですよ。

 本当はUEW線をうまく使いこなせて裏側だけで配線したいよね。電源ライン以外は。地道に練習あるのみ。

 この基板は上にマトリックスLEDが載っかるので上でも下でもどっちでも配線は隠れてしまうので良いのですよ。
 でもUEW線をハンダゴテで被覆を溶かす技は身につけておかなければ。下にあてるかまぼこ板とか有ったほうが良いかな。

 そして、今日ふと気づいた事。Elisaフォントとか美咲フォントみたいな縦ライン毎のフォントを扱うにはanodeコモンのマトリックスのほうが良いなぁと。気づくの遅すぎ?でも、ソースドライバを使わないとイカンのだよね。

2013/03/14

なに!Google Reader 6/30で終了だと

 長いことお世話に成っているWeb版RSSリーダーのGoogle Reader。今朝みたら、妙なダイアログが。
 7/1以降は使えなくなると。代替サービスに移るとかそういうことではないのだよねぇ。

 どこか探さないと。自前で作ってもいいけどねぇ、どの道、掲示板用にRSSとかJSONとかを引っ張って来る物は作るので。既読管理を入れて、GUIを書いて。

 そんな時間あるんかな?

追記)「after 日付」だとその日付は含まれないようで、6/30まで使えるのではなく7/1までなのですかね。

 どうやらみなさん乗り換え先を探しているようで、有名どころは負荷の為かサービス落ちてたりしますね。1ヶ月くらい様子見てから乗り換えるかね。自作?単に取ってきたものを表示するだけなら簡単なのですけど、既読管理がねぇ。どこからでも使えて、未読だけが残っているってのがWebアプリ版RSSリーダーの良い所なのだが。携帯端末のアプリ版で、複数の携帯端末間の既読動機が出来るのあるのかな?でも、実記事にアクセスするときに携帯端末のブラウザになってしまうし。

 あ、SwitchScienceの中の人がつぶやいていてたように、「自前サーバアプリでRSSを収集して自分のGmailにぶん投げる」のが一番手ごろな解決策かもと思えてきた。4月くらいに書いてみようかな。

2013/03/13

ぐだぐだだねぇ

 仕事場は、親の親からの言い分を下に流すだけでグダグダになってます。中間であるひとつ上がポリシーとかちゃんとしてくれるのなら、このグダグダも良いかなと。ちゃんと仕事がやりやすいように出来るポリシーならば。やっぱシオドキなのかしらんこの職場(と書くのは何度目だろう(苦笑))。でも、もう少し見ていたい。うちの若手が頑張っているので。

 とは言うものの、今日もいろいろ状況の急変があったりしてましたが、それの対応の作業とかは結構好きかもしれない。マゾなのかしらん?いや、ポリシーはあるのかわからんけど、対処法を探すのはアリだなと。時間的制約が厳しくなければ。前みたいに平日は深夜まで、土日も急に出てこいとか精神論的になるとMy脳が理解できないのでそれはもう無理です。

 で、今夜はツレは自治会のお仕事でお出かけだったので、帰宅したらキッチンに晩御飯が並んでました。

20130313_01

 メインは羊のステーキなので旨かったです。そのへんで売ってるようなジンギスカン肉では無かったよ。

2013/03/12

「ポウ」ガジェットに向けて

20130312_01

 aitendoさんで売ってる録音再生ICのうち安い方(250円)のISD1730PYを買いました。届いてみたら、太い。Z80かと思った(AVRでもATmegaXX4系のDIPはこの幅ですね。うちにも4つあります。)。350円のISD1820PYの方が細いからそっちにしとけばよかったか?w。

 実際「ポウ」ガジェットを作るかはべつですが、マトリックスLED掲示板で、ジングルを鳴らす位はするかもしれません。

 画像の上の物体は一緒に買った8Ω1.5Wのスピーカーです。

 そして、「これ使えそう!」と思って買い込んだパーツが溜まっていく・・・。 

Making Things See 日本語版

 『Making Things See』日本語版が、どうやら3/26に発売されるようです。
 でも、Ebook版ではないのだよね。どうするかなぁ。

 自宅のモニターの上に鎮座しているKinect for Windowsをいじり倒したい気もするが、そんな時間が何処にあるという気も。あと、今の常用PCがスペック的にギリギリ厳しいのよね。タワーPCを出してきても良いけど、電気10倍くらい使うからなぁ。

 で、これらで遊ぶにはやはり睡眠時間を削るしかないか。ちょっと睡眠パターンの変更を検討予定。

ログを見ていたら

 httpdのログを見ていたら、今朝方4:00台に大量のセキュリティホール探しの痕跡があった。1秒あたり5リクエスト位が5分間。
 まぁことごとく404,400,405を返してる様なので大丈夫だろう・・・か?404なのは実際にURI無いしなぁ。

 接続元のIP調べてみたらQualysのスキャナーの模様。探索して穴があったらサイト管理者にセキュリティ製品を売り込むのだろうか?

2013/03/10

書籍購入

20130310_01

 朝、強い風の中をオリオン書房まで。目的はトランジスタ技術の4月号。雑誌棚の前に平積みになっていたのを手にとって、電気関連のコーナーへ。
 最近はArduino関連が増えてます。ここで平積みになっていた新刊の『Arduinoでガジェットを作ろう!』。ペラペラと中身を見ると、中身のほとんどが回路・基板CADソフトのEagleの内容じゃん。ちょうど良いやとこれもお買い上げしました。発売日2013/2/22なので中身も古くなってないだろうし。ただ、字がデカいので、もう少し小さい方が本が薄くなるのにねぇと思いますが・・・。

2013/03/09

書き直し後

20130309_02

 ちょっと直してみました。右端の1階はB基板ですが。前の図面で、アノード側のSPIの線が一部入れ違ってたのに気づきました。助かった。ブレッドボードなら動かなかった時の直しは簡単ですけど、ユニバーサル基板だとちょっとだけ面倒。うちにははんだシュッ太郎がいるから比較的楽ではありますけど。

うーやりなおしか

20130309_01

 Fritzingで1階のmbed部分を何とか細い基板で収めるべく描いてました。

 だいぶ出来てから、ふと気づいた。

 うはー、1階の一番左の基板にmbedをおいちまった。最初は2階が2枚の状態で描いてたのであまり気にならなかったのですけどね。行方向は右から左なので、一番右にシフトレジスタの開始ピンがあるんですがな。2階の一番右に昨日切り替えのスイッチを配置しようとしてて、左から右へ作図してたのが敗因かな。上のように1階に置き直しを考慮。

 昨日ハンダ付けしてた2階の基板的には特に影響はないのでOK。せっかくなので再度見直します。1階の一番右は上にはみ出す形でA基板にするかも。壁設置だけでなく、PCのモニターの上に設置する事も考えて、細い基板に収めようとしてたのですけどね。

 まぁ、2階の基板は共通になるように考えていたので、結構リカバリーも簡単かも。

2013/03/08

ちょっとだけはんだ付け

20130308_01

 まだ1/3の部分の1/3くらいです。じわじわと。

2013/03/07

今日は暖かかった

 FirefoxのClick to Playを有効にしました。フラッシュ広告も止まるので良いね。
 常用テキストエディタをEmEditorの有料版からMeryに変更しました。EmEditor3個くらいライセンス持ってるけどね。
 LibreOfficeを4.0.1にアップデート。
 そして来年度の第一種電気工事士の受験申し込みはパスです。

 職場のPCがやっとこさWindows7のノートPCに買い変わるようで。英語キーボード機が欲しいとは主張できなかったですがw。外付けすれば良いでしょう。HKLMのレジストリがいじれなくなる前に。今のモニターがHDMI入力がないので、変換ケーブルとアダプタは自前でかわないとなぁ。miniHDMI→DVI-Dの接続になります。アナログRGBでも繋がるんだけど、自分の身体を壊したくないので。

 というか、スギ花粉キツイです。

 今日はゆるい投稿です。

  

2013/03/06

LED電光掲示板3/6状況

 一言言えば、mbed!おまえ太すぎるんだよ。
 両側は1ピンづつダイエットして欲しいなぁ。mbedの現物を持ってるから載っているarmのチップのサイズ的に厳しいですけどね。次世代mbedで細身のタイプが出るのを希望。

20130306_02
 (左から Arduino nano 3.0, Arduino Micro, mbedです。)

 掲示板自体は、結構接続箇所が多いので完成はゴールデンウイークか、梅雨ごろかと。
 4桁づつ1枚の横長基板の実装設計なのでその都度動作の確認報告は入れられると思います。

エーハイム2074のOリング交換

 Oリングセットが届いていたので、取替え。その前に。ワセリンを持っていたはずが見つからず。ツレが前にダブルタップの漏水の時に使ったものを持っていたので分けてもらった。取替え自体はさくっと完了。モーターヘッド側のOリングはだいぶ固くなっていた。

 で、エーハイムの運転セッティングは一旦マニュアルモードにしました。

 今のWindows8にしたPCに、エーハイムコントロールセンターのソフトが入ってなくて、eheim.comで探してダウンロードした。ソフトはココにあります。ページ中程のDownloadsタブを押したあとの左側の一番下。しかも拡張子rarだからね、素人さんお断りの方針なんだろうな。
 で、インストールして起動してもエラー。前にも経験してるので設定ファイル(XML)の前方のゴミを削除。あと、ウチはマイコン関連でシリアルポートを大量に使うためにエーハイムのケーブルがCOM21で認識されていたので、OS側でCOM2に変更して無事接続確認できました。このソフトcomが4くらいまでに無いとうまく認識しないのです。いつの時代だw。

 やはり、日本のエーハイムがコントロールセンターを公開しないのはこういう事情でしょう。ソフトの作りが悪いし、Windows7や8の世界だとProgram filesの中に設定ファイルをおいたら、権限いじらないと修正できないのだよね。

 さて、水漏れは治ったのだろうか?それは次の水漏れまでわかりません。

2013/03/05

またエーハイム水漏れ

 朝、水槽の前に置いてあるFitbit Ariaの体重計で体重を測って床に足をついたら、

  びちょ

 なんか濡れてますけど。

 2週間前に同じ事になったエーハイムの2074。もうすぐ使い始めてから2年になるのでエーハイムタイマーだろうか。保証は3年だけど。出勤前の時間がないときなのでさくさくっと洗ってなんとか水を通して応急処置をして普段より15分遅れで出社。朝ごはんも食べられず。

 短期間で水のトラブルが続くとちょっと困っちゃうな。センシングして水が漏れたらフィルターの電源をオフにして、ランプ光らせる工作でもしようかな。
 とりあえず、Oリングを発注したので届いたら取り替えてみよう。

 物理的にストレーナーの口より下の水位で止まりはしますけど。最悪の状態として水槽の水の2/3が出ちゃうと大変です。40リットルくらいかな。いや自分の水槽は60cm水槽だけど高さが40cmくらいあるのでもっとか。クワバラクワバラ。

新配列でのテスト

20130305_01

 アノード側の配線がなるべく楽になるようにした回路を作ってテスト。このブレッドボード上では楽になるようにはみせませんけどね。LEDの真下にシフトレジスタのICが入る予定なので。

 それに合わせて、フォントデータの変換&文字のシフトの部分のプログラムを変更しました。
多分力技。もっと良い方法ないだべか。
 シフトなんぞこんな感じ。

vram[k][j] = ((vram[k][j] & 0x20) >> 2) + ((vram[k][j] & 0x10) << 1) + ((vram[k][j] & 0x02) << 3) + ((vram[k][j] & 0x01) << 1) +	 ((vram[k][j] & 0x04) >> 2) + ((vram[k][j] & 0x40) >> 4) + ((vram[k][j] & 0x80) >> 1) + ((vram[k+1][j] & 0x08) << 4);

 シフト演算子でローテート出来るか、負数で逆シフトできれば、もう少し綺麗に出来るのだが。こういうシフト・ローテート系はアセンブラで書いたほうが合うし速いんだろうな。

 動作確認が出来たので、工作に入りますかね。

 ちょうど秋月さんから、切り取り可能なピンソケット(これ重宝してます。)と長めの基板対基板向けのピンヘッダが届いたですよ。

 あと、スイッチサイエンスさんでmbed向けのLANコネクタブレイクボードを買った。秋月のパルストランス入りのコネクタは秋月の1.27mmピッチの蛇の目基板だとピンが入るには入るけど、その秋月の1.27mm基板が分厚くて、切り取り加工が大変なので出来合いのスイッチサイエンスさんのキットに走ってしまう。

 で、そのついでに、在庫が復活していたArduino Microをついつい買ってしまったすよ。Arduino nanoより2pin分長いんですが、Leonardoと同じ様にATmega32u4のマイコンなのでUSB接続のアイテムを作ることができるのでアイデアが広がります。マウスの替りとかキーボードの替りみたいなのは簡単にできます。ATmega328PなどでもV-USBとか使えばできますけどね。

2013/03/04

ちょっと方針変更(電光掲示板)

 (下記配線図はてけとーなので概念の参考程度にしてください)

20130304_01

 本番機の配線を検討中。2階建てで横方向のシフトレジスタはLEDの真下に配置。1階のマイコンからはSPI 3線でインターフェイス。縦方向のシフトレジスタとシンクドライバは1階に設置して、8本のピンで2階とつなぐ。

 で、ちょっと方針変更して試してみる予定。

20130304_02

 LEDのアノードとシフトレジスタ間をビットが連番になるように配線するのではなく、なるべく配線が楽になるように。これをソフト側で吸収してみる感じ。
 どのみち、立て配列のフォントデータは横に変換する過程が必要だし。それより横スクロールのシフト動作が単純なシフト命令+右隣のMSBを持ってくるってだけではすまなくなるなぁと。1回のシフトで済んでた前半部分が7回のビット移動になる。
 人間の目の反応もあるからそれほど厳しくはないと思うけど、遅いようだったら、シフト前からシフト後に変換する256byteの変換配列使えば大丈夫かなと。フォントデータ自体を転置しても高速化できる。
 ちょっとブレッドボードで試してみる予定。

 で、上記の投稿画像をアップして気づいた。

20130304_03

 シフトレジスタとLED基板のとの配線。右側より左側の方が良いなと。まだ、実物作る前で良かった。自分はなんとなく左端から揃えたがる正確なのかなw。実際にはもっと発想の転換の余地もあるのだろうなあ・・・と。

 晩御飯食べた後見直してたら間違い発見。

20130304_04

 これが正しいアノード接続かな。連番ではない物は落ち着いて考えないとミスしますね。

2013/03/03

やっぱ平面だと面積を取るので(マトリックスLED)

20130303_02

 ブレッドボードでつくったミニ8×8マトリックスLED基板の段重ねPCB基板の設計をしてた。やはりブレッドボードは楽だけど、場所取るので小さくしたいかなと。合間にシフト演算のコードを書き直してたら、ツレがピアノ楽曲を聞き出してちょっと困ったけど。シフト演算みたいなのは得意では無いので出来れば静かな環境で検討したいのだが。

 で、設計結果は結局上記画像のような3枚重ねの基板になってしまった。うちには、基板と基板をつなげるほどの長いピンヘッダは在庫が無くなっている。なので秋月に発注しました。

 このままミニ基板を作ってもなぁという感じがするので、本基板の配線を考えます。10桁~12桁くらいの予定。美咲フォトのままで。段重ね二段にするので、最初はmbedで楽して、あとでATmega1284化かな、そこまで気力と時間が取れるだろうか?

2013/03/02

マトリックスLEDでニュース表示


 (カクカクするのはうちの撮影してるスマフォのmicroSDの性能の所為です)

 午前でスクロールが出来たので、午後はまずLANに接続。NTPで現在時刻をRTCにセットしたり。
 で、プチ問題発生。最近、mbedの新しいライブラリをいじってなかったのであるが、Ethernet周りやそれに付随するプロトコル周りのドライバが新しくなってて、それの把握と対応でちと時間かかった。(mbed2.0のやつなのか?スレッドまで要らないしタイマー割り込みで良いと思ってるのだが。)

 とりあえず、NTPとhttpは喋れるようになったので、自鯖の中継PHPを作成。いまのmbedのソフトはSJIS専用だし、今後もUTF8に対応する気はない。UTF8→SJISのコンバート配列かUTF8ベースのフォントデータが有れば違いますが。
 google newsを拾ってきてSJIS変換するようにして完了。

 mbed側も、保存バッファが1024byteだと妙なので4096byteに拡張。サイズチェックは入れてるので、はみ出したら表示されないだけで、メモリを壊す事はないだろう。ニュースは3回まわったら次を取りに行くようにしてみた。

 大体こんなかんじで、あとはニュースサイトを増やしていけば良いかな。天気情報取得の為にWeather Undergroundも登録しました。

 次はスイッチによる割り込みでの表示内容変更だ。ニュースとか、時刻表とか、天気とかを優先表示させるとか。でも、この辺りのソフト系は平日でもできるから、それよりハードよりの音声、音楽系を明日やろうと思う。
 でも、実際にニュースとかをみてみると・・・。1文字16×16にしたい気がする。今の8x8LEDを4個使えば1文字表すことが出来る計算。行の方向の電力量がキビシーし、財布にも厳しい。8×8で100円のでも、10文字だと4,000円ですよ。無理無理。それよりSBCSを半分幅でDBCSと同時表示できるソフトにするのが先だ。

 ともあれ回路も固まってきたし、ソフトの改造と並行して本番のパーツで作りはじめましょうかね?1日2こ程度で。

マトリックスLEDで枕草子

 昨日の予定どおり、バッファ入りのスクロールにしました。

 文字列は、起動時にシリアルコンソールから投入できます(但し2byteのSJISのみ。1024byteまで。)。素直にLocalFileSystemのフラッシュメモリにSJISファイルを置いて読み込んだほうが、fgetcしつつEOFになったら巻き戻せば良いので楽だったと思われる。

 ベース動作が確認できたので、表示するネタ文章をネットから取ってくる部分を作成します。

2013/03/01

マトリックスLEDのToBE

今作ってるマトリックスLEDによる電光掲示板。その目標を挙げてみる。

・ニュースや天気予報(自宅ピンポイント)の表示。
・バス、電車の直近からその2つあとくらいまでの時刻表示およびバス、電車の運行状況表示。
・気温などの自宅センサーの値を表示。
・自分が会社から帰るときにWebでセットして、「まもなく○○が帰宅します。」とか東海道新幹線の停車前のメロディも付けたい。
・AquesTalk picoを付けて表示内容を喋らせる。

などを想定しています。

あ、忘れてた。

・フォントをi2cなEEPROMとかに置いて脱mbedしてAVRで駆動。

 ここまで行きたいかな。ただAVRだとネットワークをwiznetに依存するのだけど、安定性が・・・。でも、最近wiznetのW5100を使ってる金魚水槽カメラは安定してるなぁ。やっぱ放熱が問題か?このチップ滅茶苦茶熱を出すので。
 SPIを3つ(LANと、LEDの縦と横)使う事になるが大丈夫だろうか?ワクワク。

今日のEIC-108(マトリックスLEDテスト)

20130301_01

 ちょっと変更。

 うっかりしていて、mbedにLANコネクタを付けるピンが取り出せなくなっていたので、mbedをずらした。

 そして、リセットボタンが押しにくくなったので、タクトスイッチでリセットスイッチを増設。

 あとは、LEDの横方向の配線を逆にしたほうが良いかもと思っている。現状は左側がlsbで右側がmsb。まぁ、ソフトウエア的にはなんとでもなるから現状でも構わないのだけど。左から右、上から下の方が高齢な自分が理解しやすいだけです。

 ソフトウエアの方は、単純スクロールしてみた。この土日で何処まで出来るだろうかね。とりあえず一番右に見えないバッファをおいて、そこにフォント投入してスクロールにしないとね
 

フォントデータを読み込んでの表示

 向きだのビット順だのですったもんだしましたが、表示できました。おかげでビット演算に慣れてきた。
 やはり、フォンデータの作りと実回路が縦にも横にも逆なので、高速化するには回路の逆転が必要かな。そこまでの速度は無くても大丈夫なようですが。

20130228_02

「ひなまつり」。ひらがな程度ならOK。

20130228_03

 「重要文化財」。意外と読めるかな。実質7×7のフォントデータだけど美咲フォントあなどれないね。

 次は横スクロールの予定です。