通过Raspberry Pi(树莓派)的GPIO接口控制发光二极管

硬件部分 

树莓派的3.3V输出口可以提供的最大电流是50mA,并且不应让树莓派的单针脚的输出电流>10mA。

发光二极管的驱动电流一般是5~20mA。因此,驱动发光二极管是不成问题的。在电流为10mA时,可计算得电阻应为3.3V/0.01A=330Ω,考虑到工作状态下的发光二极管的正向电阻一般为几十到几百欧姆,因此我们拿发光二极管串联一个270Ω的电阻就差不多了。我实际是用的一个750Ω的电阻.

树莓派默认只有8个GPIO,从0-7对应的分别是下图中绿色部分,请大家使用这8个GPIO

attachments/201210/2131691961.jpg

我们 使用 1 和 11 接头。

使用了面包板、1P杜邦线、跳线、750Ω电阻、LED。

attachments/201210/9647192378.jpg

环境安装

安装python

sudo apt-get install python-dev

安装RPi.GPIO 

官方地址 http://pypi.python.org/pypi/RPi.GPIO/,目前最新版为RPi.GPIO-0.4.1a

wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.4.1a.tar.gz

tar -zxvf RPi.GPIO-0.4.1a.tar.gz

cd RPi.GPIO-0.4.1a/

sudo python setup.py install

安装很顺利,基本就没遇到什么问题

软件代码

  1. import RPi.GPIO as GPIO
  2.  import time
  3.  def blink(times, delay):
  4.  GPIO.setmode(GPIO.BOARD)
  5.  GPIO.setup(11, GPIO.OUT)
  6.  while times>0:
  7.  if 0==times%2:
  8.  GPIO.output(11, GPIO.HIGH) #or output(11, GPIO.True)
  9.  else:
  10.  GPIO.output(11, GPIO.LOW)
  11.  time.sleep(delay)
  12.  times-=1
  13.  return
  14.  if __name__ == ‘__main__’:
  15.  blink(20, 1)

python是通过缩进来控制结构的,这个要注意了。不要乱添加缩进的空格,包保证对齐。

命令行执行命令

sudo python led.py

即可看到效果

控制效果如下图

attachments/201210/1558208135.jpg