树莓派 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 方法一 通过终端命令

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

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

cd gpio26

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

控制GPIO 方法二 通过Python控制

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语言控制

#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;
}

编译运行

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





树莓派遇到的问题

gpio readall 未找到命令

原因是缺少[[wiringPi]]库

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

安装wiringPi库

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

如果提示make 找不到命令

sudo apt update
sudo apt-get install make
sudo make

然后再执行

./build

编译成功后执行一下命令

gpio -v

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

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

1、安装依赖

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

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

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安装包

sudo dpkg -i raspi-config_20200707_all.deb

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

sudo apt install -f -y

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

sudo raspi-config
posted @ 2022-02-26 16:03  心泪珏  阅读(3991)  评论(2编辑  收藏  举报