ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

树莓派GPIO入门:从引脚布局到实战项目保姆级教程

树莓派GPIO入门:从引脚布局到实战项目保姆级教程 写这个系列写到这里总算轮到真正好玩的环节了。前几篇我们一直在折腾系统、配置网络、安装各种软件这些事儿说句实话拿一台普通电脑也能干。但是GPIO不一样它是树莓派区别于普通电脑最核心的东西——一颗小小的引脚就能让你的代码从屏幕里走出来直接控制现实世界里的电路。GPIO这个缩写全称是General Purpose Input Output翻译过来就是通用输入输出。说人话就是板子上伸出来的一排引脚你能控制它输出高电平3.3V或者低电平0V也能读取外部设备给它的电平状态。就这么一进一出几乎所有的物联网、机器人、智能家居入门项目都是从这一排引脚开始的。这篇文章是树莓派学习系列的第7篇默认你已经能点亮树莓派、装好系统、能通过SSH或者桌面终端敲命令了。还没有搞定的话翻翻系列前面的文章把基础环境准备好再回来。这篇内容适合两类读者一类是完全没碰过硬件的新手想从零理解GPIO是什么、怎么用另一类是玩过Arduino或者STM32、想迁移到树莓派上的朋友你们会发现树莓派的GPIO思路和单片机不太一样但底层逻辑是相通的。我会从引脚布局、软件库选型、工作模式理解、实战项目到问题排查一条线讲完尽量把那些网上分散在几百篇帖子里、需要踩了坑才知道的东西一次说清楚。1. 先搞清楚GPIO到底是什么1.1 一个引脚既是嘴也是耳朵要理解GPIO我习惯用一个生活化的类比它就是一块带有很多插孔的接线板但每个插孔不光是通电那么简单它还能告诉你现在插上去的东西是高电平还是低电平同时也能由你决定我这个孔现在输出高还是输出低。数字电路里的电平概念很简单只有两种状态——高电平和低电平。在树莓派上3.3V代表逻辑10V代表逻辑0。你在代码里写一个GPIO.output(pin, 1)这个引脚就会变成3.3V写GPIO.output(pin, 0)它就变成0V。你可能会问为什么不是5V这里有一个特别容易踩的坑。树莓派的处理器是Broadcom的SoC片上系统它的IO口逻辑电平标准就是3.3V不是Arduino那种5V。所以GPIO引脚直接输入超过3.3V的电压非常容易烧坏引脚甚至整个SoC。我见过不少新手把5V电源接到GPIO引脚上结果板子直接不亮了。这句多看几遍GPIO引脚只能接受3.3V输入5V是绝对禁区。板子上的5V引脚是给外部设备供电用的不能反过来往GPIO里灌。通用输入输出里的通用二字是这个概念最精华的地方。它意味着这些引脚不是固定在某个功能上的你可以把它配制成普通输出引脚去点LED也可以配制成输入引脚去读按键甚至还可以复用成UART串口、I2C、SPI、PWM脉宽调制等专用通信接口。一颗引脚多种用途这就是通用的本质。理解了这一层你再去看那些引脚功能图就不会觉得它只是密密麻麻的针脚了。1.2 GPIO能干什么项目为什么初学者绕不开它搜索热词里有树莓派小车树莓派pico控制舵机树莓派ov5647摄像头模块树莓派4wd小车摄像头怎么打开这些高频问题你会发现一个规律这些项目的底层都是GPIO在驱动。小车的电机需要GPIO输出PWM调速舵机的角度控制需要GPIO输出特定脉宽信号摄像头模组转起来也可能是GPIO控制云台舵机。哪怕你最后做的是语音助手、智能音箱这类偏软件的项目只要涉及实体按键、LED状态灯、传感器触发就一定会有GPIO的位置。从我接触过的项目看GPIO能做的大致分四类第一类是数字输出最典型的就是点亮LED、驱动继电器、控制风扇开关第二类是数字输入读按键、读限位开关、读各种数字传感器的输出信号第三类是PWM输出通过改变脉冲宽度实现对舵机角度、电机速度、LED亮度的精确控制第四类是通信协议利用引脚的复用功能跑I2C、SPI、UART挂载温湿度传感器、OLED屏幕、GPS模块这类外设。所以GPIO基础既是一块敲门砖也是后续所有硬件项目的公共底座。它不难但概念多、细节杂一不留神就会在低级错误上耗掉半天。接下来我会按照一个正常的入门路径从硬件连接到软件操作一步步把这些细节讲透。2. 引脚布局40根针里到底藏着什么2.1 40Pin排针布局速记法树莓派从早期Model B的26针发展到现在的40针这个40针排针成了标准布局。40根针分两排每排20根靠近PCB边缘的一侧通常标注着引脚编号。很多人一上来就背编号背得头大。我自己记这个布局有个土办法先找四个角板子上最明显的四个特殊引脚就是电源和地——1号引脚是3.3V2号引脚是5V3号引脚是SDAI2C数据线、4号引脚是5V5号引脚是SCLI2C时钟线、6号引脚是GND。靠边缘一排基本是电源和地交替分布这个规律记牢了接错线至少能少一半。光说规律不够直观在这里列一个常用功能速查表标出那些项目里最高频使用的引脚。你不需要一次背完但接项目前拿这张表对照一下比每次现查资料要快得多。物理引脚功能常用的GPIO编号备注13.3V电源-给传感器、模块供电25V电源-给舵机、电机驱动板等供电3I2C SDAGPIO2接OLED、温湿度传感器等5I2C SCLGPIO3接OLED、温湿度传感器等6GND-地线所有电路共用8UART TXGPIO14串口发送10UART RXGPIO15串口接收11普通IOGPIO17常用作LED或按键12PWM0GPIO18支持硬件PWM舵机首选13普通IOGPIO27-15普通IOGPIO22-16普通IOGPIO23-18普通IOGPIO24-19SPI MOSIGPIO10接SPI屏幕等21SPI MISOGPIO9-23SPI SCLKGPIO11-24SPI CE0GPIO8片选26SPI CE1GPIO7片选29普通IOGPIO5树莓派5上要注意映射变化31普通IOGPIO6-33PWM0GPIO13硬件PWM35普通IOGPIO19-37普通IOGPIO26-39GND-地线我这里只列了常见的部分不是全部。完整的40针引脚功能图网上搜树莓派4b引脚功能图会出来一大堆我建议保存一份带BCM编号和物理编号对照的高清图直接在桌面当壁纸都行。反正我当年就是这么干的用熟之前每次接线都要看图这是正常过程别嫌弃自己麻烦。2.2 三种编号方式别再搞混了树莓派的引脚编号方式有好几套新手最容易在这里晕头转向。我经常在社区里看到有人提问我用board编号写了17为什么点不亮十有八九是把两套编号混着用了。第一套叫物理编号BOARD编号就是从1到40按照排针的物理位置编号。这种编号的好处是直观——你眼睛看到几号针就写几号接线和写代码不容易错位。第二套叫BCM编号是Broadcom芯片内部的GPIO编号比如物理编号11对应的BCM编号是17物理编号12对应的是18。写代码的时候绝大多数库默认用BCM编号因为你操作的其实是SoC的引脚寄存器用芯片自己的编号更合理。第三套是wiringPi编号这是早期一个非常流行的C语言库定义的编号方式现在这个库已经停止维护了但网上大量老教程还在用。如果你照着老教程敲代码发现引脚逻辑死活不对先检查是不是wiringPi编号和BCM编号混用了。我的建议很简单写Python代码一律用BCM编号接线时对着物理编号图来找针两套编号的对照关系在手边放一份不要凭记忆硬背。我早期吃过亏一直以为GPIO11是第11号引脚实际上GPIO11是BCM编号对应物理引脚23。就是这种小错能让一个本该5分钟的LED点灯实验折腾一下午。还有一个最新的变化要提一下。树莓派5换用了新的RP1芯片来管理IO大部分GPIO编号和4B保持一致但部分引脚在功能和电气特性上有细节调整个别老的驱动库在树莓派5上也没法直接用了。这个在后面的软件选型部分我会细说。总之你要是拿树莓派4B或者5来学最好确认一下自己板子的型号再去找对应的引脚图。3. 软件操作入门装库、选库、跑第一个程序3.1 用哪个库RPi.GPIO还是gpiozero树莓派上操作GPIO的Python库最常听说的两个就是RPi.GPIO和gpiozero。RPi.GPIO是老牌库网上教程十篇里有八篇用的都是它。它的API很直白GPIO.setmode(GPIO.BCM)设置编号模式GPIO.setup(pin, GPIO.OUT)设置引脚方向然后就是GPIO.output(pin, GPIO.HIGH)这种命令。对从Arduino转过来的朋友来说这套API很有亲切感因为很接近单片机寄存器操作思路。gpiozero则是树莓派官方维护的库设计思路更面向对象、更Pythonic。一个LED就是LED(17)一个按键就是Button(2)你甚至能直接写led.blink()这种更高层的控制。它把很多硬件细节封装掉了代码非常简洁对新手极其友好。而且gpiozero在树莓派5上能正常工作RPi.GPIO这个老库在树莓派5上有兼容性问题部分功能失效或者干脆报错。所以我现在的建议非常明确如果你是纯新手直接用gpiozero。理由有三个一是官方维护树莓派5也能用二是代码可读性高以后回头看代码不容易懵三是它内部帮你处理了很多边界情况和错误排查不容易有那种为什么没反应的挫败感。如果你后续想做更底层、更高频的时序操作再考虑RPi.GPIO或者pigpio这类库。学习路径上不要一开始就在老库上死磕。3.2 环境准备与点亮LED的完整示例先说环境。新版的Raspberry Pi OS系统镜像默认装了Python 3和gpiozero检查一下没有就手动装一下命令如下sudo apt update sudo apt install python3-gpiozero python3-rpi.gpio这里我把两个库都装上了虽然实际项目里基本只会用到其中一个但初学阶段多一个选择排查问题的时候也方便。另外要注意gpiozero依赖一个后台守护服务在完整版桌面系统里默认是启动的但如果你用的是精简版系统Raspberry Pi OS Lite可能需要手动启用相关服务不然部分功能会工作不正常。遇到这种问题别慌去查系统日志能看到提示。接线是第一步也是最容易翻车的一步。先关掉树莓派电源拿一根公对母杜邦线把GPIO17BCM编号物理引脚11连到面包板上的LED正极LED负极串联一个220Ω到330Ω的限流电阻电阻另一端接地线物理引脚6或任意GND。这里有个关键点LED必须串电阻不然电流过大会烧掉LED甚至把GPIO引脚也带走。220Ω在3.3V电源下大概能输出10mA左右的电流这个电流既能点亮普通LED又远低于GPIO引脚的最大承受电流是初学者最稳妥的选择。确认接线无误后上电开机写下面这个Python脚本文件名就叫led_blink.pyfrom gpiozero import LED from time import sleep led LED(17) # 用BCM编号17对应物理引脚11 while True: led.on() sleep(0.5) led.off() sleep(0.5)在终端里用python3 led_blink.py运行。看到LED以1秒周期闪烁恭喜你的GPIO之旅正式开通了。如果没反应别急着怀疑硬件先检查三件事代码里写的编号是不是BCM编号对应物理引脚11杜邦线有没有插紧LED正负极是不是反了。LED反接不会烧只是不亮很多人第一反应是代码错了其实是脚插反了。让LED闪烁只是热身。真正要理解的是这个流程硬件连接、引脚正确、方向设置、电平控制所有GPIO项目都是这一套逻辑的变体。你把这个流程走顺了后面做什么都顺。4. GPIO的工作模式从8种模式到怎么选4.1 8种工作模式说法是哪来的树莓派上怎么对应搜索热词里有gpio的8种工作模式和gpio模式如何选择这个说法我知道它是从STM32这类ARM单片机那边来的。STM32的GPIO确实有8种工作模式包括推挽输出、开漏输出、浮空输入、上拉输入、下拉输入、模拟输入、复用推挽输出、复用开漏输出。这个概念在单片机开发里非常重要因为引脚方向、内部电阻状态、输出结构不同直接决定了你这个引脚能不能正常干活。那树莓派上有8种模式吗严格说没有这么细分的API但核心思想完全一样。树莓派的GPIO引脚在软件层面通常只区分输入和输出但输入可以用内部上拉或下拉电阻输出用默认的推挽方式。要说对应关系树莓派的输入模式大致对应STM32的浮空输入、上拉输入、下拉输入树莓派的输出模式对应推挽输出PWM和UART这类功能对应复用输出。至于开漏输出树莓派原生支持度不高通常在I2C硬件接口上才会涉及到对初学者不用深究。理解这些模式的关键是明白引脚内部的结构。我再用一个不太严谨但好懂的比喻推挽输出就像一盏灯有两个开关一个负责拉高、一个负责拉低两边轮流工作所以引脚要么是明确的3.3V要么是明确的0V开漏输出呢只有一个负责拉低的开关要输出高电平时得靠外部接一个上拉电阻把电平拉上去。在3.3V系统里我们大部分场景用推挽输出就够了这也是树莓派GPIO默认的工作方式。开漏模式没有普遍开放给用户直接配置所以初学阶段你只要搞懂输入、输出、上拉、下拉、PWM这些就足够了。4.2 上拉和下拉到底在解决什么问题上拉和下拉这个概念初学的朋友很容易忽略但它在读取按键、传感器信号时极其重要。想象一个按键的一端接GPIO另一端接地。当按键按下时GPIO读到0V也就是低电平当按键松开时GPIO引脚悬空了电位不定可能是0也可能是3.3V还可能因为周围的电磁干扰而跳变。这时候你写的代码读输入结果就是随机数按键没按下却偶尔触发一次非常让人头疼。解决办法就是给这个引脚一个默认的确定电平。如果接一个电阻把引脚拉到3.3V引脚默认就是高电平按键按下拉到低程序里就检测从高变成低这个变化。这个电阻就是上拉电阻。反过来把引脚拉到0V就是下拉电阻逻辑相反。树莓派内部带了可编程的上拉和下拉电阻不需要你额外接电阻就能激活。gpiozero的Button组件默认就启用了上拉电阻所以你用Button(2)的时候2号引脚内部已经被设置为上拉了。如果你用RPi.GPIO则需要手动设置import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.IN, pull_up_downGPIO.PUD_UP) # 启用内部上拉那什么时候需要外部电阻呢当内部电阻阻值不够强或者信号线上的干扰太大、线太长的时候内部上拉可能不稳定。常见做法是外接一个4.7kΩ到10kΩ的上拉/下拉电阻。不过对于初学阶段放在面包板上的短距离实验内部上拉通常够用不用一上来就把事情搞复杂。4.3 PWM和各模式的适用场景速查PWM是GPIO进阶里最重要的概念之一它的全称是脉宽调制简单说就是让引脚以非常快的速度在高低电平之间来回切换通过控制高电平所占的时间比例叫占空比来模拟一个介于0和3.3V之间的等效电压。打个比方你要调整台灯亮度不用真的把电压从220V调到110V而是让灯以每秒几千次的频率开关开的时间长就亮开的时间短就暗。人的眼睛感知不到这种快速闪烁只会觉得亮度变了。树莓派上有4个支持硬件PWM的引脚分别是BCM编号12、13、18、19其中18号因为能输出音频信号在音频项目里也很常用。硬件PWM的意思是PWM信号由芯片内部的定时器产生不需要CPU一直干预波形稳定适合舵机、电机这类对脉冲精度有要求的场景。如果你把PWM用在普通GPIO上软件模拟也能出波形但精度和稳定性会差很多驱动舵机时容易发抖。那GPIO模式到底如何选择我给一个速查表你接项目之前对照着看一眼使用场景引脚方向需要的模式举例点亮LED输出推挽输出LED接GPIO17驱动继电器输出推挽输出注意电流继电器模块信号脚接GPIO读取按键输入上拉输入按键一端接GPIO一端接地读取TTL传感器输入浮空输入外部上拉测速传感器、限位开关控制舵机输出硬件PWM舵机信号线接GPIO18电机调速输出软件/硬件PWM电机驱动板ENA引脚I2C通信复用开漏外部上拉OLED、温湿度传感器UART通信复用复用输出串口模块、GPSSPI通信复用复用输出SPI屏幕、RFID模块从这个表能看出来大部分常见项目用到的模式其实不超过四种把输入、输出、上拉、PWM吃透已经能应对绝大多数入门到中级的项目了。5. 实战环节按键、呼吸灯、舵机一次玩明白5.1 入门第一站按键控制LED把输入输出串起来前面单独讲了输出和输入现在把它们组合起来做一个特别典型的项目按一下按键LED亮再按一下LED灭。这个项目麻雀虽小五脏俱全包含GPIO输入、输出、上拉电阻、状态翻转逻辑做好了后面很多东西都是这个套路。接线方法LED部分跟之前一样阳极通过220Ω电阻接GPIO17阴极接地。按键一端接GPIO2BCM编号物理引脚3另一端接地。注意按键用的是GPIO2这个引脚同时也是I2C的SDA默认是被I2C功能占用的如果你在配置里打开了I2C接口直接用这个按键可能不生效。为了省事我建议把按键接到GPIO27物理引脚13避开这个坑。用gpiozero写这个功能非常简单from gpiozero import LED, Button led LED(17) btn Button(27) # 默认启用内部上拉 btn.when_pressed led.toggle print(按一下按键试试LED状态切换) input(按回车退出\n)gpiozero里的Button默认使用内部上拉电阻按键按下时引脚被拉到地也就是低电平when_pressed事件被触发。这行btn.when_pressed led.toggle是事件驱动的写法不需要你手动写while轮询代码会一直监听按键状态。运行这个脚本后每按一次按键LED状态就翻转一次。这个项目虽然简单但你如果把事件驱动、上拉输入、输出控制这三件事串起来理解了后面做红外遥控、人体感应、门磁报警这类项目逻辑上都是相通的。5.2 进阶第二站PWM呼吸灯体会占空比的魔力呼吸灯这个项目看起来炫其实本质就是PWM占空比从0慢慢加到100再慢慢减到0。用gpiozero的PWMLED接口代码比想象中还要短from gpiozero import PWMLED from time import sleep led PWMLED(18) # 用支持硬件PWM的引脚18 brightness 0 step 0.01 while True: brightness step if brightness 1: step -0.01 elif brightness 0: step 0.01 led.value brightness # 0.0~1.0对应占空比0%~100% sleep(0.02)这里led.value从0到1映射到占空比就是0%到100%。占空比高LED等效电压高看起来就亮占空比低等效电压低看起来就暗。我把步长设成0.01每步等待0.02秒一个完整的呼吸周期大约4秒呼吸感很自然。你要是觉得太快或太慢调整sleep和step这两个参数就行。有朋友可能会问为什么不直接用3.3V直接调电压这就是树莓派这类数字设备做不到的地方它没法输出一个任意模拟电压只能靠高速开关来模拟。PWM除了做呼吸灯更实际的用途是控制直流电机转速道理一模一样——占空比越大电机平均电压越高转得越快。你在小车项目里看到的throttle控制底层基本都是PWM。5.3 硬核第三站用GPIO驱动舵机为小车和机器人铺路搜索热词里有好几个和舵机、小车相关的我单独拎出来讲因为这个项目几乎是每个树莓派玩家都会碰到的。舵机是一种能精确转到指定角度的电机常见的有SG90这类小型舵机。它有三根线棕色或黑色是地线红色是电源线5V橙色或黄色是信号线。关键来了信号线接GPIO电源线和地线千万不要接到GPIO上而是接5V引脚和GND。舵机在工作时需要较大电流如果直接从GPIO引脚取电轻则舵机没劲重则烧毁引脚。舵机的控制原理是给它持续输出50Hz的PWM信号周期20ms高电平持续的时间脉宽决定了舵机转到的角度。SG90舵机的脉宽范围大约是0.5ms到2.5ms0.5ms对应0度1.5ms对应90度2.5ms对应180度。这个参数不同舵机略有差异贵的舵机通常更线性一致。用gpiozero控制舵机有两种写法。一种是直接用Servo组件代码很简洁但需要根据舵机的实际脉宽范围调整min_pulse和max_pulse不然角度会偏from gpiozero import Servo from time import sleep servo Servo(18, min_pulse_width0.5/1000, max_pulse_width2.5/1000) while True: servo.min() # 转到0度 sleep(1) servo.mid() # 转到90度 sleep(1) servo.max() # 转到180度 sleep(1)另一种是直接用PWMOutputDevice自己控制占空比更底层适合想抠细节的人。我推荐新手先直接用Servo跑通第一次再说。舵机接到树莓派上信号线接GPIO18因为18号引脚支持硬件PWM波形更稳定。如果你发现舵机抖得厉害或者咔咔响多半是电源供电不足换一个独立5V电源给舵机供电注意把电源的地和树莓派的地连在一起共地是这类电路里最容易漏掉的一步不共地信号电平就没有参考基准舵机根本不会正常工作。6. 常见问题与排查技巧实录6.1 先从一张速查表开始我在树莓派社区混了这么久发现GPIO相关的问题翻来覆去就那几类。我把自己踩过的、帮别人排查过的问题整理成一张速查表你遇到问题先对照一遍大概率能省下半天时间。现象可能原因排查方向与解决办法代码正常运行但LED不亮LED正负极接反限流电阻过大或没有GPIO编号写错检查LED方向把电阻换成220Ω到1kΩ之间确认BCM编号对应的是哪个物理引脚GPIO引脚读写完全没反应SoC可能过热保护或已烧毁引脚被其他功能占用先重启确认引脚没被I2C、SPI这类功能抢占如果重启后仍无反应换一个GPIO再试按键触发不稳定、误触发引脚悬空没有内外上拉启用内部上拉电阻或外接4.7kΩ上拉电阻到3.3V运行脚本提示No module named gpiozerogpiozero没安装或Python环境不对确认用python3而不是python执行sudo apt install python3-gpiozero运行脚本提示权限不足当前用户不在gpio用户组把用户加入gpio组sudo usermod -aG gpio $USER然后注销重新登录舵机抖动、无力供电不足PWM频率不对舵机电源用独立5V电源并和树莓派共地检查PWM频率是否50Hz左右树莓派5上用RPi.GPIO报错RPi.GPIO老库不兼容树莓派5换成gpiozero或升级到RPi.GPIO 0.7.1a4以上版本或者用更底层的librgpioGPIO引脚冒烟、板子没法开机5V接到GPIO引脚短路断电检查接线损坏的引脚不可恢复只能换板或放弃该引脚信号线一接上系统直接重启外部设备从GPIO取了太多电流外部设备要用独立电源GPIO只做信号控制不负责供电这张表大概率覆盖了你入门阶段90%的问题。很多问题其实都不是代码逻辑错而是接线和电源问题所以排查顺序永远是先电源、再接线、后代码。代码错了顶多不工作电源接错了是真的会烧东西。6.2 我的排查心法和两件趁手工具排查GPIO问题我最推荐两样东西一个数字万用表一个逻辑分析仪。万用表不贵几十块钱就能买到量电压、测通断、判断引脚是否坏了都靠它。逻辑分析仪稍贵一点但对调PWM、UART这类信号问题特别管用能看到真实的波形情况。初学阶段先买个万用表就够用了。我自己的排查流程是这样一个经验习惯分享给大家。第一步拿万用表量一下当前GPIO引脚的电压确认是否在3.3V左右如果量出来是0V或者异常再确认是不是代码方向配置错了。第二步把外部设备断开只留LED或杜邦线用最简单的测试脚本验证这个GPIO本身能不能工作。这个最小化系统的思路非常好用能快速判断问题是出在树莓派、线材还是模块上。第三步确认模块供电很多传感器的VCC要5V或者3.3V接错电压一样不工作。第四步才回到代码逻辑上检查有没有用错编号、有没有同时初始化了同一个引脚。还有一个我在实际使用中总结出来的心得GPIO排查一定不能靠猜一定要靠量。很多人遇到问题就反复改代码改来改去没效果最后发现是杜邦线断了或者面包板接触不良。所以我强烈建议手头备一块万用表每次接线后先快速量一下引脚间的电压是否正常再上电试代码。磨刀不误砍柴工这个习惯能帮你减少大量无效调试时间。最后再分享一点个人经验树莓派GPIO入门阶段最容易走的弯路就是一上来就买一堆模块然后每个都想试一遍结果哪个都没调通。我自己当年也是这样过来的。如果现在让我重新学习我会老实走这条路先拿一个LED练输出再拿一个按键练输入然后用PWM做呼吸灯最后驱动一个舵机。这四个项目覆盖了GPIO最核心的四种能力做完了你再看任何模块的接线图都会觉得不像第一次那么陌生。还有两件事想嘱咐一下第一GPIO引脚是能烧的但也没有你想的那么脆弱。规范操作不接5V输入、不短路、不超电流的前提下它非常稳定。万一烧了也不用太沮丧我认识的玩树莓派的人基本都烧过至少一个引脚这是硬件学习的一部分成本。第二尽量养成先断电再接线的习惯。树莓派不像Arduino那样随便带电插拔虽然很多时候带电接也没事但小概率的电涌冲击就可能损坏外设甚至GPIO口。多花十秒钟断电接线能省掉很多烦心事。希望这篇能把你的GPIO基础打牢。接下来想玩什么方向都行小车、摄像头云台、温湿度监测、语音助手原理都是这一套东西的延伸。后面我会继续更新这个系列到时候可以接一个真正的传感器或电机驱动板做点能拿到现实里用的东西。
返回列表