介绍:如何在树莓派上进行模拟读数
大家好!在本教程中,我将向您展示如何使用Raspberry Pi直接捕获模拟值。正如我们所知,树莓Pi是一款功能强大的微型计算机模块,深受爱好者和专业人士的欢迎,几乎具备任何电子爱好者想要的所有功能。然而,pi的唯一缺点是缺乏专用的模数转换器硬件,这使得pi不适合直接记录来自任何传感器的模拟值。解决方案是将Arduino与Pi结合使用,或使用专用ADC。对于这个项目,我将使用MCP3204-12位ADC。
供应:
- 覆盆子派(你可以使用你现有的任何型号)
- MCP3204或MCP3008 ADC
- 模拟传感器(我使用10K电位计代替)
- 电路试验板
- 跳线
第一步:从Arduino中获取价值,而不是....
获得树莓pi模拟值的一个替代方法是使用arduino,它有一个专用的10位ADC。arduino和树莓派可以通过串口通信来传输信息。这种方法可以用于当您正在试验一些传感器数据,同时您想要利用Pi的处理能力。这种配置的缺点是,您将使用更多的硬件资源,并且还必须为arduino和Pi编写单独的代码。金宝博比分直播手机版
步骤2:使用ADC..
使用Arduino作为ADC的另一种选择是使用专用ADC IC,用于相同的目的。对于这个项目,我将使用MCP3204 IC,这是一个4通道12位ADC,可以使用SPI协议与树莓派通信。我将在10位模式下使用IC。
我已经附上了这个IC的引脚,显示引脚描述。
步骤3:连接树莓派和ADC
现在我们已经对硬件进行了排序,让我们进入ADC和Pi的连接方案。
树莓派有2个SPI接口:SPI0和SPI1。对于我们的应用程序,我们将使用SPI0,我们将使用物理(或硬件)SPI,在那里我们将ADC连接到Pi的特定硬件SPI引脚
我附上了Pi的Pinout和我在项目中使用的电路图
连接方案如下:
- ADC的VDD(Pin14)和Vref(Pin13)到Pi的5V电源
- DGND(Pin7)和ADC的AGND(Pin12) to the ground of the Pi
- ADC的CLK(Pin11)到Pi的GPIO 11(物理引脚23)
- ADC的Dout(Pin10)到Pi的GPIO 9(物理引脚21)
- ADC的Din(引脚9)到Pi的GPIO 10(物理引脚19)
- ADC的芯片选择(引脚8)到Pi的GPIO 8(物理引脚24)
步骤4:最后的安装和代码。
现在,所有的电源和通信连接已经完成,是时候附加任何我们希望看到的传感器了。我使用一个10K电位器作为传感器。
这些代码分为两部分编写,第一部分代码主要是关于设置库、启用SPI通信,然后从MCP3204获取ADC值,然后在python终端上打印出来。
第二种代码更具交互性,可以创建来自传感器的实时数据的图表。
您可以对代码进行修改,使其适合您的需要。
第五步:指导视频
这个视频详细描述了实现这个项目的所有必要步骤。我希望这对你有帮助!

参加了
机器人竞赛
讨论