投稿

6月, 2015の投稿を表示しています

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;               readdata = (data[0] * 256) + data[1];         $("#readdata").html("ADT7410 read " + readdata);         temp = re

Koshianのレッスンゴレライ3(ADC入力)

イメージ
今夜はADC入力を試してみました。 KoshianにはADC入力が3チャンネルあります。 基準電圧は1300mVで、0V〜1300mVのアナログ入力値が得られるようです。 テストコード iPhoneとKoshianが接続できたら、500msec周期でAIO0、1、2のADC値取得要求を発行します。     timer_hdl = setInterval(function () {         k.analogReference(function (data) {             $("#reference").html("Reference voltage " + data + "mV");         });         k.analogReadRequest(k.AIO0);         k.analogReadRequest(k.AIO1);         k.analogReadRequest(k.AIO2);         $("#message").html(count);         count = count + 1;     }, 500); iPhoneにADC値が通知されると、ADCチャンネル毎にイベントが発生しますので、iPhoneの画面に取得した値を表示しています。 k.updateAnalogValueAio0(function (data) {     "use strict";     $("#adinput0").html("ADC0 input voltage " + data + "mV"); }); 次回は、I2C通信で温度センサーを繋いでみます。

Koshianのレッスンゴレライ2(PWM出力)

イメージ
Konashi.jsを利用してGPIO端子のPWM出力でLEDの輝度を可変してみました。     k.pwmMode(k.PIO1, k.KONASHI_PWM_ENABLE);     k.pwmPeriod(k.PIO1, 1000);     k.pwmDuty(k.PIO1, 20); とする事で、周期1000usec、パルス幅20usec のPWM出力となります。 テストコード jsdo.it使用上の注意 jqueryを使用してテストコードを書いていたところ、異常な挙動に悩まされました。 調査の結果、HTMLにbodyタグを記述すると異常な挙動を起こします。 jsdo.it上でjavascriptとHTMLの記述欄が別になっていますが、ブラウザから見た時のソースを確認したところ、以下の様になります。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /><title>レッスンゴレライ2 - js do it</title> <meta name="Description" content="jsdo.it - share JavaScript, HTML5 and CSS - " /> <meta name="Keywords" content="JavaScript,HTML5,CSS" /> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1"> <style type="text/css"></style></head> <body> jsdo.it HTML欄への記述 <script type="text/javascript&quo