int stat= HIGH;unsigned 
long startTime;
void setup() {  Serial.begin(
9600);  pinMode(
10, INPUT);   startTime = millis();}
void loop() {  unsigned 
long curTime;  
int value = digitalRead(
10);  
if(
value != stat){       curTime = millis();    stat = 
value;    
if(stat == HIGH){       Serial.print(
"0\t");      Serial.println(curTime-startTime);      startTime = curTime;    }
else{                  Serial.print(
"1\t");      Serial.println(curTime-startTime);      startTime = curTime;    }  }}
一切就绪,先在电脑上监听串口 然后手机重新打开app,点击绑定,输入wifi密码 11111111 然后下一步直到提示放上来点。这个时候把光敏电阻模块的感光头对准屏幕中心区域,开始入网后马上屏幕上就开始刷数据了。将所有输出保存到data.txt,然后我们拉一段出来分析。
很明显的两种长度 一种是50毫秒左右 一种是200毫秒左右。而且有个很奇怪的现象,200毫秒左右的数据只会出现在1的时候 而0全部都是50毫秒左右。如果按照我们上面的假设 两种颜色分别代表1和0, 那么所有0都是50毫秒这也太不正常了。
而且1只有50或者200毫秒两种情况也不对劲。
直接看数据有点不够直观,想办法转换成图形:

phpgd库直接画的 凑合看吧 图中横坐标是时间 纵坐标是数据(0|1)。我们原先的推测是这样的:

显然有问题, 再看上面的图片想到另一种推测:会不会1的宽度才是实际数据,而0只是做为一个间隔。