<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.linksprite.com/index.php?action=history&amp;feed=atom&amp;title=RPI_ADC_base_shield_%E6%95%99%E7%A8%8B_%E4%B8%AD%E6%96%87%E7%89%88</id>
	<title>RPI ADC base shield 教程 中文版 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linksprite.com/index.php?action=history&amp;feed=atom&amp;title=RPI_ADC_base_shield_%E6%95%99%E7%A8%8B_%E4%B8%AD%E6%96%87%E7%89%88"/>
	<link rel="alternate" type="text/html" href="https://wiki.linksprite.com/index.php?title=RPI_ADC_base_shield_%E6%95%99%E7%A8%8B_%E4%B8%AD%E6%96%87%E7%89%88&amp;action=history"/>
	<updated>2026-04-27T15:15:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.linksprite.com/index.php?title=RPI_ADC_base_shield_%E6%95%99%E7%A8%8B_%E4%B8%AD%E6%96%87%E7%89%88&amp;diff=3461&amp;oldid=prev</id>
		<title>Jingfeng: Created page with &quot;教你如何在raspberry pi上使用RPi_Shield的ADC 首先介绍下RPi_Shield上使用的ADC芯片型号是：MCP3004（10位精度，4通道，SPI通讯），下面教你如...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linksprite.com/index.php?title=RPI_ADC_base_shield_%E6%95%99%E7%A8%8B_%E4%B8%AD%E6%96%87%E7%89%88&amp;diff=3461&amp;oldid=prev"/>
		<updated>2013-07-29T16:24:42Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;教你如何在raspberry pi上使用RPi_Shield的ADC 首先介绍下RPi_Shield上使用的ADC芯片型号是：MCP3004（10位精度，4通道，SPI通讯），下面教你如...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;教你如何在raspberry pi上使用RPi_Shield的ADC&lt;br /&gt;
首先介绍下RPi_Shield上使用的ADC芯片型号是：MCP3004（10位精度，4通道，SPI通讯），下面教你如何使用（python）。&lt;br /&gt;
因为我们使用了spi通讯、所以我们需要启动spi内核模块，&lt;br /&gt;
先编辑内核模块的黑名单文件，使能spi ：&lt;br /&gt;
  sudo vi /etc/modprobe.d/raspi-blacklist.conf&lt;br /&gt;
修改为：   #blacklist spi-bcm2708&lt;br /&gt;
然后输入指令 lsmod 你可以看到如下内容：&lt;br /&gt;
Module                  Size  Used by&lt;br /&gt;
spi_bcm2708             4421  0&lt;br /&gt;
接下来安装python-pip （ pip是一个可以替代easy_install的安装和管python软件包的工具 ） ：&lt;br /&gt;
sudo apt-get install python-imaging python-imaging-tk python-pip python-dev git&lt;br /&gt;
利用pip安装spidev：&lt;br /&gt;
sudo pip install spidev&lt;br /&gt;
利用pip安装WiringPi （ WiringPi是专门为树莓派打造的类似于arduino下的wiring驱动库，安装好这个库后无论是用c、shell还是python都可以直接调用函数配置和控制GPIO功能）：&lt;br /&gt;
sudo pip install wiringpi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
到这里前期的工作已经完成，下面是MCP3004的python驱动代码：&lt;br /&gt;
Import spidev&lt;br /&gt;
Import time&lt;br /&gt;
&lt;br /&gt;
spi = spidev.SpiDev()&lt;br /&gt;
spi.open(0,0)&lt;br /&gt;
&lt;br /&gt;
def readadc(adcnum):&lt;br /&gt;
# read SPI data from MCP3004 chip, 4 possible adc's (0 thru 3)&lt;br /&gt;
    ifadcnum &amp;gt;3oradcnum &amp;lt;0:&lt;br /&gt;
        return-1&lt;br /&gt;
    r = spi.xfer2([1,8+adcnum &amp;lt;&amp;lt;4,0])&lt;br /&gt;
    adcout = ((r[1] &amp;amp;3) &amp;lt;&amp;lt;8)+r[2]&lt;br /&gt;
Returnadcout&lt;br /&gt;
&lt;br /&gt;
whileTrue:&lt;br /&gt;
    value=readadc(0)&lt;br /&gt;
volts=(value*3.3)/1024&lt;br /&gt;
    print(&amp;quot;%4d/1023 =&amp;gt; %5.3f V&amp;quot; % (value, volts))&lt;br /&gt;
    time.sleep(0.5)&lt;br /&gt;
&lt;br /&gt;
保存为linker_adc.py文件，进入到相关的目录下运行：&lt;br /&gt;
Python ./linker_adc.py&lt;br /&gt;
运行后会在终端显示如下信息：&lt;/div&gt;</summary>
		<author><name>Jingfeng</name></author>
		
	</entry>
</feed>