(57)【要約】【課題】  自動水栓装置等で利用される反射型の非接触アクティブセンサを用いた人体検出装置おいて、蛍光灯から放射された赤外線がセンサに入射し、分散値や標準偏差が大きくなった場合でも、人体の有無を正しく検出する。【解決手段】  自動水栓装置１の水栓本体内に内臓された光センサ１０の投光部１１から赤外光を投光し、その反射光を受光部１２で検出した検出信号のデータを周期的にサンプリングし、最新のデータを含む連続してサンプリングされた複数個のデータから平均値および分散もしくは標準偏差を演算し、平均値に基づいて人体の有無を検出する人体検出装置において、平均値が人体有りの閾値以下の状態で分散もしくは標準偏差が所定値以上となったとき、現在の状態が人体無しであれば人体無しを継続して検出し、現在の状態が人体有りであれば人体有りを継続して検出する。【選択図】  図１
2005105681.tif 000002
【特許請求の範囲】
【請求項１】
赤外線等の光を投光する投光部と、前記投光部から投光された光の反射光を含む光を受光する受光部とを有する非接触アクティブセンサと、前記受光部の検出信号のデータを周期的にサンプリングするサンプリング手段と、前記サンプリング手段によりサンプリングされた複数個のデータから平均値を演算する第一の統計演算手段と、前記複数個のデータから分散値もしくは標準偏差を演算する第二の統計演算手段と、前記第一の統計演算手段と前記第二の統計演算手段の出力に基づいて検出対象物の有無を判定する物体有無判定手段と、前記物体有無判定手段の前回の判定結果を記憶する判定結果記憶手段とを備えた人体検出装置において、前記第一の統計演算手段の前記データの演算結果が所定の閾値未満で、前記第二の統計演算手段の前記データの演算結果が所定値以上のときは、前記判定結果記憶手段に記憶されている判定結果を前記物体有無判定手段が継続することを特徴とする人体検出装置。
【請求項２】
赤外線等の光を投光する投光部と、前記投光部から投光された光の反射光を含む光を受光する受光部とを有する非接触アクティブセンサと、前記受光部の検出信号のデータを周期的にサンプリングするサンプリング手段と、前記サンプリング手段によりサンプリングされた複数個のデータから平均値を演算する第一の統計演算手段と、前記複数個のデータから分散値もしくは標準偏差を演算する第二の統計演算手段と、前記第一の統計演算手段と前記第二の統計演算手段の出力に基づいて検出対象物の有無を判定する物体有無判定手段と、前記第一の統計演算手段の前記データの演算結果が所定の閾値未満で、前記第二の統計演算手段の前記データの演算結果が所定値以上のとき、前記非接触アクティブセンサは前記投光部から投光を行わずに前記受光部の検出信号のデータを前記サンプリング手段によりサンプリングし、前記投光を行わずにサンプリングされた複数個のデータから少なくとも一種類の統計値を演算する第三の統計演算手段と、前記第三の統計演算手段の演算結果に基づいて検出対象物の有無を判定する第二の物体有無判定手段を備えた人体検出装置において、前記第三の統計演算手段の前記データの演算結果が所定値以上のとき前記第二の物体有無判定手段は検出対象物無しと判定し、前記第三の統計演算手段の前記データの演算結果が所定値未満のとき前記第二の物体有無判定手段は検出対象物有りと判定することを特徴とする人体検出装置。
【請求項３】
請求項２記載の人体検出装置において、前記サンプリング手段は投光を行わずに前記受光部の検出信号のデータをサンプリングする場合、投光を行い前記受光部の検出信号のデータをサンプリングするときより短い周期で前記検出信号のデータのサンプリングを行うことを特徴とする人体検出装置。
【請求項４】
請求項２乃至３記載の人体検出装置において、前記第三の統計演算手段は、前記第一の統計演算手段と前記第二の統計演算手段よりも少ないデータ数で演算することを特徴とする人体検出装置。
【請求項５】
赤外線等の光を投光する投光部と、前記投光部から投光された光の反射光を含む光を受光する受光部とを有する非接触アクティブセンサと、前記受光部の検出信号のデータを周期的にサンプリングするサンプリング手段と、前記サンプリング手段によりサンプリングされた複数個のデータから平均値を演算する第一の統計演算手段と、前記複数個のデータから分散値もしくは標準偏差を演算する第二の統計演算手段と、前記第一の統計演算手段と前記第二の統計演算手段の出力に基づいて検出対象物の有無を判定する物体有無判定手段と、前記第一の統計演算手段の前記データの演算結果が所定の閾値未満で、前記第二の統計演算手段の前記データの演算結果が所定値以上のとき、前記非接触アクティブセンサは前記投光部から投光を行わずに前記受光部の検出信号のデータを前記サンプリング手段によりサンプリングする動作と、前記投光部から投光を行い前記受光部の検出信号のデータを前記サンプリング手段によりサンプリングする動作とを交互に行い、前記投光を行わずにサンプリングされた複数個のデータから少なくとも一種類の統計値を演算する第三の統計演算手段と、前記第三の統計演算手段の演算結果に基づいて検出対象物の有無を判定する第二の物体有無判定手段を備えた人体検出装置において、前記第三の統計演算手段の前記データの演算結果が所定値以上のとき前記第二の物体有無判定手段は検出対象物無しと判定し、前記第三の統計演算手段の前記データの演算結果が所定値未満のとき前記第二の物体有無判定手段は検出対象物有りと判定することを特徴とする人体検出装置。
【請求項６】
請求項２乃至５記載の人体検出装置において、前記第三の統計演算手段で演算される統計値が、平均値、分散値および標準偏差の少なくとも一種類であることを特徴とする人体検出装置。
【請求項７】
請求項１乃至６のいずれかに記載の人体検出装置と、水の給水を行う給水手段と、前記人体検出装置の出力により前記給水手段の制御を行う制御手段とを備えたことを特徴とする自動水栓装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動水栓や小便器あるいは大便器の自動洗浄装置のように人体を検出して自動作動する装置で用いられる人体検出装置に係り、特に検出信号データの変動の大きさから人の動きを検出する人体検出装置に関する発明である。 
【背景技術】
【０００２】
従来の人体検出装置は、非接触アクティブセンサの投光部から赤外線等の光を投光し、その反射光を受光部により受光し、そのの検出信号のデータを周期的にサンプリングし、連続してサンプリングされた複数個のデータから分散値もしくは標準偏差を演算し、その分散値もしくは標準偏差が所定値以上である状態が所定時間継続すると、人体ありを検出するようにしている（例えば、特許文献１参照。）。 
【０００３】
しかしながら近年、洗面所やトイレ内においてもインバータ蛍光灯が設置されることが多くなっているが、インバータ蛍光灯の中には点灯直後から数分間にわたって多量の赤外線を放射するものがあることが分かってきた。そのため蛍光灯から放射された赤外線がセンサに入射するタイミングと、受光部の検出信号のデータをサンプリングするタイミングとが一致したときは、受光部の検出信号データが本来の値より大きくなり、蛍光灯から放射された赤外線がセンサに入射するタイミングと、受光部の検出信号のデータをサンプリングするタイミングとが一致しないときは、受光部の検出信号のデータが小さくなるため、実際には人がいないにもかかわらず分散値や標準偏差が所定値より大きくなってしまい、誤って人体有りを検出してし自動水栓が勝手に吐水するうという問題があった。
【特許文献１】特開平７−２３３５４８号公報（第６−７頁、図６）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上記問題を解決するためになされたもので、本発明の課題は、蛍光灯から放射された赤外線が非接触アクティブセンサの受光部に入射し、そのため受光部の検出信号のデータが変動し、人がいない状態にもかかわらず分散値や標準偏差が大きくなった場合でも、人体の有無を正しく検出することができる人体検出装置を提供することである。
【課題を解決するための手段】
【０００５】
上記目的を達成するために第１の発明は、赤外線等の光を投光する投光部と、前記投光部から投光された光の反射光を含む光を受光する受光部とを有する非接触アクティブセンサと、前記受光部の検出信号のデータを周期的にサンプリングするサンプリング手段と、前記サンプリング手段によりサンプリングされた複数個のデータから平均値を演算する第一の統計演算手段と、前記複数個のデータから分散値もしくは標準偏差を演算する第二の統計演算手段と、前記第一の統計演算手段と前記第二の統計演算手段の出力に基づいて検出対象物の有無を判定する物体有無判定手段と、前記物体有無判定手段の前回の判定結果を記憶する判定結果記憶手段とを備えた人体検出装置において、前記第一の統計演算手段の前記データの演算結果が所定の閾値未満で、前記第二の統計演算手段の前記データの演算結果が所定値以上のときは、前記判定結果記憶手段に記憶されている判定結果を前記物体有無判定手段が継続するようにしたので、人がいない状態で平均値が低いにもかかわらず分散値や標準偏差が大きくなったとしても人体有りとはならないため、蛍光灯から放射された赤外線の影響によりセンサの受光信号レベルが変動しても正確に人体有無を検出することが可能となり、また受光信号レベルの平均値により一旦人体有りとなってから分散値や標準偏差が大きくなった場合、人の手や身体の動きによる受光信号レベルの変動であることを検出し、人体有り状態を継続して検知することができるため使い勝手が悪くなることもない。
【０００６】
第２の発明は、赤外線等の光を投光する投光部と、前記投光部から投光された光の反射光を含む光を受光する受光部とを有する非接触アクティブセンサと、前記受光部の検出信号のデータを周期的にサンプリングするサンプリング手段と、前記サンプリング手段によりサンプリングされた複数個のデータから平均値を演算する第一の統計演算手段と、前記複数個のデータから分散値もしくは標準偏差を演算する第二の統計演算手段と、前記第一の統計演算手段と前記第二の統計演算手段の出力に基づいて検出対象物の有無を判定する物体有無判定手段と、前記第一の統計演算手段の前記データの演算結果が所定の閾値未満で、前記第二の統計演算手段の前記データの演算結果が所定値以上のとき、前記非接触アクティブセンサは前記投光部から投光を行わずに前記受光部の検出信号のデータを前記サンプリング手段によりサンプリングし、前記投光を行わずにサンプリングされた複数個のデータから少なくとも一種類の統計値を演算する第三の統計演算手段と、前記第三の統計演算手段の演算結果に基づいて検出対象物の有無を判定する第二の物体有無判定手段を備えた人体検出装置において、前記第三の統計演算手段の前記データの演算結果が所定値以上のとき前記第二の物体有無判定手段は検出対象物無しと判定し、前記第三の統計演算手段の前記データの演算結果が所定値未満のとき前記第二の物体有無判定手段は検出対象物有りと判定するようにしたので、蛍光灯から放射された赤外線により受光信号レベルが変動している場合でも、センサからの投光を行わない状態でサンプリングした受光信号レベルにより、蛍光灯から放射された赤外線のレベルを検出し、もしそのレベルが高ければ人の動きにより受光信号レベルが変動し分散値や標準偏差が大きくなっているのではなく、蛍光灯からの赤外線の影響によるものであることがわかるため、人がいないことを検出することができ、また人の手や身体の動きによりセンサの受光信号レベルが変動している場合は、投光を行わないでサンプリングしたときの受光信号レベルが低いため、人がいることを検出することができ、人体の有無を正確に検出することが可能となる。
【０００７】
第３の発明は、前記サンプリング手段は投光を行わずに前記受光部の検出信号のデータをサンプリングする場合、投光を行い前記受光部の検出信号のデータをサンプリングするときより短い周期で前記検出信号のデータのサンプリングを行うようにしたので、投光を行わないで受光信号をサンプリングする動作に移行してから再度投光を行い受光信号をサンプリングするまでの時間を短くすることができ、もし投光を行わないで受光信号をサンプリングする動作に移行した直後に人が来た場合でも、人体有りを検出するまでの遅れ時間を短くすることが可能となり、使い勝手が悪くなることはない。
【０００８】
第４の発明は、前記第三の統計演算手段は、前記第一の統計演算手段と前記第二の統計演算手段よりも少ないデータ数で演算するようにしたので、投光を行わないで受光信号をサンプリングする動作に移行してから再度投光を行い受光信号をサンプリングするまでの時間を短くすることができ、もし投光を行わないで受光信号をサンプリングする動作に移行した直後に人が来た場合でも、人体有りを検出するまでの遅れ時間を短くすることが可能となり、使い勝手が悪くなることはない。
【０００９】
第５の発明は、赤外線等の光を投光する投光部と、前記投光部から投光された光の反射光を含む光を受光する受光部とを有する非接触アクティブセンサと、前記受光部の検出信号のデータを周期的にサンプリングするサンプリング手段と、前記サンプリング手段によりサンプリングされた複数個のデータから平均値を演算する第一の統計演算手段と、前記複数個のデータから分散値もしくは標準偏差を演算する第二の統計演算手段と、前記第一の統計演算手段と前記第二の統計演算手段の出力に基づいて検出対象物の有無を判定する物体有無判定手段と、前記第一の統計演算手段の前記データの演算結果が所定の閾値未満で、前記第二の統計演算手段の前記データの演算結果が所定値以上のとき、前記非接触アクティブセンサは前記投光部から投光を行わずに前記受光部の検出信号のデータを前記サンプリング手段によりサンプリングする動作と、前記投光部から投光を行い前記受光部の検出信号のデータを前記サンプリング手段によりサンプリングする動作とを交互に行い、前記投光を行わずにサンプリングされた複数個のデータから少なくとも一種類の統計値を演算する第三の統計演算手段と、前記第三の統計演算手段の演算結果に基づいて検出対象物の有無を判定する第二の物体有無判定手段を備えた人体検出装置において、前記第三の統計演算手段の前記データの演算結果が所定値以上のとき前記第二の物体有無判定手段は検出対象物無しと判定し、前記第三の統計演算手段の前記データの演算結果が所定値未満のとき前記第二の物体有無判定手段は検出対象物有りと判定するようにしたので、蛍光灯から放射された赤外線により受光信号レベルが変動している場合でも、センサからの投光を行わない状態でサンプリングした受光信号レベルにより、蛍光灯から放射された赤外線のレベルを検出し、もしそのレベルが高ければ人の動きにより受光信号レベルが変動し分散値や標準偏差が大きくなっているのではなく、蛍光灯からの赤外線の影響によるものであることがわかるため、人がいないことを検出することができ、また人の手や身体の動きによりセンサの受光信号レベルが変動している場合は、投光を行わないでサンプリングしたときの受光信号レベルが低いため、人がいることを検出することができ、人体の有無を正確に検出することが可能となる。また投光を行い受光信号をサンプリングする動作と、投光を行わずに受光信号をサンプリングする動作を交互に行っているため、どのタイミングで人が来たとしても、人体有りを検出するまでの遅れ時間を最短にすることが可能となり使い勝手が悪くなることはない。
【００１０】
第６の発明は、前記第三の統計演算手段で演算される統計値が、平均値、分散値および標準偏差の少なくとも一種類であるようにしたので、蛍光灯から放射された赤外線がセンサに入射するタイミングと、受光信号レベルのサンプリングタイミングとが合ったり、合わなかったりすることにより、センサから投光を行わずに受光信号レベルをサンプリングした値に変動があったとしても、蛍光灯から赤外線が放射されているかいないかを確実に検出することが可能となる。
【００１１】
第７の発明は、前記人体検出装置と、水の給水を行う給水手段と、前記人体検出装置の出力により前記給水手段の制御を行う制御手段とを自動水栓装置に備えるようにしたので、自動水栓装置が設置される洗面台等のボールの形状的特徴により、蛍光灯から放射された赤外線が集まり、自動水栓装置のセンサに蛍光灯からの赤外線が多量に入射し、センサの受光レベルが大きく変動したとしても、人が差し出した手の動きによりセンサの受光レベルが変動しているのか、蛍光灯から放射された赤外線によりセンサの受光レベルが変動しているかを確実に検出し、誤動作を防止することが可能となる。
【発明の効果】
【００１２】
本発明によれば、蛍光灯から放射された赤外線がセンサに入射しセンサの受光信号レベルが変動し、実際には人がいないにもかかわらず分散値や標準偏差が所定値より大きくなった場合でも、それが蛍光灯から放射された赤外線によるものか、それとも人体の動きによるものかを判別し、人体の有無を正確に検出することができるので、自動水栓や便器の自動洗浄装置の誤動作を防止できるという効果がある。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の実施の形態を添付図面により詳細に説明する。
【００１４】
図１は、本発明の一実施形態に係わる自動水栓装置の構成図、図２はアクティブセンサの構成図である、図３は自動水栓装置の制御のフローチャート、図４は人体有無判定処理サブルーチンのフローチャート、図５はセンサの反射信号レベルと各統計値を表すタイムチャートである。
【００１５】
図１に示すように、自動水栓装置１は、洗面台２と洗面台２の前方に設けられたボウル３と、洗面台２の奥部上面に手前側にやや傾斜して立設した基部５の上端部にやや下方に傾斜して連接されたスパウト４と、スパウト４に水を供給する水源８と、スパウト４と水源８との間に配設され吐出水６の吐水・止水を行う電磁弁７と、基部５の内部に配設され物体検出装置９より構成され、スパウト４から斜め下方向に吐出された吐出水６が放物線を描いてボウル３中に落下流入するようになっている。
【００１６】
物体検出装置９は図２に示すように、反射型の非接触アクティブセンサとしての光センサ１０と演算部１４と出力部１５とから構成され、光センサ１０は赤外線を外部に向けて投光する投光部１１と、人の手やボウル面等から反射された赤外線を受光する受光部１２と、受光部が受光した信号を増幅するする増幅部１３とから構成されており、投光部１１はスパウト４の下方の空間へ、スパウト４よりも更に若干下方へ傾いた方向に、図１のαで示す範囲（投光領域）に所定の周期で投光する。受光部１２は入射した光を電圧信号に変換して増幅部１３に出力するもので、その入射範囲（受光領域）は投光領域αにほぼ平行に指向した図１のβで示す範囲に限定されている。そしてこの光センサ１０は、投光領域αと受光領域βとが重なる図１のγで示す範囲（検知領域）に存在する物体を良好に検知できるようになっている。
【００１７】
また、物体検出装置９の演算部１４はＡ／Ｄ変換機能を具備するマイクロコンピュータで構成されており、上記Ａ／Ｄ変換のサンプリング周波数をプログラムで変更することが可能であり、同サンプリング周波数は前記投光部１１の投光周期と同調させて、前記増幅部１３から入力するアナログ電圧をデジタルのデータとして記憶部に時系列的に記憶させ、このデータを統計的に演算処理して、その結果に基づき出力部１５に開弁又は閉弁信号を出力し、出力部１５は演算部１４からの信号を弁駆動電圧に変換して前記電磁弁７に出力するように構成されている。
【００１８】
以上の構成において図３に示すように、電源を投入するとセンサ投受光処理ルーチンにより投光部１１より赤外線を投光し、受光部１２で反射信号を受光し、増幅部１３により信号をアナログ信号データとして記憶し（Ｓ１）、そこで得られた受光信号レベルを統計値演算処理ルーチンにより平均値および分散を演算する（Ｓ２）。そして基準レベル設定処理ルーチンにより平均値および分散値をもとに人体無し状態の基準レベルを設定し（Ｓ３）、引き続き人体有無判定処理ルーチンにより現在の状態が人体有りか、無しかを判定し（Ｓ４）、その結果により吐水制御処理ルーチンにより電磁弁７への出力信号を制御し吐水・止水を制御する（Ｓ５）ことにより自動水栓としての動作が行われる。
【００１９】
次に人体有無判定処理ルーチン（Ｓ４）について図４を用いて説明する。まず、現在の状態が人体有りか無しかをチェックし（Ｓ１０１）、人体有りであれば統計値演算処理ルーチン（Ｓ２）で求められた平均値と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１０２）、平均値が基準レベルより４以上大きければ人の手がボール内にあり反射信号レベルが高くなっているので、そのまま人体有無判定処理を終了し人体有りを継続する。もし平均値が基準レベルに対し４以上大きくなければ（Ｓ１０２）、次に統計値演算ルーチン（Ｓ２）で求められた分散をチェックし（Ｓ１０３）、分散が４以上であれば人の手がボール内にあり動いているため分散が大きくなっていると判断し、人体無しに切り替えるためのカウンタＡを０にクリアして（Ｓ１０４）人体有無判定処理を終了し人体有りを継続する。もし分散をチェックした結果４未満であれば（Ｓ１０３）、人体無しに切り替えるためのカウンタＡを１カウントアップし（Ｓ１０５）、もしＡが４未満であれば（Ｓ１０６）、手洗い動作により一時的に反射光レベルの平均値と分散が小さくなったかもしれないため、そのまま人体有無判定処理を終了し人体有りを継続する。もし人体無しに切り替えるためのカウンタＡが４以上であれば（Ｓ１０６）平均値も分散も小さい状態がある程度継続しているため人の手が無くなったと判断し人体無しと判定し（Ｓ１０７）、人体無しに切り替えるためのカウンタＡを０にクリアする（Ｓ１０８）。
【００２０】
次に現在の状態が人体無しの場合（Ｓ１０１）、統計値演算処理ルーチン（Ｓ２）で求められた平均値と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１０９）、平均値が基準レベルより８以上大きければ人の手がボール内に差し出されたと判断して人体有りと判定し（Ｓ１１０）人体有無判定処理を終了する。もし平均値が基準レベルに対し８以上大きくなっていなければ（Ｓ１０９）、そのまま処理を終了することで、統計値演算処理ルーチンで求められた分散が大きくても、それは蛍光灯から放出された赤外線がセンサに入射したためであって、人の手が差し出されたためではないと判断し人体無しを継続する。
【００２１】
以上の説明に従って制御された場合図５に示すように、まず人の手が差し出されていない状態では反射信号レベルの平均値が基準レベルと同じであるため、人体無しが検出される。その状態で人の手が差し出され反射信号レベルの平均値が基準レベルに対して８以上大きくなるとその人体有りが検出され、電磁弁７が開して吐水が行われる。そして手洗い動作の途中で手がセンサの検知範囲から外れかかり、平均値が基準レベルに対して２程度しか大きくない状態が発生した場合でも、そのとき分散が４以上であるため人体有りを継続して検出し、吐水は途切れることなく継続される。さらに吐水中に手の動きが止まり分散が４未満になったとしても平均値が基準レベルに対して４以上大きいため人体有りが継続し、その後実際に使用者の手がなくなり平均値が基準レベルと同じになり、しかも分散が４未満となると人体無しを検出し止水される。
【００２２】
次に人が手を差し出していない状態で室内の蛍光灯が点灯され、蛍光灯から放射された赤外線がセンサ１０に入射するタイミングと、センサ１０が反射信号をサンプリングするタイミングとが重なり反射信号レベルが大きくなり、次にサンプリングしたときは蛍光灯から放出された赤外線の量が少なく反射信号レベルが小さいという状態を繰り返し、分散が４以上である状態が継続しても、反射信号レベルの平均値が基準レベルに対して８以上大きい状態になっていないため、人体有りと検出することはなく、自動水栓が人もいないのに勝手に吐水するという現象は発生しない。
【００２３】
次に人体有無判定処理に関する別の実施形態について図６、図７、図８を用いて説明する。初めに図６に示されるセンサ投受光処理ルーチン（Ｓ１）が実行される。まずセンサ１０のサンプリング周期を決めるサンプリングタイマＴｓが０になるのを待って（Ｓ２０１）、タイマＴｓが０になりサンプリングタイミングになると非投光フラグが１になっているかをチェックし（Ｓ２０２）、通常は非投光フラグが０であるため投光部１１よりセンサ投光を行い（Ｓ２０３）、受光部１２で反射信号を受光し、増幅部１３により信号をアナログ信号データとしてＸ０に記憶する（Ｓ２０４）。そして次のサンプリングタイミングを決めるためＴｓに６２．５ｍｓをセットして（Ｓ２０５）、センサ投受光処理を終了する。
【００２４】
引き続いて図７に示される統計値演算処理ルーチン（Ｓ２）が実行される。まず非投光フラグが１かどうかをチェックし（Ｓ３０１）、このとき非投光フラグは０であるのでセンサ投受光処理ルーチンによりサンプリングされた直近８回の反射信号レベルの平均を演算し平均値１に代入し（Ｓ３０２）、次に同じく直近８回の反射信号レベルの分散を演算し分散１に代入する（Ｓ３０３）。そして６回前にサンプリングされた反射信号レベルのデータＸ６を７回前にサンプリングされた反射信号レベルのデータＸ７に代入、同様に５回前にサンプリングされたデータＸ５をＸ６に代入、という処理を繰り返し最新のサンプリングデータＸ０を１回前のサンプリングデータＸ１に代入し（Ｓ３０４）、そして投光を行わないでサンプリングを行った回数をカウントするカウンタＣを０にクリアし（Ｓ３０５）、統計値演算処理を終了する。
【００２５】
引き続いて基準レベル設定処理ルーチン（Ｓ３）により人体無し基準レベルを設定後、図８に示される人体有無判定処理ルーチン（Ｓ４）が実行される。まず、現在の状態が人体有りか無しかをチェックし（Ｓ１０１）、人体有りであれば統計値演算処理ルーチン（Ｓ２）で求められた平均値１と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１０２）、平均値１が基準レベルより４以上大きければ人の手がボール内にあり反射信号レベルが高くなっているので、そのまま人体有無判定処理を終了し人体有りを継続する。もし平均値１が基準レベルに対し４以上大きくなければ（Ｓ１０２）、次に統計値演算ルーチン（Ｓ２）で求められた分散１をチェックし（Ｓ１０３）、分散が４以上であれば人の手がボール内にあり動いているため分散１が大きくなっていると判断し、人体無しに切り替えるためのカウンタＡを０にクリアして（Ｓ１０４）人体有無判定処理を終了し人体有りを継続する。もし分散１をチェックした結果４未満であれば（Ｓ１０３）、人体無しに切り替えるためのカウンタＡを１カウントアップし（Ｓ１０５）、もしＡが４未満であれば（Ｓ１０６）、手洗い動作により一時的に反射光レベルの平均値１と分散１が小さくなったかもしれないため、そのまま人体有無判定処理を終了し人体有りを継続する。もし人体無しに切り替えるためのカウンタＡが４以上であれば（Ｓ１０６）平均値１も分散１も小さい状態がある程度継続しているため人の手が無くなったと判断して人体無しと判定し（Ｓ１０７）、人体無しに切り替えるためのカウンタＡを０にクリアした後（Ｓ１０８）人体有無判定処理を終了する。
【００２６】
もし現在の状態が人体無しの場合は（Ｓ１０１）、まず非投光フラグが１かどうかをチェックするが（Ｓ１０９）、この時点では非投光フラグが０であるので、次に統計値演算処理ルーチン（Ｓ２）で求められた平均値１と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１１０）、平均値１が基準レベルより８以上大きければ人の手がボール内に差し出されたと判断し人体有りと判定する（Ｓ１１６）。そして分散１が大きい状態が継続したかどうかをチェックするカウンタＢを０にクリアし（Ｓ１１７）、人体有無判定処理を終了する。もし平均値１が基準レベルに対し８以上大きくなっていなければ（Ｓ１１０）、次に統計値演算処理ルーチン（Ｓ２）で求められた分散１をチェックし（Ｓ１１１）、もし６未満であればボール内に人の手が無いと判断し、カウンタＢを０にクリアし（Ｓ１１２）、人体有無判定処理を終了し人体無しを継続する。また分散１をチェックした結果が６以上であった場合は（Ｓ１１１）、人の手がボール内に差し出されている可能性があるためカウンタＢを１カウントアップし（Ｓ１１３）、もしＢが４未満であれば（Ｓ１１４）そのまま処理を終了し人体無しを継続するが、もしＢが４以上であれば（Ｓ１１４）、人の手が差し出されたために反射信号レベルの平均値１は小さいが分散１が大きくなっているのか、蛍光灯から照射された赤外線により分散１が大きくなっているかを確認するため、非投光フラグに１をセットし（Ｓ１１５）センサ投光を行わずに反射信号レベルを確認する処理に移行する。
【００２７】
この非投光フラグ１がセットされた状態で再び図６に示すセンサ投受光処理が実行される。まずサンプリングタイマＴｓが０かをチェックし（Ｓ２０１）、もし０であれば受光信号をサンプリングするタイミングになったため、非投光フラグをチェックし（Ｓ２０２）、今回は非投光フラグが１であるため、センサ投光を行わずに受光部１２で反射信号を受光し、増幅部１３により信号をアナログ信号データとしてＸ０に記憶する（Ｓ２０４）。そして次のサンプリングタイミングを決めるためＴｓに６２．５ｍｓをセットして（Ｓ２０５）、センサ投受光処理を終了する。
【００２８】
引き続いて図７に示される統計値演算処理ルーチン（Ｓ２）が実行される。まず非投光フラグをチェックすると１であるため（Ｓ３０１）、先ほど記憶したＸ０をＹ０に代入する（Ｓ３０６）。そしてセンサ投光を行わずにサンプリングした回数を示すカウンタＣをチェックし（Ｓ３０７）、３未満であればＣを１カウントアップし（Ｓ３０９）、２回前のサンプリングデータＹ２を３回前のサンプリングデータＹ３へ、Ｙ１をＹ２へ、最新のサンプリングデータＹ０を１回前のサンプリングデータＹ１へ順次代入し（Ｓ３１０）この処理を終了する。
【００２９】
そして再び図８に示される人体有無判定処理ルーチン（Ｓ４）が実行される。まず現在の状態が人体有りであるかどうかをチェックすると人体無しであり（Ｓ１０１）、次に非投光フラグをチェックすると１であるため（Ｓ１０９）、投光せずにサンプリングした回数を示すカウンタが０であるかどうかをチェックする（Ｓ１１８）。このときＣは統計値演算処理ルーチン（Ｓ２）を実行することにより１となっているので、そのまま処理を終了する。
【００３０】
そしてこれらの処理が繰り返され、投光を行わずにサンプリングする処理が４回行われた後、図７に示す統計値演算処理ルーチンが実行されると、まず非投光フラグのチェック（Ｓ３０１）、Ｘ０をＹ０に代入した後（Ｓ３０６）、投光せずにサンプリングした回数を表すカウンタＣをチェックすると３となっているため（Ｓ３０７）、投光せずにサンプリングされたデータＹ０からＹ３の平均を演算し、平均値２へ代入する（Ｓ３０８）。そして、カウンタＣを０にクリアし（Ｓ３０５）処理を終了する。
【００３１】
そして再び図８に示す人体有無判定処理ルーチン（Ｓ４）が実行されると、まず現在の状態が人体無しであることをチェックし（Ｓ１０１）、非投光フラグが１であることをチェックする（Ｓ１０９）。次にカウンタＣをチェックすると０となっているので（Ｓ１１８）、投光せずにサンプリングする処理が終わったため非投光フラグを０にクリアし（Ｓ１１９）、投光せずにサンプリングされたデータから求めた平均値２をチェックする（Ｓ１２０）。そしてもし平均値２が８未満であれば、蛍光灯から放射された赤外線の量が少なく、前述した分散値１が大きくなったのは人の手が差し出されたことによるため、人体有りを検出し（Ｓ１１６）、分散が大きい状態が継続したかどうかをチェックするカウンタＢを０にクリアする（Ｓ１１７）。また平均値２が８以上であるならば、蛍光灯から放射された赤外線がセンサ１１に照射される量が多く、そのため分散値１が大きくなったと判断し、人体無しを継続しカウンタＢを０にクリアする（Ｓ１１７）。
【００３２】
以上の説明に従って制御された場合の反射信号レベルと各統計値の推移について図９を用いて説明する。まず人の手が差し出されていない状態では反射信号レベルの平均値１が基準レベルと同じであるため、人体無しが検出される。その状態で室内の蛍光灯が点灯され、蛍光灯から放射された赤外線がセンサ１０に入射するタイミングと、センサ１０が反射信号をサンプリングするタイミングとが重なり反射信号レベルが大きくなり、次にサンプリングしたときは蛍光灯から放出された赤外線の量が少なく反射信号レベルが小さいという状態を繰り返し、分散が４以上である状態が継続すると、投光を行わずに反射信号レベルをサンプリングし平均値２を求める。そして平均値２が８以上であるため人体無しが検出され、人もいないのに自動水栓が勝手に吐水するという現象は発生しない。
【００３３】
次に人体無しが継続している状態で人の手が差し出され反射信号レベルの平均値１が基準レベルに対して８以上大きくならないにもかかわらず、分散１が４以上となった場合、投光を行わずに反射信号レベルをサンプリングし平均値２を求める。ことのきは平均値２が４程度しかなく８未満であるため、これは人の手の動きにより分散１が大きくなっていると判断し、人体有りが検出され、電磁弁７が開して吐水が行われる。そして一旦人体有りが検出されると、人体有りの判定基準が、平均値１が基準レベルに対し４以上大きいか、あるいは分散１が４以上かに変わるため、以降は再度投光せずにサンプリングし平均値２を求めることなく、人体有りを継続して検出し、その後実際に使用者の手がなくなり平均値１が基準レベルと同じになり、しかも分散１が４未満となると人体無しを検出し止水される。
【００３４】
次に人体有無判定処理に関する別の実施形態について図１０、図１１、図１２を用いて説明する。初めに図１０に示されるセンサ投受光処理ルーチン（Ｓ１）が実行される。まずセンサ１０のサンプリング周期を決めるサンプリングタイマＴｓが０になるのを待って（Ｓ２０１）、タイマＴｓが０になりサンプリングタイミングになると非投光フラグが１になっているかをチェックし（Ｓ２０２）、通常は非投光フラグが０であるため次のサンプリングまでの時間６２．５ｍｓをＴｓにセットし（Ｓ２０３）、投光部１１よりセンサ投光を行い（Ｓ２０４）、受光部１２で反射信号を受光し、増幅部１３により信号をアナログ信号データとしてＸ０に記憶し（Ｓ２０５）、センサ投受光処理を終了する。
【００３５】
引き続いて図１１に示される統計値演算処理ルーチン（Ｓ２）が実行される。まず非投光フラグが１かどうかをチェックし（Ｓ３０１）、このとき非投光フラグは０であるのでセンサ投受光処理ルーチンによりサンプリングされた直近８回の反射信号レベルの平均を演算し平均値１に代入し（Ｓ３０２）、次に同じく直近８回の反射信号レベルの分散を演算し分散１に代入する（Ｓ３０３）。そして６回前にサンプリングされた反射信号レベルのデータＸ６を７回前にサンプリングされた反射信号レベルのデータＸ７に代入、同様に５回前にサンプリングされたデータＸ５をＸ６に代入、という処理を繰り返し最新のサンプリングデータＸ０を１回前のサンプリングデータＸ１に代入し（Ｓ３０４）、そして投光を行わないでサンプリングを行った回数をカウントするカウンタＣを０にクリアし（Ｓ３０５）、統計値演算処理を終了する。
【００３６】
引き続いて基準レベル設定処理ルーチン（Ｓ３）により人体無し基準レベルを設定後、図１２に示される人体有無判定処理ルーチン（Ｓ４）が実行される。まず、現在の状態が人体有りか無しかをチェックし（Ｓ１０１）、人体有りであれば統計値演算処理ルーチン（Ｓ２）で求められた平均値１と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１０２）、平均値１が基準レベルより４以上大きければ人の手がボール内にあり反射信号レベルが高くなっているので、そのまま人体有無判定処理を終了し人体有りを継続する。もし平均値１が基準レベルに対し４以上大きくなければ（Ｓ１０２）、次に統計値演算ルーチン（Ｓ２）で求められた分散１をチェックし（Ｓ１０３）、分散が４以上であれば人の手がボール内にあり動いているため分散１が大きくなっていると判断し、人体無しに切り替えるためのカウンタＡを０にクリアして（Ｓ１０４）人体有無判定処理を終了し人体有りを継続する。もし分散１をチェックした結果４未満であれば（Ｓ１０３）、人体無しに切り替えるためのカウンタＡを１カウントアップし（Ｓ１０５）、もしＡが４未満であれば（Ｓ１０６）、手洗い動作により一時的に反射光レベルの平均値１と分散１が小さくなったかもしれないため、そのまま人体有無判定処理を終了し人体有りを継続する。もし人体無しに切り替えるためのカウンタＡが４以上であれば（Ｓ１０６）平均値１も分散１も小さい状態がある程度継続しているため人の手が無くなったと判断し人体無しと判定し（Ｓ１０７）、人体無しに切り替えるためのカウンタＡを０にクリアした後（Ｓ１０８）人体有無判定処理を終了する。
【００３７】
もし現在の状態が人体無しの場合は（Ｓ１０１）、まず非投光フラグが１かどうかをチェックするが（Ｓ１０９）、この時点では非投光フラグが０であるので、次に統計値演算処理ルーチン（Ｓ２）で求められた平均値１と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１１０）、平均値１が基準レベルより８以上大きければ人の手がボール内に差し出されたと判断し人体有りと判定する（Ｓ１１７）。そして分散１が大きい状態が継続したかどうかをチェックするカウンタＢを０にクリアし（Ｓ１１８）、人体有無判定処理を終了する。もし平均値１が基準レベルに対し８以上大きくなっていなければ（Ｓ１１０）、次に統計値演算処理ルーチン（Ｓ２）で求められた分散１をチェックし（Ｓ１１１）、もし６未満であればボール内に人の手が無いと判断し、カウンタＢを０にクリアし（Ｓ１１２）、人体有無判定処理を終了し人体無しを継続する。また分散１をチェックした結果が６以上であった場合は（Ｓ１１１）、人の手がボール内に差し出されている可能性があるためカウンタＢを１カウントアップし（Ｓ１１３）、もしＢが４未満であれば（Ｓ１１４）そのまま処理を終了し人体無しを継続するが、もしＢが４以上であれば（Ｓ１１４）、人の手が差し出されたために反射信号レベルの平均値１は小さいが分散１が大きくなっているのか、蛍光灯から照射された赤外線により分散１が大きくなっているかを確認するため、非投光フラグに１をセットし（Ｓ１１５）センサ投光を行わずにサンプリングするときの周期３１．２５ｍｓをサンプリングタイマＴｓにセットし（Ｓ１１６）、この処理を終了する。
【００３８】
この非投光フラグ１がセットされた状態で再び図１０に示すセンサ投受光処理が実行される。まずサンプリングタイマＴｓが０かをチェックし（Ｓ２０１）、もし０であれば受光信号をサンプリングするタイミングになったため、非投光フラグをチェックし（Ｓ２０２）、今回は非投光フラグが１であるため、まず次のサンプリング周期３１．２５ｍｓをＴｓにセットし（Ｓ２０６）、次にセンサ投光を行わずに受光部１２で反射信号を受光し、増幅部１３により信号をアナログ信号データとしてＸ０に記憶し（Ｓ２０５）、センサ投受光処理を終了する。
【００３９】
引き続いて図１１に示される統計値演算処理ルーチン（Ｓ２）が実行される。まず非投光フラグをチェックすると１であるため（Ｓ３０１）、先ほど記憶したＸ０をＹ０に代入する（Ｓ３０６）。そしてセンサ投光を行わずにサンプリングした回数を示すカウンタＣをチェックし（Ｓ３０７）、７未満であればＣを１カウントアップし（Ｓ３０９）、６回前のサンプリングデータＹ６を７回前のサンプリングデータＹ７へ、Ｙ５をＹ６へというように順次代入し、最後に最新のサンプリングデータＹ０を１回前のサンプリングデータＹ１へ代入し（Ｓ３１０）この処理を終了する。
【００４０】
そして再び図１２に示される人体有無判定処理ルーチン（Ｓ４）が実行される。まず現在の状態が人体有りであるかどうかをチェックすると人体無しであり（Ｓ１０１）、次に非投光フラグをチェックすると１であるため（Ｓ１０９）、投光せずにサンプリングした回数を示すカウンタが０であるかどうかをチェックする（Ｓ１１９）。このときＣは統計値演算処理ルーチン（Ｓ２）を実行することにより１となっているので、そのまま処理を終了する。
【００４１】
そしてこれらの処理が繰り返され、投光を行わずにサンプリングする処理が８回行われた後、図１１に示す統計値演算処理ルーチンが実行されると、まず非投光フラグのチェック（Ｓ３０１）、Ｘ０をＹ０に代入した後（Ｓ３０６）、投光せずにサンプリングした回数を表すカウンタＣをチェックすると７となっているため（Ｓ３０７）、投光せずにサンプリングされたデータＹ０からＹ７の分散を演算し、分散２へ代入する（Ｓ３０８）。そして、カウンタＣを０にクリアし（Ｓ３０５）処理を終了する。
【００４２】
そして再び図１２に示す人体有無判定処理ルーチン（Ｓ４）が実行されると、まず現在の状態が人体無しであることをチェックし（Ｓ１０１）、非投光フラグが１であることをチェックする（Ｓ１０９）。次にカウンタＣをチェックすると０となっているので（Ｓ１１９）、投光せずにサンプリングする処理が終わったため非投光フラグを０にクリアし（Ｓ１２０）、投光せずにサンプリングされたデータから求めた分散２をチェックする（Ｓ１２１）。そしてもし分散２が４未満であれば、蛍光灯から放射された赤外線の量が少なく、前述した分散値１が大きくなったのは人の手が差し出されたことによるため、人体有りを検出し（Ｓ１１７）、分散が大きい状態が継続したかどうかをチェックするカウンタＢを０にクリアする（Ｓ１１８）。また分散２が４以上であるならば、蛍光灯から放射された赤外線がセンサ１１に照射される量が多く、そのため分散値１が大きくなったと判断し、人体無しを継続しカウンタＢを０にクリアする（Ｓ１１８）。
【００４３】
以上の説明に従って制御された場合の反射信号レベルと各統計値の推移について図１３を用いて説明する。まず人の手が差し出されていない状態では反射信号レベルの平均値１が基準レベルと同じであるため、人体無しが検出される。その状態で室内の蛍光灯が点灯され、蛍光灯から放射された赤外線がセンサ１０に入射するタイミングと、センサ１０が反射信号をサンプリングするタイミングとが重なり反射信号レベルが大きくなり、次にサンプリングしたときは蛍光灯から放出された赤外線の量が少なく反射信号レベルが小さいという状態を繰り返し、分散が４以上である状態が継続すると、投光を行わずに反射信号レベルをサンプリングし分散２を求める。そして分散２が４以上であるため人体無しが検出され、人もいないのに自動水栓が勝手に吐水するという現象は発生しない。
【００４４】
次に人体無しが継続している状態で人の手が差し出され反射信号レベルの平均値１が基準レベルに対して８以上大きくならないにもかかわらず、分散１が４以上となった場合、投光を行わずに反射信号レベルをサンプリングし分散２を求める。ことのきは分散２が３程度しかなく４未満であるため、これは人の手の動きにより分散１が大きくなっていると判断し、人体有りが検出され、電磁弁７が開して吐水が行われる。そして一旦人体有りが検出されると、人体有りの判定基準が、平均値１が基準レベルに対し４以上大きいか、あるいは分散１が４以上かに変更になるため、以降は再度投光せずにサンプリングし分散２を求めることなく、人体有りを継続して検出し、その後実際に使用者の手がなくなり平均値１が基準レベルと同じになり、しかも分散１が４未満となると人体無しを検出し止水される。
【００４５】
次に人体有無判定処理に関する別の実施形態について図１４、図１５、図１６を用いて説明する。初めに図１４に示されるセンサ投受光処理ルーチン（Ｓ１）が実行される。まずセンサ１０のサンプリング周期を決めるサンプリングタイマＴｓが０になるのを待って（Ｓ２０１）、タイマＴｓが０になりサンプリングタイミングになると非投光フラグが１になっているかをチェックし（Ｓ２０２）、通常は非投光フラグが０であるため次のサンプリングまでの時間６２．５ｍｓをＴｓにセットし（Ｓ２０３）、投光部１１よりセンサ投光を行い（Ｓ２０４）、受光部１２で反射信号を受光し、増幅部１３により信号をアナログ信号データとしてＸ０に記憶し（Ｓ２０５）、センサ投受光処理を終了する。
【００４６】
引き続いて図１５に示される統計値演算処理ルーチン（Ｓ２）が実行される。まず非投光フラグが１かどうかをチェックし（Ｓ３０１）、このとき非投光フラグは０であるので投光を行わないでサンプリングを行った回数をカウントするカウンタＣを０にクリアする（Ｓ３０２）。そしてセンサ投受光処理ルーチンによりサンプリングされた直近８回の反射信号レベルの平均を演算し平均値１に代入する（Ｓ３０３）。次に同じく直近８回の反射信号レベルの分散を演算し分散１に代入する（Ｓ３０４）。そして６回前にサンプリングされた反射信号レベルのデータＸ６を７回前にサンプリングされた反射信号レベルのデータＸ７に代入、同様に５回前にサンプリングされたデータＸ５をＸ６に代入、という処理を繰り返し最新のサンプリングデータＸ０を１回前のサンプリングデータＸ１に代入し（Ｓ３０５）、統計値演算処理を終了する。
【００４７】
引き続いて基準レベル設定処理ルーチン（Ｓ３）により人体無し基準レベルを設定後、図１６に示される人体有無判定処理ルーチン（Ｓ４）が実行される。まず、現在の状態が人体有りか無しかをチェックし（Ｓ１０１）、人体有りであれば統計値演算処理ルーチン（Ｓ２）で求められた平均値１と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１０２）、平均値１が基準レベルより４以上大きければ人の手がボール内にあり反射信号レベルが高くなっているので、そのまま人体有無判定処理を終了し人体有りを継続する。もし平均値１が基準レベルに対し４以上大きくなければ（Ｓ１０２）、次に統計値演算ルーチン（Ｓ２）で求められた分散１をチェックし（Ｓ１０３）、分散が４以上であれば人の手がボール内にあり動いているため分散１が大きくなっていると判断し、人体無しに切り替えるためのカウンタＡを０にクリアして（Ｓ１０４）人体有無判定処理を終了し人体有りを継続する。もし分散１をチェックした結果４未満であれば（Ｓ１０３）、人体無しに切り替えるためのカウンタＡを１カウントアップし（Ｓ１０５）、もしＡが４未満であれば（Ｓ１０６）、手洗い動作により一時的に反射光レベルの平均値１と分散１が小さくなったかもしれないため、そのまま人体有無判定処理を終了し人体有りを継続する。もし人体無しに切り替えるためのカウンタＡが４以上であれば（Ｓ１０６）平均値１も分散１も小さい状態がある程度継続しているため人の手が無くなったと判断し人体無しと判定し（Ｓ１０７）、人体無しに切り替えるためのカウンタＡを０にクリアした後（Ｓ１０８）人体有無判定しょりを終了する。
【００４８】
もし現在の状態が人体無しの場合は（Ｓ１０１）、まず非投光フラグが１かどうかをチェックするが（Ｓ１０９）、この時点では非投光フラグが０であるので、次に統計値演算処理ルーチン（Ｓ２）で求められた平均値１と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し（Ｓ１１０）、平均値１が基準レベルより８以上大きければ人の手がボール内に差し出されたと判断し、非投光フラグを０にクリアするとともに（Ｓ１１７）、通常の投光を行ってサンプリングするときの周期６２．５ｍｓをサンプリングタイマＴｓにセットする（Ｓ１１８）。そして人体有りと判定し（Ｓ１１９）分散１が大きい状態が継続したかどうかをチェックするカウンタＢを０にクリアし（Ｓ１２０）、人体有無判定処理を終了する。もし平均値１が基準レベルに対し８以上大きくなっていなければ（Ｓ１１０）、次に統計値演算処理ルーチン（Ｓ２）で求められた分散１をチェックし（Ｓ１１１）、もし６未満であればボール内に人の手が無いと判断し、カウンタＢを０にクリアし（Ｓ１１２）、人体有無判定処理を終了し人体無しを継続する。また分散１をチェックした結果が６以上であった場合は（Ｓ１１１）、人の手がボール内に差し出されている可能性があるためカウンタＢを１カウントアップし（Ｓ１１３）、もしＢが４未満であれば（Ｓ１１４）そのまま処理を終了し人体無しを継続するが、もしＢが４以上であれば（Ｓ１１４）、人の手が差し出されたために反射信号レベルの平均値１は小さいが分散１が大きくなっているのか、蛍光灯から照射された赤外線により分散１が大きくなっているかを確認するため、非投光フラグに１をセットし（Ｓ１１５）センサ投光を行わずにサンプリングするときの周期３１．２５ｍｓをサンプリングタイマＴｓにセットし（Ｓ１１６）、この処理を終了する。
【００４９】
この非投光フラグ１がセットされた状態で再び図１４に示すセンサ投受光処理が実行される。まずサンプリングタイマＴｓが０かをチェックし（Ｓ２０１）、もし０であれば受光信号をサンプリングするタイミングになったため、非投光フラグをチェックし（Ｓ２０２）、今回は非投光フラグが１であるため、まず次のサンプリング周期３１．２５ｍｓをＴｓにセットし（Ｓ２０６）、次に投光を行わずにサンプリングを行った回数をカウントするカウンタＣをチェックすると（Ｓ２０７）、今回Ｃは０で偶数であるため、センサ投光を行わずに受光部１２で反射信号を受光し、増幅部１３により信号をアナログ信号データとしてＸ０に記憶し（Ｓ２０５）、センサ投受光処理を終了する。
【００５０】
引き続いて図１５に示される統計値演算処理ルーチン（Ｓ２）が実行される。まず非投光フラグをチェックすると１であるため（Ｓ３０１）、カウンタＣを１カウントアップした後（Ｓ３０６）、カウンタＣが偶数か奇数かをチェックする（Ｓ３０７）。ここでＣは１になっているため先ほど記憶したＸ０をＹ０に代入する（Ｓ３０８）。そしてカウンタＣをチェックし（Ｓ３０９）、１５未満であれば６回前のサンプリングデータＹ６を７回前のサンプリングデータＹ７へ、Ｙ５をＹ６へというように順次代入し、最後に最新のサンプリングデータＹ０を１回前のサンプリングデータＹ１へ代入し（Ｓ３１２）この処理を終了する。
【００５１】
そして再び図１６に示される人体有無判定処理ルーチン（Ｓ４）が実行される。まず現在の状態が人体有りであるかどうかをチェックすると人体無しであり（Ｓ１０１）、次に非投光フラグをチェックすると１であるため（Ｓ１０９）、カウンタＣが偶数か奇数かをチェックするとＣは１であるため（Ｓ１２１）、さらにカウンタＣが０であるかどうかをチェックするが（Ｓ１２２）、Ｃは１であるためそのまま処理を終了する。
【００５２】
その後再び図１４に示すセンサ投受光処理が実行されると、まずサンプリングタイマＴｓが０になるのを待って（Ｓ２０１）、非投光フラグをチェックすると今回も非投光フラグは１であるため（Ｓ２０２）、次のサンプリング周期３１．２５ｍｓをＴｓにセットし（Ｓ２０６）、カウンタＣをチェックすると（Ｓ２０７）、今回Ｃは１で奇数であるため投光部１１からセンサ投光を行い（Ｓ２０４）、その反射信号を受光部１２で受光し増幅部１３により信号をアナログ信号データとしてＸ０に記憶し（Ｓ２０５）、センサ投受光処理を終了する。
【００５３】
引き続いて図１５に示される統計値演算処理ルーチン（Ｓ２）が実行されると、まず非投光フラグをチェックすると今回も１であるため（Ｓ３０１）、カウンタＣを１カウントアップした後（Ｓ３０６）、カウンタＣが偶数か奇数かをチェックする（Ｓ３０７）。ここでＣは２になっているためそしてセンサ投受光処理ルーチンによりサンプリングされた直近８回の反射信号レベルＸ０からＸ７の平均を演算し平均値１に代入する（Ｓ３０３）。次に同じく直近８回の反射信号レベルの分散を演算し分散１に代入する（Ｓ３０４）。そして６回前にサンプリングされた反射信号レベルのデータＸ６を７回前にサンプリングされた反射信号レベルのデータＸ７に代入、同様に５回前にサンプリングされたデータＸ５をＸ６に代入、という処理を繰り返し最新のサンプリングデータＸ０を１回前のサンプリングデータＸ１に代入し（Ｓ３０５）、統計値演算処理を終了する。
【００５４】
そして再び図１６に示される人体有無判定処理ルーチン（Ｓ４）が実行されると、まず現在の状態が人体有りであるかどうかをチェックすると人体無しであり（Ｓ１０１）、次に非投光フラグをチェックすると１であるため（Ｓ１０９）、カウンタＣが偶数か奇数かをチェックする（Ｓ１２１）。今回Ｃは２であるため次に統計値演算処理ルーチン（Ｓ２）で求められた平均値１と、基準レベル設定処理ルーチン（Ｓ３）で求められた基準レベルとを比較し人体有無を判定する処理が行われる（Ｓ１１０）。そして平均値１が基準レベルより８以上大きければ人の手がボール内に差し出されたと判断し、非投光フラグを０にクリアするとともに（Ｓ１１７）、通常の投光を行ってサンプリングするときの周期６２．５ｍｓをサンプリングタイマＴｓにセットし（Ｓ１１８）、投光を行わずにサンプリングを行う処理を終了する。そして人体有りと判定し（Ｓ１１９）分散１が大きい状態が継続したかどうかをチェックするカウンタＢを０にクリアし（Ｓ１２０）、人体有無判定処理を終了する。もし平均値１が基準レベルに対し８以上大きくなっていなければ（Ｓ１１０）、次に統計値演算処理ルーチン（Ｓ２）で求められた分散１をチェックする処理が実行されるが（Ｓ１１１）、分散１の大きさに係わらず、非投光フラグは既に１であり、サンプリングタイマＴｓにも既に３１．２５ｍｓがセットされているため、投光を行わずにサンプリングする処理が継続される。
【００５５】
そしてこれらの処理が繰り返され、投光を行わずにサンプリングする処理が８回行われた後、図１５に示す統計値演算処理ルーチンが実行されると、まず非投光フラグが１であることをチェックし（Ｓ３０１）、次にカウンタＣのカウントアップを実行し（Ｓ３０６）、カウンタＣをチェックすると今回は１５で奇数であるので（Ｓ３０７）、Ｘ０をＹ０に代入した後（Ｓ３０８）、カウンタＣは１５となっているため（Ｓ３０９）、投光せずにサンプリングされたデータＹ０からＹ７の平均を演算し、平均値２へ代入する（Ｓ３１０）。そして、カウンタＣを０にクリアし（Ｓ３１１）処理を終了する。
【００５６】
そして再び図１６に示す人体有無判定処理ルーチン（Ｓ４）が実行されると、まず現在の状態が人体無しであることをチェックし（Ｓ１０１）、非投光フラグが１であることをチェックする（Ｓ１０９）。次にカウンタＣをチェックすると０となっているので（Ｓ１２１、Ｓ１２２）、投光せずにサンプリングする処理が終わったため非投光フラグを０にクリアし（Ｓ１２３）、投光せずにサンプリングされたデータから求めた平均値２をチェックする（Ｓ１２４）。そしてもし平均値２が８未満であれば、蛍光灯から放射された赤外線の量が少なく、前述した分散値１が大きくなったのは人の手が差し出されたことによるため、人体有りを検出し（Ｓ１１９）、分散が大きい状態が継続したかどうかをチェックするカウンタＢを０にクリアする（Ｓ１２０）。また平均値２が８以上であるならば、蛍光灯から放射された赤外線がセンサ１１に照射される量が多く、そのため分散値１が大きくなったと判断し、人体無しを継続しカウンタＢを０にクリアする（Ｓ１２０）。
【００５７】
以上の説明に従って制御することにより、反射信号レベルと各統計値は図９に示すように推移し、人の手が差し出されていない状態で室内の蛍光灯が点灯され、蛍光灯から放射された赤外線がセンサ１０に入射するタイミングと、センサ１０が反射信号をサンプリングするタイミングとが重なり反射信号レベルが大きくなり、次にサンプリングしたときは蛍光灯から放出された赤外線の量が少なく反射信号レベルが小さいという状態を繰り返し、分散が４以上である状態が継続すると、投光を行わずに反射信号レベルをサンプリングする動作と、投光を行いサンプリングする動作を交互に繰り返し、投光せずにサンプリングして求めた平均値２が８以上であるため人体無しが検出され、人もいないのに自動水栓が勝手に吐水するという現象は発生しない。
【００５８】
また、人体無しが継続している状態で人の手が差し出され反射信号レベルの平均値１が基準レベルに対して８以上大きくならないにもかかわらず、分散１が４以上となった場合は、同様に投光を行わずにサンプリングする動作と、投光を行いサンプリングする動作を繰り返し、投光を行わずに反射信号レベルをサンプリングして求めた平均値２が４程度しかなく８未満となるため、これは人の手の動きにより分散１が大きくなっていると判断し人体有りが検出され、電磁弁７が開して吐水が行われる。そして一旦人体有りが検出されると、人体有りの判定基準が、平均値１が基準レベルに対し４以上大きいか、あるいは分散１が４以上かに変わるため、以降は再度投光せずにサンプリングし平均値２を求めることなく、人体有りを継続して検出し、その後実際に使用者の手がなくなり平均値１が基準レベルと同じになり、しかも分散１が４未満となると人体無しを検出し止水される。
【００５９】
図１４、図１５、図１６で説明した実施形態では投光を行わずにサンプリングした反射信号レベルのデータから平均値２を求め、その結果に基づき蛍光灯からの放出された赤外線がセンサに照射されているかどうかの確認を行ったが、投光を行わずにサンプリングした反射信号レベルのデータから分散を求め、その結果に基づいて蛍光灯から放出された赤外線の影響の有無を確認する実施形態を図１７、図１８に示す。図１７では投光を行わずに反射光レベルをサンプリングする動作と、投光を行い反射信号レベルをサンプリングする動作を繰り返した後、投光を行わない反射光レベルを８個サンプリングした時点でＹ０〜Ｙ７の分散を演算し、その値を分散２に代入するようにしている（Ｓ３１０）。また図１８ではその分散２が４未満であれば人体有りを検出し、分散２が４以上であれば人体無しを継続するようにしている（Ｓ１２４）。
【００６０】
この図１７、図１８に従って制御することにより、反射信号レベルと各統計値は図１３に示すように推移し、反射信号レベルの平均値が比較的小さく分散が大きい状態が、蛍光灯から放出された赤外線がセンサに照射されたこに起因するか、人の手の動きに起因するかを判断し、人もいないのに自動水栓が勝手に吐水するという現象が発生しないようになる。
【図面の簡単な説明】
【００６１】
【図１】本発明における自動水栓装置の構成図。
【図２】本発明における反射型アクティブセンサの構成図。
【図３】本発明における自動水栓装置の制御フローチャート。
【図４】本発明における人体有無判定処理のフローチャート。
【図５】本発明におけるセンサの反射信号レベルと各統計値を表すタイムチャート。
【図６】本発明におけるセンサ投受光処理のフローチャート。
【図７】本発明における統計値演算処理のフローチャート。
【図８】本発明における人体有無判定処理のフローチャート。
【図９】本発明におけるセンサの反射信号レベルと各統計値を表すタイムチャート。
【図１０】本発明におけるセンサ投受光処理のフローチャート。
【図１１】本発明における統計値演算処理のフローチャート。
【図１２】本発明における人体有無判定処理のフローチャート。
【図１３】本発明におけるセンサの反射信号レベルと各統計値を表すタイムチャート。
【図１４】本発明におけるセンサ投受光処理のフローチャート。
【図１５】本発明における統計値演算処理のフローチャート。
【図１６】本発明における人体有無判定処理のフローチャート。
【図１７】本発明における統計値演算処理のフローチャート。
【図１８】本発明における人体有無判定処理のフローチャート。
【符号の説明】
【００６２】
１…自動水栓装置
２…洗面台
３…ボウル
４…スパウト
５…基部
６…吐出水
７…電磁弁
８…水源
９…物体検出装置
１０…光センサ
１１…投光部
１２…受光部
１３…増幅部
１４…演算部
１５…出力部
【図１】
2005105681.tif 000003
【図２】
2005105681.tif 000004
【図３】
2005105681.tif 000005
【図４】
2005105681.tif 000006
【図５】
2005105681.tif 000007
【図６】
2005105681.tif 000008
【図７】
2005105681.tif 000009
【図８】
2005105681.tif 000010
【図９】
2005105681.tif 000011
【図１０】
2005105681.tif 000012
【図１１】
2005105681.tif 000013
【図１２】
2005105681.tif 000014
【図１３】
2005105681.tif 000015
【図１４】
2005105681.tif 000016
【図１５】
2005105681.tif 000017
【図１６】
2005105681.tif 000018
【図１７】
2005105681.tif 000019
【図１８】
2005105681.tif 000020