1: 2010-10-05 (火) 18:22:05 eid7gud | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | TITLE:FDIII-HC Starter Kit Guide Chapter9.2 | ||
+ | *プログラミング [#y7235230] | ||
+ | **赤外線反射センサの値を見る [#z35247e6] | ||
+ | 先ず白い地面と黒い地面で赤外線反射センサの値がどのように変化するかを確認します。 | ||
+ | GCC Developer Liteを起動します。以下を入力します。 | ||
+ | |||
+ | #include <fd.h> | ||
+ | #define KEY_QUIT { if(fd_rx_buff()) fd_SoftReset();} | ||
+ | |||
+ | void main (void) { | ||
+ | uint8_t ReadData; | ||
+ | |||
+ | fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4); | ||
+ | |||
+ | fd_DXSetEndlessTurn (1, 1); | ||
+ | fd_DXSetEndlessTurn (2, 1); | ||
+ | |||
+ | while (1) { | ||
+ | fd_DXReadByteData (100, 28, &ReadData); | ||
+ | fd_printf ("%3d\r", RightData); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | fd_DXSetEndlessTurnでエンドレスターンの設定、fd_DXReadByteDataで赤外線反射センサの値を取得、fd_printfで表示します。 | ||
+ | |||
+ | ここまでは前章と同じです。プログラムを書き込んで実行してみましょう。 | ||
+ | |||
+ | 如何でしょうか?~ | ||
+ | おそらく赤外線反射センサを白い地面の上に置いても、黒い地面の上に置いても値は255と表示されるでしょう。~ | ||
+ | 地面との距離が近過ぎて、地面が白くても黒くても値が最大の255に鳴ってしまっています。 | ||
+ | |||
+ | それではセンサを地面から15cmくらい離してみてください。~ | ||
+ | 白い地面の上にいる時と黒い地面の上にいる時で値が変わるのが分かるでしょうか?~ |