昨天的帖子中,我们已经介绍了如何安装香蕉派版本的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 | #!/usr/bin/env python` |
试着执行一下:
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,是不是一闪一闪的啦?
相关链接
相关资料
- https://www.banana-pi.org.cn/m3.html
- https://github.com/BPI-SINOVOIP/RPi.GPIO
- http://wiki.banana-pi.org/Getting_Started_with_M3#Using_RPi.GPIO
- http://wiki.banana-pi.org/Banana_Pi_BPI-M3#GPIO_PIN_define
- https://sourceforge.net/projects/raspberry-gpio-python/
- https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/
- https://github.com/BPI-SINOVOIP/BPI-WiringPi2
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’