我正处于使用Arduino Uno控制8个距离传感器的项目的规划阶段,并且遇到了一个小障碍,Uno只有六个输入引脚。所以我想知道,有什么办法可以解决这个问题吗?如果是这样,如何?

#1 楼

有多种方法可以实现(TMTOWTDI)。

有几种方法可以将8个模拟输入连接到Arduino。 ,正如georgebrindeiro建议的那样。如:(a),(b),(c),(d)等。
将Arduino替换为已内置足够的模拟输入的Arduino。例如具有8个模拟输入的Arduino Mini,具有12个模拟输入的Arduino Due(b),(a)具有16个模拟输入的Arduino Mega(b),具有14个模拟输入的Teensy 3.0(c)等。
添加一个或多个外部ADC,并将其连接到CPU的数字引脚。如:带16位ADC的Arduino 4-20mA Shield(a); ADS1115 16位ADC-具有这些板中的4个,来自Arduino的2个数字引脚用于读取16个模拟输入(b); MCP3208 8通道12位SPI ADC(c); 8通道16位Raspi模拟板(d); Arduino和LTC2440 24位ADC(e)(f); “ The Brick” 8个单端16位模拟输入(g);等。

ps:模拟输入的多路复用需要一个“模拟多路复用器”-大多数多路复用器是“数字多路复用器”,不适用于模拟输入。 br />我使用的所有超声波距离传感器仅需要数字I / O引脚。
您正在使用哪种距离传感器?

评论


$ \ begingroup $
当然!您的权利,他们只需要输入/输出,谢谢!
$ \ endgroup $
–迪伦·卡兹(Dylan Katz)
13年5月6日在18:31

#2 楼

每当数字系统中信号的数量超过适当输入的数量时,就可能需要多路复用器或简单地将其复用。 M对N多路复用器是一种电路,使您可以选择要输出到N个多路复用器输出的M个输入信号中的哪一个,通常使用数字引脚进行选择。

找到了针对Arduino Uno的解决方案:Mux Shield。希望能有所帮助!