Contrôler une LED avec la Raspberry Pi

使用Raspberry Pi和Python打开和关闭LED。

更新 5 六月 2019 - 0 注释 - , , ,

ⓘ 本文可能已使用自动工具部分或全部翻译。对于由此可能引起的任何错误,我们深表歉意。

本教程是致力于使用Raspberry Pi的GPIO端口控制电子组件的系列文章中的第一篇。

如您所知,Raspberry Pi具有称为GPIO(通用输入输出)的端口,可用于控制许多电子组件。

在本教程中,我们将看到如何使用这些GPIO端口通过Raspberry Pi控制LED。

必要的设备

要遵循本教程,您将需要以下材料:

可以完全遵循本教程,而无需焊接任何组件。

另外,您将需要在SD卡上安装Raspbian,并有一种直接通过键盘/鼠标/屏幕或通过SSH控制Raspberry Pi的方法。

GPIO的基础知识

GPIO端口是物理端口,通常为方形金属引脚形式,允许传输电信号。

gpios针
用于焊接的GPIO连接器

GPIO端口传输相对二进制的信号(无电流或无电流)。对于Raspberry Pi,GPIO端口的工作电压为3.3 V,约为20 mA。

因此,GPIO端口是通信或控制物理元素的简单方法。

Raspberry Pi的最新型号具有40个GPIO连接器,这些连接器根据特定用途分为不同类别。

  • 源+:持续供电
  • GND:接地=接地
  • I2C:同步串行协议
  • SPI:其他同步串行协议
  • UART:异步协议+串行到并行通信转换。
  • GPIO:通用端口,可以选择转换为I2C或SPI。

GPIO端口编号为1到40,从右上方按住Raspberry pi GPIO端口时从左上方开始。这就是所谓的“ Board”编号模式。存在另一种基于处理器寻址的编号模式,称为“ BCM”模

在本教程的上下文中,我们将仅使用GPIO和GND口以及“板”编号

将LED连接到Raspberry Pi

为了建立连接,我们将使用以下组件:LED,电阻器,面包板和Raspberry。

本教程的第一步是设计将LED连接到Raspberry Pi的电路。不用担心,这非常简单,我们将不必绘制复杂的图表!

如何选择电阻?

首先要知道的是,LED必始终使用电阻。这是因为LED具有所谓的“阈值电压”。简而言之,电流过大会导致LED立即烧坏,因此电阻器是一种保护。

因此,我们将不得不选择使用哪种电阻。为此,有一个数学公式可计算要使用的电阻器的尺寸。

Rmin = (Ualim - Uled) / Imax

除非您在物理课上有一些好的剩菜,否则我想这不会使您走得太远。小说明:

  • Rmin:最小使用电阻,以欧姆(Ω)表示
  • Ualim:电源电压,以伏特(V)表示
  • Uled:LED阈值电压,以伏特(V)表示
  • Imax:LED的最大强度,以安培(A)表示

如前所述,我们的GPIO提供3.3 V和20 mA。LED的最大强度为20 mA(20 mA = 0.020 A),阈值电压为1.5和1.9 V.

因此,公式如下:

Rmin = (3.3 - 1.5) / 0.020

因此,我们获得90Ω的最小电阻,我们将舍入为100Ω。我们将通过选择一个270电阻(或330归一化值)来腾出空间,从而保护我们免受GPIO上可能出现的电流峰值的影响。

要找到电阻值,有两种可能性:

  • 这在将LED固定在一起的纸条上有注明。
  • 您需要读取电阻上的色环以计算其值。您会在线找到教程和网站来帮助您。(100Ω=棕-黑-棕色,270Ω=红-紫色-棕色和330Ω=橙-橙色-棕色)

将LED连接到Raspberry Pi的GPIO

现在我们知道要使用哪个电阻,我们只需要将所有东西都连接到Raspberry Pi。

为此,请使用两根杜邦公/母电缆,我们将选择红色的电缆作为电源,选择黑色的电缆作为接地线(这是惯例)。

将红色电缆连接到GPIO端口7,将黑色电缆连接到GPIO 6。

将两条电缆分别连接到面包板上,并分开几行。将红色电缆连接到LED的阳极(细长或长脚),将电阻器的一根脚连接到阴极(LED的另一根脚,因此是短脚),再将电阻器的另一根脚连接到黑色电缆。

提示:难以记住哪个腿是阳极,哪个腿是阴极?简单的助记符,伸长的阳极进料!

不太清楚吗?不要惊慌,“画一点比说长话还好!”

红色到阳极,阴极到电阻,黑色到电阻!

如果您想确保一切正常,可以进行一些简单的测试。从GPIO#7拔下红色电缆,然后将其插入#1。这将永久提供3.3 V电压,如果接线正确,则LED会亮起:)!

编写程序以使用Raspberry控制LED

现在我们的电路已经准备就绪,我们只需要编写程序来控制GPIO端口以打开和关闭LED。

为此,我们将使用Python编程语言。在本教程中,我们将保持非常基础的知识,并且仅给出一个程序示例,说明如何使用它以及如何工作。

因此,这不是Python课程。但是,如果您愿意,我们最近发布了Python入门课程,该课程将教您如何使用Python为您的项目编写自己的程序!

所以创建一个文件夹 /home/pi/electronic 和一个文件 led.py 在该文件夹中,然后在其中写入以下代码:

请注意,后面的文字 # 是用于解释代码功能的注释,但对程序没有影响。除了前两行外,您不必复制它。

#!/usr/bin/env python3
#-- coding: utf-8 --

import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs

GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board)
GPIO.setwarnings(False) #On désactive les messages d'alerte

LED = 7 #Définit le numéro du port GPIO qui alimente la led

GPIO.setup(LED, GPIO.OUT) #Active le contrôle du GPIO

state = GPIO.input(LED) #Lit l'état actuel du GPIO, vrai si allumé, faux si éteint

if state : #Si GPIO allumé
    GPIO.output(LED, GPIO.LOW) #On l’éteint
else : #Sinon
    GPIO.output(LED, GPIO.HIGH) #On l'allume

完成后,我们将使程序可执行。为此,只需运行以下命令:

chmod +x /home/pi/electronic/led.py

您所要做的就是通过像这样调用脚本来运行脚本:

/home/pi/electronic/led.py

每次运行脚本时,如果LED熄灭,则LED会点亮;如果打开,则熄灭。

有了它,您现在知道了使用Raspberry Pi打开和关闭LED的基本知识。您要做的就是修改代码以适合您的需求。为此,请随时查阅我们的Python课程!

您所要做的就是继续阅读本系列的下一个教程,并使用Raspberry Pi阅读RFID卡!

分享
通讯
作者:
Raspberry Pi FR
加入Raspberry Pi社区
一台售价35美元的计算机已经售出了1000万本
购买新的RASPBERRY PI 4
相关教程
在Raspberry Pi上使用RFID阅读器。 激活Raspberry Pi的TTL串行端口,并验证其是否正常运行。 使用码头沼泽创建树莓派群集 闪烁Raspberry Pi的板载绿色LED。 学习使用Python 3和Raspberry Pi进行编程的入门课程。
没有评论
分享
订阅电子报
订阅新闻通讯。
你喜欢这篇文章吗 ?
订阅并保持最新状态!