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

树莓派点亮LED灯

通过树莓派的1和6引脚点亮LED灯是一个基础的入门实验。这里需要注意的是,接线方式和我们编程控制GPIO的常规方法略有不同。下面我将为你解释原因,并提供详细的硬件连接与代码示例。

💡 硬件连接说明

树莓派的 1号引脚 通常提供 3.3V 电源,而 6号引脚 是 GND(地线)

在这种连接方式下,1号引脚(3.3V)持续供电,无法通过编程(如设置高低电平)直接控制LED的亮灭。LED会因始终形成电流回路而常亮

若想通过编程(例如Python)控制LED的闪烁,需调整接线,将LED的正极连接到标准的GPIO引脚(如GPIO17对应物理引脚11),再通过程序控制该GPIO引脚输出高低电平。下面将给出两种常见的控制方法。

🛠️ 方法一:使用 Python 和 RPi.GPIO 库

这是较常见的方式。请注意,下面的代码示例基于调整后的接线(即LED正极通过电阻接GPIO引脚,负极接GND)。

  1. 确保已安装 RPi.GPIO 库
    树莓派系统通常自带。若无,可通过终端安装:

    bash

    sudo apt update
    sudo apt install python3-rpi.gpio
  2. 创建并运行Python脚本
    创建一个名为 led_blink.py 的文件,输入以下代码:

    python

    import RPi.GPIO as GPIO
    import time# 设置GPIO编号模式为BOARD(物理引脚编号)
    GPIO.setmode(GPIO.BOARD)# 根据调整后的接线,例如使用11号物理引脚(对应BCM GPIO17)
    # 请根据你实际连接GPIO的物理引脚号修改
    LED_PIN = 11# 设置该引脚为输出模式
    GPIO.setup(LED_PIN, GPIO.OUT)try:print("LED开始闪烁。按 Ctrl+C 停止。")while True:# 点亮LEDGPIO.output(LED_PIN, GPIO.HIGH)print("LED点亮")time.sleep(1)  # 等待1秒# 熄灭LEDGPIO.output(LED_PIN, GPIO.LOW)print("LED熄灭")time.sleep(1)  # 等待1秒except KeyboardInterrupt:print("\n程序被用户中断")finally:# 清理GPIO设置,将引脚恢复为输入模式GPIO.cleanup()print("GPIO已清理")

    在终端中,使用以下命令运行脚本(需要sudo权限以操作GPIO):

    bash

    sudo python3 led_blink.py

🔌 方法二:使用 Shell 脚本

也可以通过直接读写文件系统的方式控制GPIO。

  1. 创建一个Shell脚本(例如 led_control.sh):

    bash

    #!/bin/bash# 指定要使用的GPIO引脚(例如BCM编号的17,对应物理引脚11)
    GPIO_BCM=17
    # 计算对应的物理引脚号(针对BOARD模式),这里以BCM 17对应物理引脚11为例
    # 实际使用时,你可能需要根据实际情况调整或直接使用BCM编号
    # 这个示例主要展示思路,使用sysfs接口操作GPIO通常使用BCM编号或gpiochip全局编号
    # 请注意:树莓派不同版本,sysfs接口使用方式可能有所不同# 启用GPIO引脚(这里以BCM编号为例,具体sysfs路径请根据你的树莓派版本调整)
    # 注意:新版本树莓派可能使用新的gpiochip机制,此示例方法可能需调整
    echo $GPIO_BCM > /sys/class/gpio/export
    sleep 1  # 等待一下确保文件生成# 设置引脚为输出
    echo out > /sys/class/gpio/gpio$GPIO_BCM/direction# 点亮LED
    echo 1 > /sys/class/gpio/gpio$GPIO_BCM/value
    echo "LED点亮"
    sleep 2  # 等待2秒# 熄灭LED
    echo 0 > /sys/class/gpio/gpio$GPIO_BCM/value
    echo "LED熄灭"# 禁用GPIO引脚
    echo $GPIO_BCM > /sys/class/gpio/unexport

    给脚本添加执行权限并运行:

    bash

    chmod +x led_control.sh
    sudo ./led_control.sh

    请注意:Shell脚本的方法,尤其是sysfs接口的具体使用,可能因树莓派OS版本不同而有所变化。若遇到问题,建议优先使用Python方法。

⚠️ 重要提示

  • 电阻是必须的:LED电路中务必串联一个约220Ω至470Ω的电阻,以防损坏LED或树莓派。

  • 识别LED极性:LED长脚为正极(阳极),短脚为负极(阴极)。

  • 谨慎接线:接线错误可能会损坏树莓派。接线或更改电路前,最好断开电源

  • GPIO清理:Python脚本中 GPIO.cleanup() 很重要,它能在程序退出时将GPIO恢复至安全状态。

💎 总结

  • 直接将LED接在1号(3.3V)和6号(GND)引脚之间,LED会常亮,无法通过编程控制。

  • 若想用程序(如Python)控制LED闪烁,需将LED正极(通过电阻)接可编程的GPIO引脚(如物理引脚11),负极接GND(如物理引脚6)。

  • Python代码中,注意使用 sudo 运行,并处理好 GPIO.cleanup()

希望这些信息能帮助你。如果你打算调整接线以实现闪烁效果,或有其他疑问,随时可以再问我。

http://www.dtcms.com/a/435714.html

相关文章:

  • 如何解决 pip install -r requirements.txt 安装报错 递归包含:文件通过 -r 引用了自身 问题
  • 【实证分析】A股上市公司权益资本成本数据-基于MPEG模型(2001-2024年)
  • 制作公司工作网站网站数据库是干什么的
  • 亚马逊网站建设目的wordpress证优客
  • 科技信息差(10.2)
  • 设计网站的目的重庆九龙坡营销型网站建设公司推荐
  • 建设ftp网站的安全性网站建设模板可用吗
  • 优秀网站作品做网站cpa
  • 网站 被刷流量东营网约车最新消息
  • 电路中的 ”CT“
  • 自建网站和第三方平台自己做众筹网站
  • 网站做流量是怎么回事邢台网站建设有哪些
  • 文本引导的图像融合方法
  • 免费空间访客100个网站桓台网站建设公司
  • 网站防盗链怎么做制作html网页的详细步骤
  • 网站建设微享互动桂林市区面积
  • 怎么看网站是否备案成功建筑木工招聘平台
  • 合肥网站制作哪家有名网站建设的步骤教程视频
  • 天博网站建设如何做网页宣传
  • 北京移动端网站公司中国蔬菜网网站建设电话
  • 怎么解决360导航的网站建设合肥做双语网站
  • 莱芜网站优化方案河南省建设厅网站师林峰
  • 泰山派rk3566 linux sdk 修改内核增加模块
  • ORB_SLAM2原理及代码解析:MapPoint::ComputeDistinctiveDescriptors() 函数
  • 最好网站建设制作是那个唐山炎黄宽带网站
  • 【Leetcode hot 100】39.组合总和
  • 简述企业网站的建设过程成都建设局网站
  • 建设银行福州分行招聘网站做网站需要用到那些软件
  • 建网站发信息做推广wordpress做淘客网站
  • 【Stata手动安装ivreghdfe】