投稿

ラベル(i2c)が付いた投稿を表示しています

Koshianのレッスンゴレライ7(キャラクタグラフィックス)

イメージ
キャラクタグラフィックスモジュールの接続テストです。 SunlikeDisplay社の SO1602AWGB-UC-WB です。有機ELなのでLCDよりも見やすく低消費電流です。 テストコード

Koshianのレッスンゴレライ5(大気圧センサー)

イメージ
前回 に続いて、I2Cに手持ちの大気圧センサーを繋いでみました。 秋月電子で購入したモジュールです。Freescale社のMPL115A2と、パワーインジケータ用LEDとパスコンが載っています。 秋月電子の提供資料だと不明点が多いので、 データーシート を読みましょう。 単4アルカリ乾電池2ケ直列の約2.7Vで動作させています。 I2Cバス上に繋ぐデバイスが増えてきたので、 温度センサーモジュール 上のプルアップ抵抗10KΩでは信号波形劣化が不安なので、半田ジャンパーをカットして、SCLとSDAを4.7KΩのプルアップに変更しました。 テストコード JSLintがビット演算を許してくれないので(無視すれば良いのだが)、ビットシフトの代わりに掛け算、割り算で実装しています。 javascriptの数値演算はIEEE754の浮動小数点で行われるそうなので、デバイスが意図する計算値とは誤差が発生しますので、測定精度を期待する場合にはオススメできませんのでご注意を。 また、気圧計算に使用するCoefficient値 a0、b1、b2、c12はデバイス個々の固有値として格納されており変化しませんので、一度読み出して事前計算して定数としてプログラムに組み込んでしまうのも有りですね。 Tips 純粋にjavascriptのみのコーディングであればBracketのデバッグ機能やPCブラウザの開発モードを利用したデバッグができますが、konashiによるBlueTooth通信が含まれると実行できないので、(javascript初心者なもので)嵌りだすと何が何だか判らなくなって困っていたところ、konashi.jsアプリ画面にオーバレイしてデバッグログを表示してくれる log functions がありました。 デバッグログ画面が小さいので、iPhoneの横幅一杯に表示し、表示位置を下詰めにするカスタマイズ版を参考まで。赤文字部分が変更部分です。 //debuglog表示カスタマイズ function showMyDebugLog() {     "use strict";      var debugConsole = document...

Koshianのレッスンゴレライ4(温度センサー)

イメージ
今夜はi2c通信のレッスンです。 以前RaspberryPiに繋いだ温度センサー ADT7410 を使用します。 秋月電子で購入したモジュールです。 ADT7410とプルアップ抵抗が載っているだけです。 Koshianのi2cに接続する時は、J1とJ2を半田でショートし、SCLとSDAのプルアップ抵抗を有効にしておきます。 テストコード k.i2cMode(k.KONASHI_I2C_ENABLE_400K);  iPhoneとKonashiの通信が確立したら、まずはi2c通信を有効にします。注)通信レートは100Kbpsと400Kbpsのいずれかを、接続するデバイスに合わせて選択します。 timer_hdl = setInterval(function () {      k.i2cStartCondition();      k.i2cWrite(1, 0x00, adr_adt7410);   //アドレス指定      k.i2cRestartCondition();      k.i2cReadRequest(2, adr_adt7410);   //測定値読み出し要求      $("#message").html(count);      count = count + 1;  }, 1000);  setIntervalにて1秒周期で、ADT7410から2バイトの測定値読み出しを要求しています。注)スレーブアドレスは接続するデバイスに合わせます。 k.completeReadI2c(function () {     "use strict";     k.i2cStopCondition();     k.i2cRead(2, function (data) {         var readdata = 0, temp = 0;     ...