栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【树莓派学习笔记】三、点亮一个LED灯(C语言 - WiringPi、Python - RPi.GPIO/GPIO Zero、bash脚本)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【树莓派学习笔记】三、点亮一个LED灯(C语言 - WiringPi、Python - RPi.GPIO/GPIO Zero、bash脚本)

C语言WiringPi PythonRPi.GPIOGPIO Zero bash脚本

平台 树莓派3B
版本 2021-05-07-raspios-buster-armhf

若GPIO输出为3.3V 采用压降为1.7V的红色LED灯
设工作电流为15mA 则限流电阻取≥(3.3 - 1.7)/0.015 106.67欧较为安全。

C语言 WiringPi

API 手册
WiringPi预装在标准的树莓派操作系统Raspbin中。也可以使用下面的命令进行安装

sudo apt-get install wiringpi

如果需要更新WiringPi 可以使用系统更新命令

sudo apt-get update
sudo apt-get upgrade

WiringPi安装完成后 可以使用下面的命令测试是否安装成功

sudo gpio -v

如果系统中安装了WiringPi 该命令可以显示出其版本号、作者及当前树莓派的一些信息 如下图所示

WiringPi对树莓派物理引脚进行了封装 定义了一套自己的引脚编号。
如果要查看当前树莓派的引脚编号 可以使用如下命令

sudo gpio readall


在合适的目录下编辑源文件

#include wiringPi.h 
int main(int argc, char * argv[])
 char i;
 wiringPiSetup();
 pinMode(0, OUTPUT);
 for(i 0; i 10; i)
 digitalWrite(0, HIGH);
 delay(500);
 digitalWrite(0, LOW);
 delay(500);
 return 0;


Ctrl O 回车 保存
Ctrl X退出编辑
编译这段代码

gcc -o main.o main.c -lwiringPi

运行目标文件

./main.o

Python RPi.GPIO

API 手册
在合适的地方编源码

nano main.py
import RPi.GPIO #导入RPi.GPIO库
import time
RPi.GPIO.setmode(RPi.GPIO.BOARD) #选择GPIO编号系统 BCM 对应 GPIO numbers, BOARD 对应 physical numbers
RPi.GPIO.setup(11, RPi.GPIO.OUT) #把引脚设置为输出模式
for _ in range(10):
 RPi.GPIO.output(11, RPi.GPIO.HIGH)
 time.sleep(0.5)
 RPi.GPIO.output(11, RPi.GPIO.LOW)
 time.sleep(0.5)

Ctrl O 回车 保存
Ctrl X退出编辑
运行脚本

python3 main.py

可以观察到LED成功闪烁。

GPIO Zero

API手册
使用pinout命令查看引脚编号

在合适的地方编源码

nano main.py
import gpiozero 
import time 
LED_R gpiozero.LED(17) 
for _ in range(10):
 LED_R.on() 
 time.sleep(0.5)
 LED_R.off() 
 time.sleep(0.5)

Ctrl O 回车 保存
Ctrl X退出编辑
运行脚本

python3 main.py

可以观察到LED成功闪烁。

bash脚本

在合适的地方编写源码

在Linux中 外部设备经常被表示成文件。向文件写入或读取字符 就相当于向设备输出或者从设备输入字 符。树莓派上的GPIO端口也是如此 其代表文件位于/sys/class/gpio/ 下。

nano main.bash
#!/bin/bash
echo 17 /sys/class/gpio/export
echo out /sys/class/gpio/gpio17/direction
COUNTER 0
while [ $COUNTER -le 10 ]
 echo 1 /sys/class/gpio/gpio17/value
 sleep 0.5
 echo 0 /sys/class/gpio/gpio17/value
 sleep 0.5
 let COUNTER 1
echo 17 /sys/class/gpio/unexport


Ctrl O 回车 保存
Ctrl X退出编辑
运行脚本

chmod 777 main.bash
./main.bash

可看到LED灯闪烁。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号