用树莓派点亮LED

部署运行你感兴趣的模型镜像

 

 

1 接线图

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色

GND: 接地端也就是负极 ;

5V: 正极 ;

GPIO.0: 需要通过程序控制该针脚的通断 ;

 

2 代码

import RPi.GPIO as GPIO

import threading


GPIO.setmode(GPIO.BOARD)

GPIO.setup(11, GPIO.OUT)

# 该变量用于控制第11个针脚也就是GPIO.0是否接通
flag = False

def fn():
    global flag
    print('flag', flag)
    if flag == False:
        flag = True
        # 设置GPIO.0为高电平, 也就是接通GPIO.0
        GPIO.output(11, GPIO.HIGH)
    else:
        flag = False
        # 设置GPIO.0为低电平, 也就是断开GPIO.0
        GPIO.output(11, GPIO.LOW)
    timer = threading.Timer(1, fn)
    timer.start()

# 每隔一秒钟执行一次, 最后的效果是红灯闪烁
timer = threading.Timer(1, fn)
timer.start()

 

 

 

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

树莓派的Linux系统下点亮LED灯有多种实现方式,以下为你介绍不同语言的实现代码: ### Python代码 导入 `RPi.GPIO` 库实现点亮LED灯。LED的正极接到18口,负极接到树莓派的地,同时串联510欧姆电阻限流。 ```python import RPi.GPIO as GPIO import time # 设置GPIO模式为BCM编号 GPIO.setmode(GPIO.BCM) # 设置18号引脚为输出模式 GPIO.setup(18, GPIO.OUT) try: while True: # 输出高电平,点亮LED GPIO.output(18, GPIO.HIGH) time.sleep(1) # 输出低电平,熄灭LED GPIO.output(18, GPIO.LOW) time.sleep(1) except KeyboardInterrupt: # 清理GPIO设置 GPIO.cleanup() ``` 此代码通过 `RPi.GPIO` 库对树莓派GPIO引脚进行操作,实现LED的闪烁效果 [^3]。 ### Shell脚本代码 采用GPIO17口进行点灯,可通过以下Shell脚本实现。 ```bash # 导出GPIO17引脚 echo 586 > /sys/class/gpio/export # 基地址为569+17(GPIO17) # 配置方向 echo out > /sys/class/gpio/gpio586/direction # 输出高电平,点亮LED echo 1 > /sys/class/gpio/gpio586/value # 等待一段时间 sleep 5 # 输出低电平,熄灭LED echo 0 > /sys/class/gpio/gpio586/value # 取消导出 echo 586 > /sys/class/gpio/unexport ``` 若权限不够,可使用 `sudo tee` 命令替代 `>` 重定向 [^4]。 ### C语言代码 ```c #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #define GPIO_EXPORT "/sys/class/gpio/export" #define GPIO_DIRECTION "/sys/class/gpio/gpio586/direction" #define GPIO_VALUE "/sys/class/gpio/gpio586/value" int main() { int fd; // 导出GPIO fd = open(GPIO_EXPORT, O_WRONLY); write(fd, "586", 3); close(fd); // 设置GPIO为输出模式 fd = open(GPIO_DIRECTION, O_WRONLY); write(fd, "out", 3); close(fd); // 点亮LED fd = open(GPIO_VALUE, O_WRONLY); write(fd, "1", 1); close(fd); // 等待一段时间 sleep(5); // 熄灭LED fd = open(GPIO_VALUE, O_WRONLY); write(fd, "0", 1); close(fd); return 0; } ``` 此C语言代码通过对 `/sys/class/gpio` 目录下的文件进行操作,实现LED点亮和熄灭 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值