リスト6-1 Index.htm
LM35による温度計
---
リスト6-2 Ondo.wcr
//------------------------------------------------------------------------
// [ Ondo.wcr ] LM35からA/D変換値として取得
// SSIを使ってブラウザがHTMLデータを読み込むときに実行されます
//------------------------------------------------------------------------
Function main()
{
var LogFile = "E:\\log.txt"; // USBメモリへのパス名
// Dドライブへ変更するだけでCFメモリへ出力可能
var fd, Adc;
var Temp, Temp_text, H_text, L_text;
adc = getadc ( 0 ); // A/D変換 Ch:0
// LM35出力電圧 : 10mV/℃
// AD分解能 : 3.2226mV
Temp = adc * 3.226 / 10.0; // 10mV / 3.2226mV = 3.103
// 少数2桁目から切り捨て処理
Temp_text = uintstr( Temp * 10 ); // 1/10℃以下消去
H_text = left( Temp_text, ( len ( Temp_text ) - 1 ) ); // 実数抽出
L_text = right( Temp_text, 1 ); // 少数抽出
Temp_text = H_text + "." + L_text;
// CF/USBメモリへ保存
fd = fileopen( LogFile, "a" ); // 追記モードでOPEN
if ( fd < 0 ) {
fd = filecreat( LogFile, "w" ); // OPENできなければ作成
}
if ( fd >= 0 ) {
NowDay = getdatestring( "yyyy/MM/dd" ); // RTCから日付を取得
NowTime = gettimestring( "HH:mm:ss" ); // RTCから時刻を取得
Temp = "%NowDay% %NowTime% - %Temp_text%\n"; // ファイルへ書き込む文字列を生成
filewrite( fd, Temp ); // 書き込み
fileclose( fd );
}
// HTMLデータとして出力
webprint( "" ); // ボールド(太字)指定
webprint( "" ); // フォント指定 色:青, サイズ:+1
webprint( Temp_text ); // 温度の出力
webprint( "" );
webprint( "" );
}