树莓派——GPIO点亮流水灯

本文介绍了使用Raspberry Pi 3B+通过GPIO接口连接并控制LED流水灯的步骤,包括所需材料、接线方法、代码实现及运行过程。在接线部分,作者采用了低电平驱动,详细说明了接线细节。最后,分享了初学者在实践中遇到的问题,鼓励读者在树莓派学习路上不断探索。
摘要由CSDN通过智能技术生成

刚拿着一块开发板,完全不熟悉的情况下,首先还是先搞一下流水灯了…

1、材料

Raspberry Pi 3B+开发板
面包板一块
led灯3个(因为没有多余的杜邦线T_T)
杜邦线若干
电阻三个(可以不要的,接3.3v的引脚上,但为了让我自己放心点,避免自己哪根筋搭错了又接5v的上面了)

2、接线

本次实验采用低电平驱动,我使用的是BOARD编码,公共端接1号引脚,11、13和15号引脚输出低电平,若用BCM则相应修改即可。
接线图很乱,没有多余杜邦线,只能这样了。(忽略我把3.3v的公共端插在面包板的低电平的那一排的事实)

3、代码

接下来就是代码部分了,纯手写,只为了实现效果,求各位dalao不要喷我的代码

import RPi.GPIO as GPIO
import time

#设置编码方式
GPIO.setmode(GPIO.BOARD)

#屏蔽警告信息
GPIO.setwarnings(False)

LED1=11
LED2=13
LED3=15

def shanshuo():
	GPIO.output(LED1, GPIO.LOW)
	GPIO.output(LED2, GPIO.HIGH)
	GPIO.output(LED3, GPIO.HIGH)
	print("LED1")
	time.sleep(0.5)
	GPIO.output(LED1, GPIO.HI
驱动树莓派 GPIO 编程实现流水灯是一个基础但实用的项目,可以帮助初学者了解树莓派 GPIO(General Purpose Input Output)的工作原理以及如何利用 Python 语言进行控制。以下是简单的步骤指南: ### 步骤一:准备硬件 你需要的硬件很简单: - 一台树莓派(最好有最新版本的操作系统安装) - 一条 GPIO 到 LED 的跳线电缆 - 至少一个 LED(小电流,如 5V 和 20mA) ### 步骤二:连接硬件 将 LED 接到树莓派GPIO 上。通常是 Raspberry Pi 3B+ 或更高版本上使用的 GPIO 引脚,例如 GPIO2 (Pin 3)作为正极(红色),并且将 GND (Pin 5) 连接到 LED 的负极。 ### 步骤三:编写代码 打开终端窗口,创建一个新的 Python 文件(例如 `rgb_lights.py`),并在其中输入以下代码: ```python import RPi.GPIO as GPIO import time # 设置 GPIO 模式 GPIO.setmode(GPIO.BCM) # 定义 GPIO 引脚 LED_PIN = 2 # 例如 LED 连接的是 GPIO2 # 初始化 GPIO 引脚 GPIO.setup(LED_PIN, GPIO.OUT) pwm = GPIO.PWM(LED_PIN, 100) # 创建 PWM 对象,频率设置为 100Hz try: while True: pwm.start(0) # 开始 PWM 输出,初始占空比为 0% for duty_cycle in range(0, 101, 5): pwm.ChangeDutyCycle(duty_cycle) # 改变占空比从 0% 到 100% time.sleep(0.1) # 每改变一次占空比后等待 0.1 秒 for duty_cycle in reversed(range(0, 101, 5)): pwm.ChangeDutyCycle(duty_cycle) time.sleep(0.1) finally: GPIO.cleanup() ``` 此代码首先导入了 RPi.GPIO 库,设置 GPIO 模式为 BCM,并定义了一个用于控制 LED 的 GPIO 引脚。接下来,初始化 GPIO 引脚并开始 PWM 输出,从 0% 占空比逐渐增加至 100%,然后再倒退回 0%,形成循环。最后,确保关闭所有 GPIO 资源。 ### 步骤四:运行代码 保存文件后,在终端中导航到包含这个文件的目录,并运行: ```shell sudo python rgb_lights.py ``` 确保你的树莓派具有足够的权限运行这个脚本。如果一切正常,你应该能看到 LED 的颜色逐渐从暗到亮再到暗的变化。 ### 相关问题: 1. 是否有任何替代方法可以不用PWM实现流水灯的效果? 2. 如果我在运行过程中遇到错误,应该检查哪些部分? 3. 我能否通过调整代码改变流水灯的颜色变化速率?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值