树莓派3 b GPIO 点亮小灯泡

发布于 2022-09-03 01:24:04 字数 1594 浏览 32 评论 0

0X00 问题环境

设备:树莓派3 B
系统:raspbian
LED 一只 (发光二极管?)
LED接线: 正极(长腿)接37(gpio26) 负极接4(5V)
接线

0X01 成功代码

使用如下方式可以点亮熄灭LED

#!/bin/bash  
#利用echo输出一些提示语句  
echo export pin $1  
echo $1 > /sys/class/gpio/export  
  
echo setting direction to output  
echo out > /sys/class/gpio/gpio$1/direction  
  
echo setting pi high  
echo 1 > /sys/class/gpio/gpio$1/value  

当然手动一行一行写也是没有问题的

代码来自http://blog.csdn.net/xukai871105/article/details/18517729

0X02 失败代码

下面这段代码会正常执行并进入死循环,但是LED没有丝毫反应

#!/usr/bin/env python                                                           
 
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(26, GPIO.OUT)

while True:
     GPIO.output(26, True)
     time.sleep(1)
     GPIO.output(26, False)
     time.sleep(1)

然后网上有人这么说

你这里用的GPIO.BOARD代表的是板子上的序号,然后我就把代码中所有的26改成了序号,也就是37 可是会出现下面这个错误
Traceback (most recent call last):
  File "led.py", line 7, in <module>
    GPIO.setup(37, GPIO.OUT)
RPi.GPIO.InvalidChannelException: The channel sent is invalid on a Raspberry Pi

0X03 请求援助

我应该怎么用Python控制GPIO ? 还有就是有没有合适新手看的教程推荐一下?
我个人条件:
1.了解Linux基本操作,基础的系统管理
2.了解C语言和Python的语法
所以也不算0基础

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

自控 2022-09-10 01:24:05

用 Wiring Pi 的来歪个楼,os.system("echo %d > /sys/class/gpio/export" % 26),以此类推:-)


严肃的答案:
既然 sysfs 可以正常操作 GPIO,不妨用这个操作 sysfs 的库。
https://github.com/derekstavis/python-sysfs-gpio

痴意少年 2022-09-10 01:24:05

图片描述
可以参考一下这张图里有引脚编号对照表

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文