19:15ごろ帰宅。
mbedにつないでいるmicroSDと23K256のSPIバスを別のにしました。具体的には23K256のSPIをpin11,12,13へ移動。その余波でXBeeとつないでいるtx pin13が使えなくなったので、tx,rxをpin9,10へ移動。
こないだのようにまずブレッドボードでテストした上で、A基板上の配線を変更。プログラム上のpin設定を変更して完了。 手術時間、ブレッドボード事前テスト、事後プログラムテストも含めて1時間って所でした。
今日ももう遅いのでLCD表示内容の見直し(6つのセンサー受信時刻を「時分」から「分」だけに詰めて、空きスペースに電力消費量を表示する。)や紙ケース作成はまた明日以降です。ケースは紙じゃなくて、プラ板やアクリルの板で前と後ろを覆うタイプでもいいなぁと思ってます。
「マイコン」一覧
20×4桁でも悩む液晶表示
午前中はmbed A基板にリセットスイッチや電源スイッチを付けました。リセットスイッチがあるとデバッグが楽です。
一応、mbed本体にリセットスイッチが付いてますが、これがかたくて押しづらい。
ゆっくり音声合成ICことAquesTalk pico。当初の予定地が手違いで埋まったのもあって、LCDの下に仮に場所決め。C基板で2階建ても検討しましたが、1階に足場を立てるのに良い場所が無かった。ある程度計画の行き当たりばったり配線だもんw。プリント基板作成サービスがもう少し安くなってきたらそっちも考えないとね。FusionPCBなどの中国サービスだと結構安くはなってきてますし(国内のサービスだと桁が1つ上がる)。
お昼はツレといつものお寿司屋さんへ。回転ですけど美味しいです。真鯛、生鯖、さより、いさき、アジ、〆イワシなどなど。帰りにかりんとうたい焼きと「しゅんかしゅんか」で今年初の「のらぼう菜」GET!!。
さて、液晶が広くなったので、午後はLCDの表示内容を変更しました。下の画像の通り。C2359の部分は豆カメラデータ受信時にはチャンクカウンタになります。1行目は過去数回の平均と比べて↑↓とか表示させたいのだけども、矢印フォントが←→しかないのでフォント作成必要。まぁ、作れば出来ることではある。
これでもまだ、もう1枚載せたいくらい。mbedだとピンが多いからもう一枚なら行けると思う。今のこの基板じゃコネクタ置けませんけどね。次なるバージョンで考えてみようかな?20×4のLCDはバックライト付き3.3V駆動が1枚ある。128×64のグラフィック液晶も1枚ある。
mbed的には
こんな感じでまだまだ余裕あります。グラフィックLCDで漢字フォント使う時はちと考慮かな?SDが駄目ならi2C接続のEEPROMもあるのでやりようはあるだろう。
この後の他の改良点としては、
平日夜に紙でカバーを作成する。
SPIバスの2つのデバイスを使えるように調査。
音声で出力できるようにAquesTalk PICO導入。
の3本です。んがぐぐ。あ、今日は火曜日だった。
mbedのSPI
昨日上手く使えてなかったシリアルSRAM 23K256の再テスト。検索してみるとCSをプルアップするという例もあったので、プルアップしてみたが駄目。オシロスコープで波形みないと駄目かなあぁと思いつつ、まずはmbedをブレッドボードに移して実験。
23K256のCSピンをいろいろ変えていくが駄目。microSDのCSがつながっている、pin8を使うと問題なく動作した。mbedで工作しているサイトだとたいていCSにこのpin8を使っている。このpinはデジタル入出力しか昨日が無いのとSPIのクロックpinのすぐ横だからだろう。
この状態でmicroSD側をpin15にして試してみると・・・あ、両方共動作するなぁ。SDFileSystemのライブラリは大丈夫で23K256のライブラリが微妙なのかもしれない。オシロつないでみるかな?
追記(23K256のライブラリは濡れ衣でした。自分のプログラムでSPIのピン設定をしてる所が2ヶ所あって、片方直してなかったや。)
あ、でも、相互にmicroSDと23K256を使ってるとSDでファイルオープンできなくなるなぁ。ハマリそうだから後回し。
と、今回は動作優先でA基板の2つのSPIデバイスのCSを入れ替えることにしました。
mbed 集中管理モニター まず完成
予想通り、本日夜にハード部分完成。ソフトは動作に必要なLCD周りやSPI SRAMのCSピンなどハード的に変更した部分のみ修正。まぁ、動いてます。ちと失敗したのが、AquesTalk picoを載せようと思ってた基板上の空きスペース。うっかり配線を最短距離で引いてしまって場所が減りました。ま、はんだシュッ太郎くんで線付け直せば良いんでそのうち修正しましょう。
また、紙カバー作成しますかね。せっかく液晶が 16×2から 20×4になって表示可能文字数が増えたので、ベランダの気温、湿度、気圧なども表示させよう。あと、降雨センサーを作成して、雨が降ってきたらAquesTalkで「雨がふってきました」とか言わせたいですね。
で、動いてるように見えてましたが、SPI SRAMが読めてないなぁ。かけてないのかもしれん。これ前にArduinoでも同じようなことがあって、その時はSDカードを使わない事で解決したのでした。今回は使える方向で解決したいなぁ。最悪、mbedはSPIが2つあるのでXBeeを13,14から9,10に変更すればいけますけど。もう1:00なのでまた明日調査。
mbed A基板の工作に入る前のテスト
A基板の配線はFritzingで絵を書いてますが、まずはブレッドボード上で試しておこうと思って今夜実行。
LANやXBeeは間違いないと思うので省略。初めて扱う20x4のLCDと秋月のmicroSD DIP化基板とシリアルSRAMのSPI同一バス上動作の確認。
ご覧のような手抜きのジャンプワイヤだけの配線で済まして。mbedのテストソフトを書いていざ勝負。まぁ、問題なく動きましたとよ。って、SPIの2デバイス。ソフト上でCSを同じピンで書いてしまってこけてましたけどね。すぐ気づいてなおしました。