物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

2024-09-08 11:28

本文主要是介绍物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MENU

  • 硬件电路设计
  • 软件程序设计
    • 正常流水LED灯
    • 反复流水LED灯
    • 移动流水LED灯


硬件电路设计

材料名称数量
直插式LED
1kΩ电阻
杜邦线(跳线)若干
面包板1

每一个LED的正极与开发板一个GPIO引脚相连,并串联一个电阻,负极接GND。

方式一

当然也可以选择只使用一个电阻。

方式二


软件程序设计

正常流水LED灯

因为要用到多个GPIO引脚,所以最好把所有的GPIO引脚放在一个数组中,然后遍历数组。

// 定义GPIO引脚数组
int pin_list[5] = { 13, 12, 14, 27, 26 };
// 获取数组长度
int size = sizeof(pin_list) / sizeof(pin_list[0]);void setup() {// 设定GPIO引脚为输出模式for (int i = 0; i < size; i++) pinMode(pin_list[i], OUTPUT);
}void loop() {// 将所有引脚设置为高电平for (int i = 0; i < size; i++) {digitalWrite(pin_list[i], HIGH);delay(50);}// 将所有引脚设置为低电平for (int i = size - 1; i >= 0; i--) {digitalWrite(pin_list[i], LOW);delay(50);}
}

反复流水LED灯

微调程序,比如之前是依次改变流水灯的状态,现在修改为让流水灯往复亮。

// 定义GPIO引脚数组
int pin_list[5] = { 13, 12, 14, 27, 26 };
// 获取数组长度
int size = sizeof(pin_list) / sizeof(pin_list[0]);void setup() {// 设定GPIO引脚为输出模式for (int i = 0; i < size; i++) pinMode(pin_list[i], OUTPUT);
}void loop() {// 将所有引脚设置为高电平for (int i = 0; i < size; i++) {digitalWrite(pin_list[i], HIGH);delay(50);}// 将所有引脚设置为低电平for (int i = size - 1; i >= 0; i--) {digitalWrite(pin_list[i], LOW);delay(50);}
}

移动流水LED灯

实现LED平移的效果,每次在点亮这颗LED的时候,同时把上一颗LED的状态改为低电平,并且当索引值为0时,让最后一颗LED状态改为低电平。

// 定义GPIO引脚数组
int pin_list[5] = { 13, 12, 14, 27, 26 };
// 获取数组长度
int size = sizeof(pin_list) / sizeof(pin_list[0]);void setup() {// 设定GPIO引脚为输出模式for (int i = 0; i < size; i++) pinMode(pin_list[i], OUTPUT);
}void loop() {// 将所有引脚设置为高电平for (int i = 0; i < size; i++) {digitalWrite(pin_list[i], HIGH);if (i > 0) {digitalWrite(pin_list[i - 1], LOW);} else {digitalWrite(pin_list[size - 1], LOW);}delay(250);}
}

这篇关于物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147976

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

什么是LED智能会议一体机?COB超微小间距LED会议一体机大势所趋

LED智能会议一体机,作为现代会议室革新的核心装备,正逐步颠覆传统会议模式的界限。它不仅仅是一台集成了高清显示、触控互动、音视频处理及远程协作等功能于一体的智能设备,更是推动会议效率与体验双重飞跃的关键力量。随着技术的不断进步,特别是COB(Chip On Board)超微小间距LED技术的引入,LED智能会议一体机正迎来前所未有的发展机遇,成为大势所趋。 COB技术通过将LED芯片直接封装在基

《C++中的移动构造函数与移动赋值运算符:解锁高效编程的最佳实践》

在 C++的编程世界中,移动构造函数和移动赋值运算符是提升程序性能和效率的重要工具。理解并正确运用它们,可以让我们的代码更加高效、简洁和优雅。 一、引言 随着现代软件系统的日益复杂和对性能要求的不断提高,C++程序员需要不断探索新的技术和方法来优化代码。移动构造函数和移动赋值运算符的出现,为解决资源管理和性能优化问题提供了有力的手段。它们允许我们在不进行不必要的复制操作的情况下,高效地转移资源

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,它被设计用来提供一对多的消息分发和应用之间的通讯,尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构,客户端可以订阅任意数量的主题,并可以发布消息到这些主题。服务器(通常称为MQTT Broker)则负责接受来自客户端的连接请求,并转发消

全倒装COB超微小间距LED显示屏的工艺技术,相比SMD小间距有何优势

全倒装COB(Chip On Board)超微小间距LED显示屏,在工艺技术上的革新,相较于传统的SMD(Surface Mount Device)小间距LED显示屏,展现出了多方面的显著优势。 首先,全倒装技术极大地提升了LED芯片的散热性能。通过将芯片直接焊接在基板上,减少了热阻,使得热量能够更快速地传导至基板并散发出去,有效避免了因高温导致的光衰和色彩偏移问题,从而保证了显示屏的长期稳定性

创建一个大的DIV,里面的包含两个DIV是可以自由移动

创建一个大的DIV,里面的包含两个DIV是可以自由移动 <body>         <div style="position: relative; background:#DDF8CF;line-height: 50px"> <div style="text-align: center; width: 100%;padding-top: 0px;"><h3>定&nbsp;位&nbsp;