树莓派5点亮双色LED灯(简易版)

一、安装gpio命令

省去百度或其它复杂教程

直接拉取源码,自己安装:

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

由于考虑到某些一些小伙伴网络问题,拉取较为缓慢,这里直接提供压缩包:WiringPi.tar.gz

解压安装

tar -zxvf WiringPi.tar.gz
cd WiringPi/
./build

查看是否安装成功

root@raspberrypi:~# gpio -v
gpio version: 3.14
Copyright (c) 2012-2025 Gordon Henderson and contributors
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Hardware details:
  Type: Pi 5, Revision: 00, Memory: 4096MB, Maker: Sony UK

System details:
  * Device tree present.
      Model: Raspberry Pi 5 Model B Rev 1.0
  * Supports full  user-level GPIO access via memory.
  * Supports basic user-level GPIO access via /dev/gpiomem.
  * Supports basic user-level GPIO access via /dev/gpiochip (slow).

 这里,gpio命令就安装成功啦

列出引脚对照表

root@raspberrypi:~# gpio readall
 +-----+-----+---------+------+---+---Pi 5---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   -  | 0 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 |   -  | 0 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   -  | 0 |  7 || 8  | 0 |  -   | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 0 |  -   | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   -  | 0 | 11 || 12 | 0 |  -   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   -  | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   -  | 0 | 15 || 16 | 0 |  -   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 |  -   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   -  | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   -  | 0 | 21 || 22 | 0 |  -   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   -  | 0 | 23 || 24 | 0 |  -   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 0 |  -   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   -  | 0 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   -  | 0 | 31 || 32 | 0 |  -   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   -  | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   -  | 0 | 35 || 36 | 0 |  -   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   -  | 0 | 37 || 38 | 0 |  -   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 |  -   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 5---+---+------+---------+-----+-----+

二、点亮双色LED灯

双色LED灯原理图:

1.连接引脚

查看引脚对照表,选择两个常规GPIO引脚和一个接地引脚(即0V引脚),这里选择7号引脚和13号引脚和 39号引脚

将LED灯上接S端对接的连接线的对端连接在7号引脚,中间的连接线对端连接在13号引脚上,-端连接在39号引脚上(接地引脚)

2.配置点亮

我们可以直接使用gpio命令操作树莓派GPIO引脚来控制LED,如

gpio -g mode 4 out  ##设置管脚为输出模式,-g表示是以BCM编码
                    #如果去掉这个参数表示以wiringPi编码方式

gpio -g read 4       #读取管脚当前状态

gpio -g write 4 1    #设置管脚为高电平

gpio -g write 4 0     #设置管脚为低电平

由此,我们可以写一些简单的代码来控制双色LED灯的亮灭,交替闪速:

nano 双色LED等实验.sh  #编写一个简单的脚本


#!/bin/sh

# 设置GPIO引脚为输出模式
setup_gpio() {
    gpio -g mode 4 out
    gpio -g mode 27 out
}

# 打开红色LED (假设连接到GPIO 4)
turn_on_red_led() {
    gpio -g write 4 1
}

# 闪烁绿色LED (假设连接到GPIO 27) 指定次数
blink_green_led() {
    local count=$1
    for i in $(seq 1 $count); do
        gpio -g write 27 0  # 关闭绿色LED
        sleep 0.2          # 等待0.2秒
        gpio -g write 27 1  # 打开绿色LED
        sleep 0.2          # 等待0.2秒
    done
}

# 关闭所有LED
turn_off_all_leds() {
    gpio -g write 4 0
    gpio -g write 27 0
}

# 主程序
main() {
    setup_gpio
    turn_on_red_led
    blink_green_led 100
    turn_off_all_leds
}

# 运行主程序
main

#记得保存退出


#运行脚本,LED等双色闪烁
sh 双色LED等实验.sh

至此,实验结束。

本次实验未使用面包板,仅作分享,非专业实验,感谢理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值