int pin = 4; //连接到pin 4
int i;
int j;
int n = 0; //码盘读数(即状态跳变次数)
int flag = 0; //因为初始读数可能为0或1,该标志是用来读取初始状态的
void setup() {
Serial.begin(9600);
pinMode(pin, INPUT);
}
void loop() {
i = digitalRead(pin); //读取码盘状态(0或1)
if(!flag){ //获取初始状态读数
j = i;
flag = 1;
}
if(i != j){ //每次状态发生跳变的时候,读数增加1
n += 1;
j = i;
}
Serial.println(n);
}