※この記事は、「IchigoJam Advent Calendar 2019」に参加しています。
以前に、赤外線人感センサーを使って「人数カウンター」を作りました。
www.ichigojaman.jp
www.ichigojaman.jp
今回は別のセンサーを使って、IchigoJamに挿すだけで簡単に作れる人数カウンターです。
使ったセンサーはこちら。
このセンサーを、IchigoJamのピンソケットCN4に挿します。
センサー側 | IchigoJam側 |
---|---|
GND(-) | GND |
Vout | OUT1 |
VCC(+) | OUT2 |
プログラム
- 起動すると、カウントが始まります。赤外線センサーが人間を検知すると、LEDが点灯してカウントされます。
- カウントは1時間ごとに区切られて、その時間帯の人数、開始からのトータルの人数が表示されます。
10 @ARUN:'*Counter* 20 CLV:CLS:OUT 1,-1:OUT 2,1 30 ?"=== COUNT START ===":? 40 H=0:CLT 50 GSB @PRTCOUNT 60 @TIMELOOP 70 I=IN(5):LED I 80 IF I=1 AND J=0 THEN GSB @COUNT 90 J=I 100 IF TICK()>3609 THEN CLT:M=M+1 110 IF M<60 THEN GOTO @TIMELOOP 120 '*HOUR PASS 130 BEEP:M=0:H=H+1 140 IF H>23 THEN H=0 150 C=0 160 ?:GSB @PRTCOUNT 170 GOTO @TIMELOOP 180 @COUNT 190 C=C+1:T=T+1 200 GSB @PRTCOUNT 210 RTN 220 @PRTCOUNT 230 ?"Hour=";H;" Count=";C;" Total=";T 240 ?CHR$(30); 250 RTN
例えばイベント会場などで朝の9時からカウントしたい場合は、40行の「H=0」を「H=9」に変えて、9時ジャストに起動すれば、実際の時刻と合います。
赤外線センサーは、デフォルトでは一度検知してONになると、3秒間ほど保持してからOFFになります。それが最短時間なので、家族や団体などで一度にたくさん人が通るとうまくカウントできません。
なお、センサーにVR(可変抵抗)が付いていて、ドライバーで回してON時間を調整できるのですが、そのままにしていじらない方がいいです。下手に回すと壊れてカウントできなくなります。私はそれで失敗して、センサーを1個ダメにしました(^_^;)