oflyhigh avatar

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

oflyhigh

Published: 22 Jun 2019 › Updated: 22 Jun 2019香蕉派M3 GPIO点亮LED (中): 点亮LED

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

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

alt

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

M3 GPIO

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

alt

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

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

LED连接

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

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

代码

#!/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

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

alt

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

相关链接

相关资料


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE
alt
Vote @oflyhigh via Steemconnect
Thank you!

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

Written by

Programmer, Maker, Freelancer, Witness. Make friends, Make money, Make life better!

Read more #cn posts


Best Posts From oflyhigh

We have not curated any of oflyhigh's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From oflyhigh