ESP8266模拟输入引脚不够用怎么办——CD74HC4067使用一路ADC 采集16路模拟信号

        ESP8266只有一路ADC引脚,但是在实际应用中常常是不够用得,比如智能寻线小车就常常需要4个甚至更多的模拟输入引脚。如何解决这个问题呢,CD74HC4067就给了我们一个解决这个问题的简单方法。

        CD74HC4067 作用是选通一路对十六路信号(数字信号或模拟信号),就像一个单刀多掷开关,根据芯片上 S0-S3 四个不同管脚的组合,让SIG管脚和C0-C15导通(每次只能连接一个),它适用于数字和模拟信号,可以只用5针最多连接16传感器系统(其中4针负责16路模拟信号中的哪一路通过,另一路负责将输入的模拟信号传送到单片机。)。由于具有这样的功能,所以CD74HC4067也被叫做模拟信号多路复用器,意思是16路模拟信号,都通过一路模拟输入引脚将模拟数据传送到单片机。在这里我们可以利用它来扩展ESP8266的ADC引脚不足的问题。

S0-S3的组合方式与对应得通道左边是组合方式右边是对应得通道:

    {0, 0, 0, 0},         //channel 0
    {1, 0, 0, 0},         //channel 1
    {0, 1, 0, 0},         //channel 2
    {1, 1, 0, 0},         //channel 3
    {0, 0, 1, 0},         //channel 4
    {1, 0, 1, 0},         //channel 5
    {0, 1, 1, 0},         //channel 6
    {1, 1, 1, 0},         //channel 7
    {0, 0, 0, 1},         //channel 8
    {1, 0, 0, 1},         //channel 9
    {0, 1, 0, 1},         //channel 10
    {1, 1, 0, 1},         //channel 11
    {0, 0, 1, 1},         //channel 12
    {1, 0, 1, 1},         //channel 13
    {0, 1, 1, 1},         //channel 14
    {1, 1, 1, 1}         //channel 15

用法:如果单片机需要读取第15通道的信号,就给S0-S4这四个管脚分别输出1,1,1,1也就是每个管脚都是高电平。这时从ADC读出的信号就是第15通道输入的模拟信号。以此类推如果要读取14通道的模拟信号,就给这四个管脚输出0,1,1,1也就是低电平、高电平、高电平、高电平。

当然你可能并不需要16路信号。仔细看以上的S0-S4组合可以看出,只需要接S0-S2,不接S3也就是使其保持低电平,通过S0-S2组合就可以输入8路模拟信号了。

你可能感兴趣的:(ESP8266/ESP32,UNO,单片机,stm32,嵌入式硬件)