0.学校办了星火杯,我头铁的报了名,于是就出现了这个东西。
1.UNO读取电压
1.1ADC读取电压
UNO自己有数模转换功能,所以理论上可以直接接上两根线读取,读取到的值是0到1023(对应0到5v)
注意浮空态,当什么都不接的时候,读数不是想象中的0v,而是一个固定的1v左右的电压,叫做浮空态,但是我不知道原理。
pinMode(A0, INPUT);
vol[i] = analogRead(A0);
1.2档位切换
设想是有三个电压(500mv,5v,12v)相互切换,而UNO只能读取0-5v的电压,而且精度只到10位。所以决定再接一个板子来实现换挡功能。
这样就将过大或者过小的电压放到了适合UNO读的范围。
1.3处理读数
有的时候的读数会非常抽象,并不会是一个完美的平滑的值,而是会有突然抽风的最高最低值,所以说要进行一些处理,把不合理的值剔除掉
int st