计算机‎ > ‎软件‎ > ‎Linux‎ > ‎

树莓派 shell 控制 LED

发布者:guo rue,发布时间:2016年2月15日 22:27   [ 更新时间:2016年2月16日 01:31 ]
树莓派的 GPIO 口能够提供 3.3V 的电压以及最大 50mA 的电流,可以用来电亮 LED 灯。

材料准备
树莓派*1
面包板*1
面包线(公母头)*2
5mm LED 灯*1

组装电路
1,左边是树莓派,右边是面包板。
2,用一根面包线 母头 连接到 树莓派 Pin20 (Ground),公头连接到面包板第一行第一孔
3,用一根面包线 母头 连接到 树莓派 Pin22 (GPIO 25),公头连接到面包板第二行第一孔
4,用 LED 灯的短脚安插到第一行第二孔,长脚安插到第二行第二孔
5,组装完毕后,参照本帖子末尾图片检查电路,确认无误后树莓派开机

ssh 登录,切换到 root 用户
sudo su

使用 echo 命令告诉系统内核 Pin22 对应的 GPIO25 要被外部程序使用。
root@pi:/home/pi # echo 25 > /sys/class/gpio/export
系统将在 /sys/class/gpio 目录下创建一个 gpio25 的文件夹即 /sys/class/gpio/gpio25
cd /sys/class/gpio/gpio25
进入这个文件夹,列出所有文件
ls -l

设置 direction 文件电流方向为 out
echo out > direction

在 I/O 输出时,有高低电平两种状态,分别表示为高电平 1 和低电平 0,可以通过设置 value 文件值来控制 I/O 输出电平状态
echo 1 > value
开灯
echo 0 > value
关灯

以上操作将在重启树莓派后自动失效不必担心。

使用 shell 脚本控制 LED 闪烁

root 用户回到 root 的家目录
cd
显示当前路径
pwd
/root
确认目录路径是 /root 了

创建脚本
nano blinkled.sh
脚本内容
#!/bin/sh

echo 25 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio25/direction

while true
do
echo 1 > /sys/class/gpio/gpio25/value
sleep 0.5
echo 0 > /sys/class/gpio/gpio25/value
sleep 0.5
done

说明
#!/bin/sh
这不是注释,而是告诉系统这个脚本需要 shell 来执行
while true
死循环脚本内容
sleep 0.5
休息 0.5 秒

赋予脚本执行权限
chmod +x blinkled.sh
执行脚本
./blinkled.sh
此时 LED 灯不断闪烁了,看够了可以使用 Ctrl+C 组合键退出脚本运行。

a.
b.