跑跑啦航模

  树莓派最迷人的地方,就是那些露在外面的 GPIO 引脚——40 根针脚,让这块小电脑能和外面的世界(灯、电机、传感器)直接对话。控制它们,最推荐用官方出品的 GPIO Zero 库:它是树莓派官方推荐的 Python 库,把常见外设的操作都封装好了,几行代码就能让 LED 亮起来。这篇就从「点亮一盏灯」带你入门,这也是智能小车编程的起点。

GPIO 引脚是什么

GPIO(通用输入输出)引脚就是树莓派板子上那 40 根针脚,分别能输出高电平(3.3V)或读取外部的高低电平。靠它们,树莓派能控制 LED、蜂鸣器、电机驱动这类「输出设备」,也能读取按键、传感器这类「输入设备」。控制小车、做智能家居,全都是从操作这几根针脚开始的。

装上 GPIO Zero 库

好消息:GPIO Zero 默认装在树莓派OS 里,基本开箱即用。万一被破坏了,用下面命令装回来:

sudo apt update

sudo apt install python3-gpiozero

第一个程序:点亮一盏 LED

先把 LED 接到树莓派上:LED 的长腿(阳极)经过一个限流电阻接到某个 GPIO 引脚(比如编号16),短腿(阴极)接地。然后敲下面这段 Python 代码,灯就会每 1 秒亮灭交替:

from gpiozero import LED
from time import sleep
led = LED(16) # 用引脚16
while True:
led.on() # 点亮
sleep(1) # 等1秒
led.off() # 熄灭
sleep(1) # 再等1秒

几行代码,一颗 LED 就按你的节奏闪起来了——这就是「程序控制硬件」最直观的一课。

进阶:无极调光(PWMLED)

想让灯不是简单的亮灭,而是像呼吸一样明暗渐变?用 PWMLED(脉宽调制LED)。它能控制亮度值(0~1),下面代码让灯依次熄灭→半亮→全亮:

from gpiozero import PWMLED
from time import sleep
led = PWMLED(16)
while True:
led.value = 0 # 熄灭
sleep(1)
led.value = 0.5 # 半亮
sleep(1)
led.value = 1 # 全亮
sleep(1)

再进一步,调用 led.pulse() 方法,灯就会自动连续淡入淡出,像呼吸灯一样。

再进一步:RGB 三色灯

RGBLED 能控制全彩灯。把共阴极(最长脚)接地,红绿蓝三只引脚分别接 GPIO,然后设置颜色。下面这段把灯调成黄色(红+绿):

from gpiozero import RGBLED
from signal import pause
led = RGBLED(1, 16, 20) # 红、绿、蓝分别接引脚1/16/20
led.color = (1, 1, 0) # 红+绿=黄
pause()

从小灯到小车

点亮 LED 只是热身。GPIO Zero 也封装了电机、舵机、超声波距离传感器这些智能小车必备外设的控制——LED 的「on/off」换成电机驱动,就是小车前进后退的基础;换成超声波模块,就是测距避障的起点。所以把 GPIO 玩熟,等于打通了「程序指挥硬件」的任督二脉,后面做小车、做机器人都一通百通。

  学完 GPIO 想上手真车,跑跑啦的四轮小车套件全自动智能小车整机,配树莓派3B+ 做大脑、支持 GPIO 扩展,从点灯到控制电机一步步练,正是把今天的代码变成真正会跑的小车的练手平台。

跑跑啦四轮智能小车套件——GPIO编程练手平台

  更多配套见智能小车产品。淘宝店:paopaola.taobao.com

(本文代码与技术要点整理自 Raspberry Pi 树莓派官方文档《GPIO Zero 介绍》《LED 亮灯》与 GPIO Zero 官方说明,CC BY-SA 4.0,来源:https://shumeipai.nxez.com/doc-zhcn/docs/program/gpio/gpiozero)

上一篇:树莓派系统安装:用 Raspberry Pi Imager 一步搞定
下一篇:树莓派电源与散热选购指南
返回文章列表

跑跑啦航模详情

联系手机15058675618 qq售后群号241350086 微信号paopaola_com
长距离FPV无人机,高清传感器模块,终身保修和升级服务。