1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【树莓派学习笔记】三 点亮一个LED灯(C语言 - WiringPi Python - RPi.GPIO/GPIO Zero bash脚本)

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

时间:2019-06-13 22:07:37

相关推荐

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

目录

C语言WiringPiPythonRPi.GPIOGPIO Zerobash脚本

平台:树莓派3B

版本: -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 updatesudo 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 timeRPi.GPIO.setmode(RPi.GPIO.BOARD) #选择GPIO编号系统 BCM 对应 GPIO numbers, BOARD 对应 physical numbersRPi.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/bashecho 17 > /sys/class/gpio/exportecho out > /sys/class/gpio/gpio17/directionCOUNTER=0while [ $COUNTER -le 10 ]doecho 1 > /sys/class/gpio/gpio17/valuesleep 0.5echo 0 > /sys/class/gpio/gpio17/valuesleep 0.5let COUNTER+=1doneecho 17 > /sys/class/gpio/unexport

Ctrl+O 回车 保存

Ctrl+X退出编辑

运行脚本

chmod 777 main.bash./main.bash

可看到LED灯闪烁。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。