硬件准备

•树莓派 x1
•面包板 x1
•杜邦线 x2
•LED灯 x1
•电阻680欧姆x1

树莓派GPIO引脚

image.png
Ø以BOARD编码为例:
Ø1号引脚,是输出1个3.3伏的电压,也就是如果用数字万用表去测量这根引脚的电压,会一直测出来是3.3伏。
Ø2号引脚,是输出1个5伏的电压,也就是如果用数字万用表去测量这根引脚的电压,会一直测出来是5伏。
Ø6号引脚,是一个GND,也就是接地,如果测量电压的话,就是0伏。
Ø11号引脚,是绿色图标,旁边写着GPIO.0,这个接口就是普通的接口,可以输入也可以输出。如果设置为输出,则可以输出高电压或者低电压。输出高电压就是3.3伏,输出低电压就是0伏。可以通过程序来控制。
Ø假如需要一个恒定的电压输出到某个电路,则可以选择3.3v或者5v的相应接口。假如需要一个变化的电压输出到某个电路,则可以选择绿色的GPIO接口,例如11号、12号、13号、15号等。

实验接线

image.png

程序设计

  1. 导入模块RPI.GPIO模块
  2. import RPi.GPIO as GPIO
  3. 检查模块是否引入成功
  4. try:
  5. import RPi.GPIO as GPIO
  6. except RuntimeError:
  7. print("引入错误")
  8. 指定一种引脚编号规则:
  9. GPIO.setmode(GPIO.BOARD)
  10. # or
  11. GPIO.setmode(GPIO.BCM)
  12. 引脚设置
  13. # 将引脚设置为输入模式
  14. GPIO.setup(channel, GPIO.IN)
  15. # 将引脚设置为输出模式
  16. GPIO.setup(channel, GPIO.OUT)
  17. # 为输出的引脚设置默认值
  18. GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
  1. #!/usr/bin/env python
  2. # encoding: utf-8
  3. # 导入模块RPI.GPIO,命名为别名为GPIO
  4. import RPi.GPIO as GPIO
  5. # 导入time模块
  6. import time
  7. # 声明 GPIO 使用物理编号方式,也就是11号口就是物理编号11号口
  8. GPIO.setmode(GPIO.BOARD)
  9. # 声明11号口是用于输出模式
  10. GPIO.setup(11, GPIO.OUT)
  11. # 设置11号口为高电压,也就是11号口变为3.3伏
  12. # 这行代码执行之后,11号口变为高电压,
  13. # 那么根据电路原理,led灯就会亮起来
  14. GPIO.output(11, GPIO.HIGH)
  15. # 程序休眠3秒钟,程序休眠期间,led灯会一直亮着
  16. time.sleep(3)
  17. # 设置11号口为低电压,也就是11号口变为0伏,和GND一样
  18. # 这行代码执行之后,11号口变为低电压,那么根据电路原理,led灯就会熄灭
  19. GPIO.output(11, GPIO.LOW)
  20. # 将所有的GPIO口状态恢复为初始化,一般代码结束都执行此代码,这是一个好习惯
  21. GPIO.cleanup()

image.png