更多内容,请访问我的网站:https://jiangge12.github.io/
有个小项目需要用到16通道ADC,速度精度倒是没什么要求。
单片机 IO 尤其是支持ADC的不太够,考虑外接16通道ADC芯片,但成本较高。
想来想去,CD4067 16通道模拟切换 凑合一下吧。
Arduino IDE 可以搜到几个4017的库,不过看了看pdf,没必要,自己对付几句byte操作就够了:
byte i;
boolean S0;
boolean S1;
boolean S2;
boolean S3;
void setup() {
Serial.begin(115200);
pinMode(5,OUTPUT); // CD4067 S0
pinMode(4,OUTPUT);
pinMode(3,OUTPUT);
pinMode(2,OUTPUT);
}
void loop() {
for(i=0;i<16;i++){
S0 = i & 0x01;
S1 = i & 0x02;
S2 = i & 0x04;
S3 = i & 0x08;
digitalWrite(5,S0); // S0-S3设置CD4067通道号
digitalWrite(4,S1);
digitalWrite(3,S2);
digitalWrite(2,S3);
Serial.print(analogRead(A0)); Serial.print(",");
}
Serial.println("");
delay(5000);
}