3: 2009-11-19 (木) 19:30:51 sho | 4: 2009-11-20 (金) 14:33:44 sho | ||
---|---|---|---|
Line 6: | Line 6: | ||
処理の流れを描いた図を見て下さい。次はセンサ値とある閾値を比較するというところです。センサ値の範囲は0~255である事を確認しました。閾値はとりあえず100にします。後で必要に応じて調節して下さい。~ | 処理の流れを描いた図を見て下さい。次はセンサ値とある閾値を比較するというところです。センサ値の範囲は0~255である事を確認しました。閾値はとりあえず100にします。後で必要に応じて調節して下さい。~ | ||
#ref(Warning_pp1.png,100%) | #ref(Warning_pp1.png,100%) | ||
- | もしセンサ値が100以下なら何もしない、100より大きければブザーを鳴らすという条件分岐です。条件分岐はif文を使います(if文の詳細は[[こちら>FDIII-HC Starter Kit Guid Chapter1.4>#c6144380]]を参照して下さい)。~ | + | もしセンサ値が100以下なら何もしない、100より大きければブザーを鳴らすという条件分岐です。条件分岐はif文を使います(if文の詳細は[[こちら>FDIII-HC Starter Kit Guid Chapter1.4#c6144380]]を参照して下さい)。~ |
センサ値表示の後ろに | センサ値表示の後ろに | ||
if(ReadData > 100) { | if(ReadData > 100) { | ||
Line 33: | Line 33: | ||
**警報器を動かす [#ybaa88fa] | **警報器を動かす [#ybaa88fa] | ||
#ref(Warning_pp2.png,100%) | #ref(Warning_pp2.png,100%) | ||
+ | #include <fd.h> | ||
+ | |||
+ | void main (void) { | ||
+ | uint8_t ReadData; | ||
+ | |||
+ | fd_Init (0, BT_CONSOLE, 0, 7.4); | ||
+ | |||
+ | while (1) { | ||
+ | fd_DXReadByteData (100, 27, &ReadData); | ||
+ | fd_printf("%3d\r", ReadData); | ||
+ | if(ReadData > 100) { | ||
+ | fd_DXWriteByteData (100, 40, 10); | ||
+ | fd_DXWriteByteData (100, 41, 10); | ||
+ | } | ||
+ | } | ||
+ | } | ||
プログラムが完成しました。隙間を含めてもたったの16行です。如何ですか?~ | プログラムが完成しました。隙間を含めてもたったの16行です。如何ですか?~ | ||
意外と簡単だと感じられたでしょうか?~ | 意外と簡単だと感じられたでしょうか?~ |