本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Swift 语言的按钮控制 LED电路
发布时间:2021-07-09
分享到:
基于Swift 语言的按钮控制 LED电路
发布时间:2021-07-09
分享到:

该项目将教你构建一个基于Swift 语言的按钮控制 LED电路。

补给品:

您需要的部件都包含在此Maker 套件中。

  • SwiftIO 板
  • 按键模块
  • 4 针电缆

视频展示:

第 2 步:按钮

按钮或按钮始终用于控制其他设备,例如电灯开关或遥控器。这个按钮是瞬时的,所以它的状态只会随着你按下它而改变,一旦你松开它,它就会回到原来的状态。

这种纽扣通常有四只脚。同侧的两条腿短。

所以当你连接单个按钮时,最好在对角线上连接两条腿。

而您套件中的按钮模块使用 Grove 连接器,您可以直接构建电路而无需担心连接错误。

此外,按钮还有一个已知问题:弹跳。由于机械和物理问题,当您缓慢按下或松开按钮时,按钮内部可能会有多个触点。微控制器可能会将其视为几台印刷机。按键模块采用硬件去抖方式,不会遇到此问题。

第 3 步:电路

这是一种模块化电路板,可以更容易地连接电路。两侧的引脚与SwiftIO板上的引脚相同。此外,它有许多 Grove 连接器,因此您可以使用 4 针电缆连接针脚,而不是四根跳线。

将防护罩放在 SwiftIO 板的顶部。确保以正确的方向连接它们。

使用 4 针电缆将按钮模块连接到 D10 针。您可能会注意到每根电缆都有四种颜色的电线:黑色通常用于接地,红色用于电源。

第 4 步:代码

// Import the SwiftIO library to use everything in it.
import SwiftIO

// Import the board library to use the Id of the specific board.
import SwiftIOBoard

// Initialize the red onboard led.
let led = DigitalOut(Id.RED) 

// Initialize the red onboard led.
let button = DigitalIn(Id.D10) 

while true {

    // Read the button value. If it is pressed, turn on the led.
    if button.read() {
        led.write(false)
    } else {
        led.write(true)
    }

    sleep(ms: 10)
}

 第 5 步:代码分析

import SwiftIO
import SwiftIOBoard

 首先,导入两个库:SwiftIOSwiftIOBoard。SwiftIO用于控制 SwiftIO 板的输入和输出。SwiftIOBoard定义了板的引脚名称。

let led = DigitalOut(Id.RED)
let button = DigitalIn(Id.D10)

 初始化红色板载 LED 和按钮连接的数字引脚 (D10)。

在循环中,您将使用if-else语句检查按钮状态。if-else 语句具有以下形式:

if condition {
    statement1
} else {
    statement2

条件总是有两个结果,真或假。如果为真,则执行 statement1;如果为 false,则将执行 statement2。

然后让我们回顾一下代码。

if button.read() {
    led.write(false)
} else {
    led.write(true)
}

read()方法允许您获取输入值。返回值为真或假。所以你可以根据值知道按钮的状态。如果按下按钮,该值将为真,因此引脚输出低电压以打开板载 LED。一旦松开按钮,输入值为假,LED 将熄灭。

第 6 步:运行项目
当您将代码下载到开发板时,红色 LED 熄灭。如果按下按钮,LED 将亮起。松开按钮后,LED 熄灭。项目完成。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论