人が来たカウンタ
ArduinoでPIRセンサを使って、人が来たことを数えてみましょう。
人感センサ(PIRセンサ)を使って人が来たことを数える。PIRセンサは感度が高く、一度反応してから元にもどるまでタイムラグがあるので注意が必要。
コード
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Arduino.h> | |
#include <TM1637Display.h> | |
#define CLK 13 | |
#define DIO 12 | |
TM1637Display display(CLK, DIO); | |
#define TEST_DELAY 20000 | |
int _ABVAR_1_N = 0 ; | |
int _ABVAR_2_Senser = 0 ; | |
void Disp(); | |
void Count(); | |
uint8_t data[] = { 0x00, 0x00, 0x00, 0x00 }; | |
void setup() | |
{ | |
pinMode( 4 , INPUT); | |
digitalWrite(4, HIGH); | |
_ABVAR_1_N = 0 ; | |
_ABVAR_2_Senser = 0 ; | |
display.setBrightness(0x0f); | |
} | |
void loop() | |
{ | |
if (digitalRead(4)) | |
{ | |
if (( ( _ABVAR_2_Senser ) == ( 0 ) )) | |
{ | |
_ABVAR_2_Senser = 1 ; | |
Count(); | |
Disp(); | |
} | |
else | |
{ | |
} | |
} | |
else | |
{ | |
_ABVAR_2_Senser = 0 ; | |
} | |
delay( 1000 ); | |
} | |
void Count() | |
{ | |
_ABVAR_1_N = ( _ABVAR_1_N + 1 ) ; | |
} | |
void Disp() | |
{ | |
display.showNumberDec(_ABVAR_1_N, false); | |
delay(TEST_DELAY); | |
display.setSegments(data); | |
} | |
Post a Comment