树莓派

介绍

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 timeGPIO.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

树莓派 GPIO详细介绍与使用相关推荐

  1. 【STM32】GPIO详细介绍

    目录 GPIO概述 GPIO功能及特性 GPIO的电路结构 GPIO的工作模式 GPIO概述 GPIO是通用输入输出接口(general purpose input/output)的简称主要用于数字量 ...

  2. 树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  3. gpio引脚介绍 树莓派3b_gpio引脚介绍 树莓派3b

    陈拓chentuo@ms.xab.ac.cn 2018.06.09/2018.06.10 从网上下载了几张精美的图片,感谢图片的制作者! 0. 概述 本文介绍树莓派 Zero W的GPIO控制,并用L ...

  4. 树莓派GPIO口的使用(外设相关开发WringPi库的使用,超声波、继电器)

    树莓派的接口: 大而简单的类别:IO口,input和output是相对于主控芯片来说的,是根据MCU和外设之间的关系将IO口的功能分为output和input.当IO作为input使用时外设有:人体传 ...

  5. 树莓派pythongpio编程_树莓派gpio接口及编程方法

    树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面详细介绍一下树莓派gpio接口及编程方法. GPIO基本介绍 GP ...

  6. 树莓派GPIO驱动原理

    1.前言 最近认真学习了树莓派,从浅到深认真分析了wiringPi实现代码,借助树莓派学习linux收获颇丰.深入学习linux一段时间后发现它非常有魅力,一个简单的IO口输出操作尽有那么多的&quo ...

  7. [转载] python中pass的使用_Python pass详细介绍及实例代码

    参考链接: Python pass语句 Python pass详细介绍及实例代码 Python pass的用法: 空语句 do nothing 保证格式完整 保证语义完整 以if语句为例,在c或c++ ...

  8. 树莓派GPIO控制/使用的教程

    树莓派GPIO控制/使用的教程 介绍 使用说明 (一)导入库 (二)设置编码规范 (三)引脚设置 (四)电平控制 (五)读取引脚的输入状态 (六)释放GPIO资源 (七)示例代码 (八)PWM设置 一 ...

  9. 基于树莓派GPIO口和光电传感器的障碍物检测

    花了相当多的时间探讨了GPIO口的使用方法,接下来将重点探讨如何进行实际的应用.现有的一个简单的光电传感器为例,讲述如何实现外界障碍物的检测系统的设计. 所需的器件: 树莓派(B版本) TPLINK无 ...

最新文章

  1. Spring MVC那点事儿
  2. CCS5中的小钥匙标志是什么意思
  3. autofac 的好博文
  4. 【记录】 安装qflow on ubuntu 16.04
  5. visual assist破解
  6. Jmeter添加断言
  7. UA MATH563 概率论的数学基础 中心极限定理6 独立随机变量的和与Kolmogorov扩展定理
  8. MyBatis使用MySQL存储过程
  9. linux 编辑文件vim,linux下通过vim编辑文件的方法
  10. bytebuf池_netty源码解析(4.0)-26 ByteBuf内存池:PoolArena-PoolSubpage
  11. 採集和输出 DeckLink Studio 4K
  12. Python3 Socket和SocketServer 网络编程
  13. BZOJ2879 [Noi2012]美食节
  14. Atitit 泛型的知识点 目录 1. 为什么需要泛型 why 2 2. 定义分类 what 2 2.1. 编辑类型参数 2 2.2. 模板 2 2.3. 简单理解 占位符 代替object、 3
  15. 集成电路设计的运作模式
  16. 线性表文档之静态链表
  17. 大华平台linux密码,大华指纹锁管理员密码忘了
  18. word选择粘贴没有html格式,Word选择性粘贴怎么用?Word设置无格式文本粘贴快捷键的方法...
  19. 2017埙箫简谱清单分享(附音频Demo)
  20. 《Real-Time Rendering 4th Edition》全文翻译 - 第5章 着色基础(上)5.1 ~ 5.2

热门文章

  1. mint 19.3 解决 mtk flashtool 下载软件问题
  2. Oracle VM VirtualBox虚拟机配置(配置Windows7为例)
  3. Thinkpad R400 2786k26系列在Debian Squeeze上解决无线网卡问题
  4. 基于两阶段鲁棒优化的微网电源储能容量优化配置
  5. mysql10分钟备份一次_做好mysql运维,必须熟练掌握备份和恢复,实战一次不行多来几次...
  6. Thinkphp课程表小程序源码
  7. vs2019创建c++项目步骤_创建django项目的步骤(超级详细)
  8. 搞笑版《史记,陈冠希列传》
  9. Unite’17 开发者大会经验分享
  10. mysql日常使用中常见报错汇总