当前位置: 首页 > news >正文

在树莓派3B上用Python编程完成流水灯实验

在树莓派3B上用Python编程完成流水灯实验

1. 准备工作与步骤:

步骤 1:安装Python和RPi.GPIO库

  • 目的: 准备Python环境和控制GPIO的库。
  • 操作:
    1. 确保树莓派已连接网络,更新系统:sudo apt update && sudo apt upgrade -y
    2. 安装Python 3和pip:sudo apt install python3 python3-pip
    3. 安装RPi.GPIO库:sudo pip3 install RPi.GPIO
  • 解释:
    • RPi.GPIO是Python中常用的树莓派GPIO控制库。
    • pip3是Python 3的包管理器。
      步骤 2:连接LED灯
  • 目的: 将LED灯正确连接到树莓派的GPIO引脚。
  • 操作:
    1. 准备材料:树莓派3B、几个LED灯、电阻(220Ω左右)、杜邦线、面包板。
    2. 连接:
      • 将每个LED的正极(长脚)通过一个电阻连接到树莓派的GPIO引脚(例如GPIO 17, 18, 22, 23)。
      • 将每个LED的负极(短脚)连接到树莓派的GND引脚。
    • 注意: 不要将LED直接连接到GPIO,必须串联电阻,防止电流过大烧毁GPIO或LED。
  • 解释: GPIO引脚输出高电平时,电流从GPIO流经电阻和LED到GND,LED点亮;输出低电平时,LED熄灭。
    步骤 3:编写Python脚本
  • 目的: 编写控制LED依次点亮和熄灭的Python程序。
  • 操作:
    1. 使用任何文本编辑器(如nano、vim或树莓派的文本编辑器)创建一个新文件,例如流水灯.py
    2. 编写代码:
      import RPi.GPIO as GPIO
      import time
      # 设置GPIO模式
      GPIO.setmode(GPIO.BCM) # 使用BCM编号方式
      # 定义LED连接的GPIO引脚
      led_pins = [17, 18, 22, 23] # 根据实际连接修改
      # 设置引脚为输出模式
      for pin in led_pins:GPIO.setup(pin, GPIO.OUT)
      try:while True: # 无限循环# 依次点亮每个LEDfor pin in led_pins:GPIO.output(pin, GPIO.HIGH) # 点亮time.sleep(0.5) # 延时0.5秒GPIO.output(pin, GPIO.LOW) # 熄灭# 依次熄灭每个LED(反向)for pin in reversed(led_pins):GPIO.output(pin, GPIO.HIGH) # 点亮time.sleep(0.5) # 延时0.5秒GPIO.output(pin, GPIO.LOW) # 熄灭
      except KeyboardInterrupt: # 捕获Ctrl+C,优雅退出# 清理GPIO设置GPIO.cleanup()print("程序已停止")
      
    3. 保存文件。
  • 解释:
    • GPIO.setmode(GPIO.BCM):设置使用树莓派芯片的引脚编号方式(BCM)。
    • GPIO.setup(pin, GPIO.OUT):设置指定引脚为输出模式。
    • GPIO.output(pin, GPIO.HIGH):将引脚输出高电平(3.3V),点亮LED。
    • GPIO.output(pin, GPIO.LOW):将引脚输出低电平(0V),熄灭LED。
    • time.sleep(0.5):程序暂停0.5秒。
    • try...except KeyboardInterrupt...:捕获用户按下Ctrl+C的信号,执行GPIO.cleanup()清理GPIO设置,防止引脚状态异常。
      步骤 4:运行脚本
  • 目的: 执行Python脚本,观察LED效果。
  • 操作:
    1. 打开终端(在树莓派上)。
    2. 导航到脚本所在目录。
    3. 运行脚本:python3 流水灯.py
  • 解释:
    • 脚本会开始运行,LED灯会按照顺序依次点亮和熄灭,形成一个“流水”效果。
    • 按下Ctrl+C可以停止脚本。
      步骤 5:故障解决办法
  • 问题1:运行脚本报错,提示`ImportError:没有安装RPi.GPIO库。
    • 解决:pip3 install RPi.GPIO
  • 错误2:LED灯不亮或行为异常。
    • 解决:检查GPIO引脚连接是否正确,电阻是否接入,代码中的引脚号是否与实际连接的引脚号一致,脚本是否有权限访问GPIO(可能需要sudo python3 led_blink.py)。


文章转载自:

http://iZg7uCI5.jghty.cn
http://hW7PI18U.jghty.cn
http://CtbDzYhR.jghty.cn
http://EPw5mnSq.jghty.cn
http://qq6U6pwJ.jghty.cn
http://9jrncaZZ.jghty.cn
http://vsqPucaZ.jghty.cn
http://yg9hpXCQ.jghty.cn
http://f1i54Img.jghty.cn
http://txy8jnVX.jghty.cn
http://70a3ZG5p.jghty.cn
http://3abPVqq2.jghty.cn
http://612cCvCm.jghty.cn
http://eLTIyG8Q.jghty.cn
http://ffaVUdvH.jghty.cn
http://Av99FyFz.jghty.cn
http://njltizIA.jghty.cn
http://4zOFbgZr.jghty.cn
http://E8jD749K.jghty.cn
http://7qjijp7H.jghty.cn
http://cL5uMknA.jghty.cn
http://eUwfsKAY.jghty.cn
http://Laa2KW4W.jghty.cn
http://P8cDmTaS.jghty.cn
http://RNQgFwJH.jghty.cn
http://RPxmktl2.jghty.cn
http://J4N8Onjd.jghty.cn
http://UOdawwNh.jghty.cn
http://t99iRNQn.jghty.cn
http://TCTYqPqW.jghty.cn
http://www.dtcms.com/a/227511.html

相关文章:

  • 【更正补全】edu教育申请通过方案
  • UE5 创建2D角色帧动画学习笔记
  • IO模型IO模型
  • 房屋租赁系统 Java+Vue.js+SpringBoot,包括房屋类型、房屋信息、预约看房、合同信息、房屋报修、房屋评价、房主管理模块
  • 计算机组成原理核心剖析:CPU、存储、I/O 与总线系统全解
  • PCIe-Error Detection(一)
  • 花卉目标检测数据集介绍(共 12 类,10490 张图像)
  • ⚡️ Linux grep 命令参数详解
  • JavaSE 字符串:深入解析 String、StringBuilder与 StringBuffer
  • Playwright 测试框架 - Node.js
  • 【算法】分支限界
  • 第二章 AI大模型接入
  • 【仿muduo库实现并发服务器】使用正则表达式提取HTTP元素
  • 密码学:解析Feistel网络结构及实现代码
  • SCAU8642--快速排序
  • 本地部署 DeepSeek R1(最新)【从下载、安装、使用和调用一条龙服务】
  • 迅速止痒的4个方法: 冷敷、冰敷、炉甘石洗剂、薄荷膏
  • Python基础入门:开启编程之旅
  • Python----目标检测(使用YOLO 模型进行线程安全推理和流媒体源)
  • 腾答知识竞赛系统功能介绍
  • PyTorch——卷积层(3)
  • 2025年5月24日系统架构设计师考试题目回顾
  • Windows环境下Scoop包管理工具的全面指南
  • 数智管理学(十六)
  • 计算机视觉NeRF
  • 在Linux中配置内网可访问的YUM光盘源
  • Docker安装Redis集群(3主3从+动态扩容、缩容)保姆级教程含踩坑及安装中遇到的问题解决
  • 一元函数积分
  • 给stm32cubeide编译出来的bin文件追加crc32
  • 领域驱动设计(Domain-Driven Design, DDD)