香蕉派M3 GPIO点亮LED (中): 点亮LED

香蕉派M3 GPIO点亮LED (中): 点亮LED

昨天的帖子中,我们已经介绍了如何安装香蕉派版本的RPI.GPIO,今天我们继续来看看如何使用RPI.GPIO点亮LED。

在点亮LED之前,我们先来看看如何接线,在接线之前,我们需要知道哪跟针可以用来做输出,比如如果我错误的选用电源针或者接地的针,那是万万不可以做为输出的。

M3 GPIO

还好香蕉派官网的页面里提供了香蕉派M3的GPIO的图示:

然而新问题来了,这个图示是40针没错,香蕉派M3上也是40针没错,但是是从哪个方向数起呢?

这时需要我常用的一副M3实物图立功啦,看到下图左上部分天线接口旁边的一个小三角号图标吗?哪个指向的针脚就是GPIO图示中的1。

LED连接

知道了怎么数之后,上边GPIO示意图中的绿色针脚我们就可以随便使用了。当然也不是其它颜色的针脚不可以作为输出,但是一般它们可能会有一些特定的用途比如用作UART或者SPI之类的,另外就是电源和地是不用用做输入输出的。

为了方便我们选择11针作为输出,之所以选择这个,是因为它旁边的9号针就是地,方便接线。我们将一只LED与一只220欧姆的电阻串联(之所以串联电阻是避免电流过大烧毁LED),并接到11号针以及9号针之间,注意LED的正极(长的脚)接11号针。

代码

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python`
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)

试着执行一下:

BPI: gpioLayout(25)
BPI: name[bpi-m3] gpioLayout(25)
enter to sunxi_setup
Traceback (most recent call last):
File “./test2.py”, line 7, in
GPIO.setup(11, GPIO.OUT)
RuntimeError: No access to /dev/mem. Try running as root!

啥,竟然要root权限?好吧,或许需要root权限才更合理,否则随便哪个用户都可以控制岂不是乱套了。

sudo 与virtualenv的问题

因为我使用的是virtualenv,所以直接sudo python xxx的方式会调用系统python,导致找不到香蕉派版本的RPI.GPIO。

所以需要这样执行sudo指令:

sudo venv/bin/python test2.py

执行后输出类似如下内容:

也就是说会在11针交替(间隔一秒)输出高低电平,这时再去看我们的LED,是不是一闪一闪的啦?

相关链接

相关资料


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

This page is synchronized from the post: ‘香蕉派M3 GPIO点亮LED (中): 点亮LED’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×