MarkGosling技术栈MarkGosling的技术栈

树莓派 GPIO详细介绍与使用

Toretto·2022-02-26 16:03·5288 次阅读

树莓派 GPIO详细介绍与使用

树莓派

介绍#

Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) [1] 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux

GPIO#


树莓派总共40个引脚#

40根引脚有不同的编号规则来定义,虽然不同的规则叫的名字不一样,但实际的用途是一致的,这里只学习一种编号规则,也就是物理位置编号,这样更容易进行物理连接。

比如:1号引脚,是输出1个3.3伏的电压,也就是如果用数字万用表去测量这根引脚的电压,会一直测出来是一个恒定并且不能变化的3.3伏。2号与4号引脚相同,只不过输出的是5伏的电压。

6号引脚,是一个GND,也就是接地,如果测量电压的话,就是0伏。(9、14、20、25、30、34、39相同)

11号引脚,是绿色图标,其实这个接口就是普通的接口,可以输入也可以输出。如果设置为输出,则可以输出高电压或者低电压。输出高电压就是3.3伏,输出低电压就是0伏。可以通过程序来控制。

控制GPIO 方法一 通过终端命令#

Copy
cd /sys/class/gpio # 进入 GPIO 目录 ls # 查看GPIO目录中的内容 # GPIO 操作接口从内核空间暴露到用户空间 echo BCM引脚编码 > export # 例如 echo 26 > export 执行之后该目录下会增加一个引脚文件 ls

这时候会看到目录下会出现一个gpio26的目录

Copy
cd gpio26

进入目录后就可以通过终端命令控制引脚了

控制GPIO 方法二 通过Python控制#

Copy
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) # 采用BCM编码 GPIO.setup(18, GPIO.OUT) for i in range(1,100): GPIO.output(18, GPIO.HIGH) time.sleep(0.5) GPIO.output(18, GPIO.LOW) time.sleep(0.5) GPIO.cleanup()

如果遇到这个警告可以忽略

RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.

控制GPIO 方法三 通过C语言控制#

Copy
#include<wiringPi.h> #define Pin 25 int mian() { if(wiringPiSetup() < 0) return1; pinMode(Pin,OUTPUT); for(int i=0;i<30;i++) { digitalWrite(Pin,1); delay(200); digitalWrite(Pin,0); delay(200); } return 0; }

编译运行

Copy
gcc -o 文件名 文件名.c -lwiringPi sudo ./文件名





树莓派遇到的问题

gpio readall 未找到命令#

原因是缺少[[wiringPi]]库

树莓派4 自带的 wiringPi 库默认是 2.50 ,无法映射到 gpio ,所以需要更新到 2.52及以上才能与树莓派映射。zero2w 则需要 2.60及以上

安装wiringPi库

Copy
git clone https://github.com/zhuhaoxlj/WiringPi cd ~/WiringPi ./build

如果提示make 找不到命令

Copy
sudo apt update sudo apt-get install make sudo make

然后再执行

Copy
./build

编译成功后执行一下命令

Copy
gpio -v

如果看到这个提示就说明安装wiringPi库成功了

树莓派安装非官方系统没有raspi-config命令的解决方法

1、安装依赖

Copy
sudo apt install whiptail parted lua5.1 alsa-utils psmisc

2、从Raspberrypi官网下载最新的deb安装包

Copy
wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20200707_all.deb

官网下载地址:

Index of /debian/pool/main/r/raspi-config (raspberrypi.org)

3、安装Deb安装包

Copy
sudo dpkg -i raspi-config_20200707_all.deb

4、装好软件还是提示缺少依赖执行错误

Copy
sudo apt install -f -y

5、运行raspi-config,需要sudo或以上权限

Copy
sudo raspi-config
posted @   心泪珏  阅读(5288)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
点击右上角即可分享
微信分享提示
目录