0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arrays各种闪烁顺序

454398 来源:网络整理 作者:网络整理 2019-12-02 16:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是我们学习Arduino系列的下一部分,这次我们将学习并使用 Arrays 用各种闪烁顺序。如果您想教孩子基本的焊接方法,那么这将是使孩子忙碌的理想项目-只需将LED安装在一块卡上,就可以从标准的9v电池中获取电力。

这也是初学者Arduino编程中的关键课程,尽管如果您不打算实际使用它作为装饰物,我还是强烈建议您将它放在面包板上。

注意:这是一个非常重要的过程。入门级教程,我们当然不会突破任何新领域–是吗?只是一台教授使用阵列和 For循环来处理大量LED 的概念的设备(或其他输出设备)。/em》

如果您还没有这样做,那么现在是跟随该系列其他文章的好时机:

什么是Arduino?您可以使用它吗?

什么是Arduino入门工具包?它包含什么?

您可以通过入门工具包购买更多很酷的组件

入门您的Arduino入门套件?安装驱动程序并设置电路板和端口

Fritzing,这是一个免费的电路图绘制工具

仔细查看Arduino应用程序和示例闪烁程序的结构

对于此项目,您至少需要用红色或绿色的 8或9个LED ,每个LED的电阻, 面包板和一些接线。我最近购买了Ooomlout的入门套件,本教程对此进行了介绍,它具有很高的性价比,并且具有比您所需要的更多的LED和电阻器,并且配备了整洁的面包板和Arduino外壳来保存物品。整洁。

这是最后一件事:

如何使用Arrays各种闪烁顺序

以及正在播放的视频。

这是Fritzing的接线图。这是非常基本的–只需将LED的正极引线连接到 2-》任何引脚(最多13针),然后将负极引脚通过电阻串联到地。我在这里使用的值为560欧姆。就是这样。

在软件方面,请考虑如何在代码中写入所有这些LED。您可以这样处理:

int led1 = 2; // first LED on pin 2

int led2 = 3; // second on pin 3

// etc etc

void loop(){

digitalWrite(led1,HIGH);

delay(100);

digitalWrite(led1,LOW);

delay(100);

digitalWrite(led2,HIGH);

// etc

}

您应该能够看到9个LED,这很快就会使人感到疲劳。答案在于 Arrays ,如果您不记得我们关于基本数据类型的Programming 101,基本上就是列表。

语法看起来像这样(将其放在第一个代码中的一行):

int leds[] = {2,3,4,5,6,7,8,9,10};

方括号表示“?变量将是一个 Array 。大括号括起了数组将要保留的引脚号列表。

现在,要使用数组,我们需要通过索引号对其进行寻址。 索引从0 开始,因此总是比其中的事物总数少1(所以有9个项目,最后一个项目的索引为8 )。

您可以这样写:

leds[0]

在我们的例子中,它将获取数字2,因为那是索引0的含义在我们的数组中。

目前为止?大。但是,仅凭这一点对我们来说还不够—我们还需要某种方法来遍历LED阵列的每个元素。为此,我们将使用 for循环。这样做的语法如下:

for(initial variable; condition under which we repeat again; change to variable each iteration)

例如:

for(int i = 0; i《9; i++)

开始仅使用变量 i 循环,变量 i 的值为零

仅当我小于9 时才继续循环?(so:0,1,2,3,4,5,6,7,8)

每次,给i加1 (i ++是所以说i = i + 1)

因此,基本上,循环将重复与LED一样多的次数,并且每次重复,我们都会有一个变量 i ,我们可以根据需要使用它。

我们将从此结构开始使用两次。进入设置功能后,使我们所有的引脚都变为输出模式,如下所示:

void setup(){

for(int i = 0;i《 9;i++){

pinMode(leds[i],OUTPUT);

}

}

您能看到我们在那里做了什么吗?不用编写9行代码来声明每个单独的引脚为输出,而是创建一个“ for”循环来重复9次,每次设置另一个引脚。

现在,您应该能够看到如何我们可以在主程序循环中执行完全相同的操作来依次打开每个LED:

void loop(){

for(int i = 0;i《 9;i++){

digitalWrite(leds[i],HIGH);

delay(100);

digitalWrite(leds[i],LOW);

}

}

尝试一下。如果您希望不再次键入它,则可以从此处下载今天项目的完整代码(尽管我鼓励您这样做,因为它有助于学习过程)。

好的,现在我们有了一个相当无聊的照明顺序。让我们编程另一个。只是为了好玩,让我们使其完全随机。用以下代码替换主循环代码:

void loop(){

int randomLed = random(0,8);

digitalWrite(leds[randomLed],HIGH);

delay(50);

randomLed = random(0,8);

digitalWrite(leds[randomLed],LOW);

}

我们没有使用“ for”循环遍历每个LED,而是从0-9中选择一个随机数,然后将其闪烁。

我今天要把它留在那里,因为您现在应该已经掌握了足够的知识来编写所有新序列并进行循环实验。为了证明这一切是多么容易,我挑战了我的妻子,想出一个她想看的序列,然后得到了她自己编程,只给出了代码和课程。到目前为止。她想出了这个,所以看看您是否可以将其匹配做作业!

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Arrays
    +关注

    关注

    0

    文章

    6

    浏览量

    6587
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HarmonyOS实战:首页多弹窗顺序弹出终极解决方案

    背景 随着应用软件功能的不断增加,应用程序软件首页成为弹窗的重灾区,不仅有升级弹窗,还有积分弹窗,签到,引导等各种弹窗。为了彻底解弹窗问题,本文将使用设计模式解决这个痛点。 设计模式 本方案采用责任
    的头像 发表于 06-09 16:47 622次阅读
    HarmonyOS实战:首页多弹窗<b class='flag-5'>顺序</b>弹出终极解决方案

    PLC指示灯异常闪烁原因及维修

    PLC(可编程逻辑控制器)作为工业自动化控制的核心设备,其运行状态的稳定性直接影响生产线的效率与安全。指示灯作为PLC最直观的状态反馈窗口,其异常闪烁往往预示着潜在故障。本文将系统分析PLC指示灯
    的头像 发表于 06-07 16:13 6411次阅读
    PLC指示灯异常<b class='flag-5'>闪烁</b>原因及维修

    CY4500闪烁10次,然后在插入时停止,固件更新程序仍然提示设备未连接,为什么?

    协议分析器 3.1.0 重复上述顺序。 尝试了一台干净的笔记本电脑,首先安装了4.0.0,然后将 CY4500 的J7插入PC。 始终如一地获得 USB 设备识别的声音指示,仍然闪烁 10 次,固件更新程序仍然提示设备未连接。 非常感谢您的帮助。 谢谢。
    发表于 05-27 06:13

    从信号到散热:多层板压合顺序的性能影响全解读

    多层板压合顺序会对成品性能产生影响,以下是捷多邦的具体分析: 影响信号完整性:不同的压合顺序可能导致层间介质厚度不均匀,从而使信号传输的特性阻抗发生变化。如果特性阻抗不连续,信号在传输
    的头像 发表于 05-11 10:29 576次阅读

    设备与电源滤波器连接时,接线顺序有的基本要求

    电源滤波器是现代电子设备的必备组件,连接时应遵循接线顺序,确保输入、输出端的区分和正确连接地线。接线前需确保设备和电源滤波器完全断电、外观完好无损,工具准备充分。接线顺序包括输入端与输出端的区分、输入端接线顺序和输出端接线
    的头像 发表于 04-08 17:44 1247次阅读
    设备与电源滤波器连接时,接线<b class='flag-5'>顺序</b>有的基本要求

    使用stm32u575vit6时应该是使用lqfp100的引脚顺序还是lqfp100-smps的引脚顺序

    在使用stm32u575vit6时应该是使用lqfp100的引脚顺序还是lqfp100-smps的引脚顺序我适应的lqfp100的引脚顺序上电电流有700多ma,3.3v不短路,拆掉芯片电流一点几
    发表于 03-11 06:29

    网线顺序怎么排

    网线的顺序排列主要遵循TIA/EIA-568A和TIA/EIA-568B这两种主流标准,其中TIA/EIA-568B标准更为常用。以下是关于网线顺序排列的详细解释: 一、TIA/EIA-568B标准
    的头像 发表于 03-07 10:36 7858次阅读

    LightCrack4500投影条纹光出现闪烁的原因?

    做3D重建的时候,用LightCrack4500 control solftware投影条纹光,人眼看上去是稳定的,但是相机观察时会出现闪烁,是否是投影的刷新频率太低?或者,投影的投射一张图片的时间内,能否是理论上无闪烁的状态呢?
    发表于 02-28 06:50

    LightCrafter DLP4500投影顺序异常的原因?怎么解决?

    Pattern Period时,出现了投影混叠或者投影顺序有误的情况。例如保持Pattern Exposure为500000不变,当Pattern Period也为500000时,投影正常;当Pattern
    发表于 02-26 08:36

    DLP4710EVM-LC光源闪烁怎么解决?

    如题,近期使用此款DLP, 用肉眼看投影,可看到光源有微弱地闪烁, 因此我的相机若想要完整的捕捉投影, 我需要将相机的曝光时间设置道50ms。 目前的目的是希望能增快速度, 不知道有没有方法能使
    发表于 02-26 07:51

    网线的顺序颜色排位

    网线的顺序颜色排位通常遵循TIA/EIA 568B或TIA/EIA 568A标准,以下是这两种标准的详细颜色排位: TIA/EIA 568B标准 这是最常用的网线颜色排位标准,具体顺序如下: 橙白线
    的头像 发表于 02-20 09:46 6924次阅读

    网线水晶头排位顺序

    网线水晶头的排位遵循国际标准TIA/EIA 568A和TIA/EIA 568B,这两种标准规定了网线中8根线芯的排列顺序。 TIA/EIA 568A标准 从左到右的排列顺序为: 白绿 绿 白橙 蓝
    的头像 发表于 02-14 10:04 2218次阅读

    协议转换器los灯闪烁是什么意思,怎么解决

    协议转换器上的LOS灯闪烁通常意味着E1信号丢失,即光信号接收存在问题,这可能会导致设备无法正常工作或网络连接中断。
    的头像 发表于 01-29 13:59 3041次阅读

    超6类双绞线接线顺序

    超6类双绞线的接线顺序通常采用T568B标准,具体顺序如下: 白橙(橙白) 橙 白绿(绿白) 蓝 白蓝(蓝白) 绿 白棕(棕白) 棕 在接线时,需要注意以下几点: 剥线长度:使用剥线钳轻轻剥开
    的头像 发表于 01-17 09:53 3827次阅读

    ADS1278怎么设计上电顺序的电路啊?

    我用三片LDO产生+5V、+3.3V、+1.8V。然后分别接到芯片的AVDD、IOVDD、DVDD上。这样我的电路板一上电,则ADS1278的 三路电源也就同时上电了。这和datasheet里面对上电顺序的要求有冲突,请问这种方法ADS1278可以正常工作吗? 若不行,怎么设计上电
    发表于 01-15 06:21