内容介绍
内容介绍
一、项目介绍
本项目的目标是通过网络连接到智能云端,将设备模拟成可以控制的灯,远程端发送指令,将灯光开启关闭,或调整灯光的亮度,0到90%时,矩阵亮起逐渐变大的范围,90%以上时,灯板显示出太阳的图标。
二、硬件分析
Arduino Uno R4 WiFi 是一款集成了无线连接功能的微控制器开发板,以下是它的一些特点:
- Arduino Uno R4 WiFi 集成了一个 ESP32-S3 模块,支持 Wi-Fi 和蓝牙连接
- 板上有一个内置的 12×8 LED 矩阵
- 搭载了 Renesas RA4M1 (Arm® Cortex®-M4) 微控制器,具有 48 MHz 时钟速度、32 kB SRAM 和 256 kB 闪存
- 提供 14 个数字输入/输出引脚(其中 6 个支持 PWM 输出)、6 个模拟输入引脚,以及 UART、I2C 和 SPI 串行通信接口
- 包括 12 位 DAC、CAN 总线和运算放大器
- 支持 6-24V 输入电压,允许使用单一电源与电机、LED 灯带和其他执行器无缝集成
- 可以模拟鼠标或键盘,通过 USB 连接到计算机发送击键和鼠标移动
- 具有 Qwiic I2C 连接器
三、思路分析
本项目通过arduino cloud控制Arduino Uno R4 WiFi 连接到智能云端并模拟为可控制的灯,实现LED矩阵变化的思路可简要建立以下流程图。
首先读取开关状态,如果开关为关闭状态则关闭LED矩阵并重新获取开关状态,如果开关为开则获取输入端数据,然后进行判断:如果输入数据大于90,则控制LED矩阵显示太阳图案,否则控制LED矩阵显示对应数值的LED灯,然后再进行开关判断,不断循环。
四、代码分析
1、首先导入需要的库以及宏定义
#include "thingProperties.h"
#include "Arduino_LED_Matrix.h" // Include the LED_Matrix library
#include "frames.h" // Include a header file containing some custom icons
#define XMAX 11
#define YMAX 7
thingProperties.h是在arduino cloud中根据你的参数和网络设置自动生成的。
Arduino_LED_Matrix.h
是LED矩阵库
frames中定义了太阳的矩阵显示
XMAX和YMAX则限定了矩阵的大小
2、定义了两个矩阵
uint8_t grid[YMAX+1][XMAX+1] = {};
uint8_t grid1[YMAX+1][XMAX+1] = {};
grid用于计算开关按下时当前显示的图案,grid1则是空矩阵,用于开关关闭时熄灭LED矩阵。
3、定义了控制LED矩阵的核心函数
void blink(int led)
{
int a,b,c,d,e;
if(led2)
if(led <= 90)
{
for(d=8;d>0;d--)
for(e=12;e>0;e--)
grid[d-1][e-1]=0;
a=led/12;
b=led%12;
for(;b>0;b--)
grid[a][b-1]=1;
for(;a>0;a--)
{
c=13;
while(--c)
grid[a-1][c-1]=1;
}
matrix.renderBitmap(grid,8,12);
}
else
{
matrix.loadFrame(sun);
}
else
{
matrix.renderBitmap(grid1,8,12);
}
}
主要实现了流程图中的逻辑功能。
4、在回调函数中调用上述函数
void onLed1Change() {
blink(led1);
}
void onLed2Change() {
blink(led1);
}
五、实验展示
六、活动总结
在本次活动中,我学习了arduino uno r4 wifi的基本使用和网络交互,感谢硬禾学堂和德捷购的支持。
附件下载
led.zip
工程文件
团队介绍
小田
评论
0 / 100
查看更多
猜你喜欢
Funpack-3-5 Arduino UNO R4 WiFi基于Arduino Cloud实现远程点灯该项目使用了Arduino UNO R4 WiFi,实现了基于Arduino Cloud远程点灯的设计,它的主要功能为:通过UNO R4 WiFi接收Arduino Cloud的数据,将接收到的数据处理后在LED矩阵上显示指定内容。。
C6C6C6
14
Funpack3-5 Arduino UNO R4 WiFi 物联网灯板该项目使用了Arduino UNO R4 WiFi,实现了物联网灯板创意项目的设计,它的主要功能为:利用 Arduino UNO R4 WiFi 开发板学习物联网开发,使用其板载的 12x8 LED矩阵, 实现一个接入智能家居平台可远程控制的物联网灯板。。
鲜de芒果
13
【Funpack3-5】基于Arduino UNO R4 WiFi的远程灯光控制和联网时钟设计该项目使用了Arduino UNO R4 WiFi,实现了远程灯光控制的设计,它的主要功能为:通过网络连接到智能云端,尝试将设备模拟成可以控制的灯,远程端发送指令,将灯光开启关闭,0到90%时,矩阵亮起逐渐变大的范围,90%以上时,灯板显示出太阳的图标。
该项目使用了Arduino UNO R4 WiFi,实现了联网时钟的设计,它的主要功能为:通过LED矩阵显示从NTP服务器获取到的时间信息,包括年、月、日、时、分、秒,同时约每12分钟会自动校时一次。
QuaX
11