树莓派教程——LED灯

树莓派B+引脚图

###首先
我们来看一下引脚图
我的树莓派型号是B+,所以有40个针脚,如果你的只有26个针脚,没关系,图中的前26个针脚和你的功能是一样的
通过引脚图,可以知道这些GPIO口中,有一些引脚有固定的用法,比如有电压输出引脚,包括3.3V和5V,也有GND引脚,也就是通常说的地,还有一些引脚具有SPI功能,更多的引脚是general属性,也就是我们可以根据自己的用途定义引脚

###第一次点亮LED灯
好,我们先只通过硬件实现点亮LED灯,不带程序
那利用哪些引脚呢?没错!就是3.3V的输出和GND引脚。把LED灯的两个引脚分别接3.3V和GND(正负极性勿接反),然后给树莓派上电!
效果就是下图
树莓派点亮LED图

###带呼吸灯效果的跑马灯
先看个演示视频吧


是否有点意思?
看视频差不多看到了引脚的接线方法,我这里再讲下吧
四个LED灯正极分别接 7,11,13,15 针脚,负极都接GND
其实很简单
然后直接看程序吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

channels = [7,11,13,15]
p = [0 for x in range(4)]

for ch in channels:
GPIO.setup(ch, GPIO.OUT)

for i in range(4):
p[i] = GPIO.PWM(channels[i], 50) #频率设为50Hz
p[i].start(0) #0是占空比

try:
while True:
for ch in range(4):
for dc in range(0, 101, 1):
p[ch].ChangeDutyCycle(dc) #更改占空比
time.sleep(0.005)
for dc in range(100, -1, -1):
p[ch].ChangeDutyCycle(dc)
time.sleep(0.005)
except KeyboardInterrupt:
gpio.cleanup()
print "All Cleanup!"

关键代码都有注释,我就不浪费口舌了。玩的愉快!