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

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

3天内不再提示

Arduino Uno R4首发:告白专用板(WiFi版)

不知名的研究 来源:不知名的研究 作者:不知名的研究 2023-08-02 16:43 次阅读

十二年磨一剑,今年Arduino官方终于发布了Ardui Uno R4,上一版Arduino Uno R3还是2011年发布的。

1.两个版本.png

相较于12年前的R3,R4的硬件,确实提升了一大截:

2.R4R3对比.jpg

主控芯片终于从8位的AVR升级到了32位的Arm cortex M4。芯片是瑞萨的,谁叫人家给Arduino基金会投钱了,还是大把大把的。

另外,这次终于推出了带有WiFi功能的版本,闪亮登场:

3.UNO-light.png

WiFi功能,由一块ESP32-S3-Mini提供,全面吊打主控芯片:

4.主控与WiFi芯片.png

吐槽归吐槽,还是第一时间抢购了一块Arduino Uno R4 WiFi版,因为只有WiFi版,板载一个LED点阵。不过这个点阵,还真是个点阵,直接怼了10个引脚上去,可真是虱多不痒,引脚多了放开手脚用啊:

6.LED阵列.png

这要换个WS2812阵列,不香吗?


板子到手后,和上任大哥对比了一下:

5.R4R3.jpg

大小一样,扩展板可以直接使用,这点不错。

先点个灯玩玩,毕竟有8*12个灯可以点,又不用额外接线,还是不错的。

点灯代码如下:

#include "Arduino_LED_Matrix.h"

ArduinoLEDMatrix matrix;

// 参考:https://juejin.cn/post/7128690033669701639
unsigned char Light[8][8] = //'全亮'
{
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
};
 
unsigned char Dark[8][8] = //'全灭'
{
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
};

unsigned char bigheart[8][8] = //'大心'
{
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 1, 1, 0, 0, 1, 1, 0,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 0, 1, 1, 1, 1, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
};
 
unsigned char smallheart[8][8] = //'小心'
{
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 0, 1, 1, 1, 1, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
};
unsigned char I[8][8] = //'I'
{
  0, 1, 1, 1, 1, 1, 1, 0, 
  0, 1, 0, 1, 1, 0, 1, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0, 
  0, 1, 0, 1, 1, 0, 1, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
};
unsigned char L[8][8] = //'L'
{
  0, 0, 1, 1, 1, 1, 0, 0, 
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 1,
  0, 0, 1, 1, 1, 1, 1, 1,
};
unsigned char O[8][8] = //'O'
{
  0, 0, 1, 1, 1, 1, 0, 0, 
  0, 1, 0, 0, 0, 0, 1, 0,
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 0, 0, 0, 0, 0, 0, 1,
  0, 1, 0, 0, 0, 0, 1, 0,
  0, 0, 1, 1, 1, 1, 0, 0,
};
unsigned char V[8][8] = //'V'
{
  0, 0, 0, 0, 0, 0, 0, 0, 
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 0, 0, 0, 0, 0, 0, 1,
  0, 1, 0, 0, 0, 0, 1, 0,
  0, 1, 0, 0, 0, 0, 1, 0,
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
};
unsigned char E[8][8] = //'E'
{
  0, 0, 0, 0, 0, 0, 0, 0, 
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 1, 0, 0, 0, 0, 0, 0,
  0, 1, 0, 0, 0, 0, 0, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 1, 0, 0, 0, 0, 0, 0,
  0, 1, 0, 0, 0, 0, 0, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
};
unsigned char U[8][8] = //'U'
{
  1, 0, 0, 0, 0, 0, 0, 1, 
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 0, 0, 0, 0, 0, 0, 1,
  1, 1, 0, 0, 0, 0, 1, 1,
  0, 1, 1, 0, 0, 0, 1, 1,
  0, 0, 1, 1, 1, 1, 0, 0,
};
 
void setup() {
  Serial.begin(115200);
  matrix.begin();
  Clear();
  delay(3000);
}
void loop() {
  //主代码循环运行:
  unsigned int d = 500;
  unsigned int d2 = 100;
  Display(I);delay(d);Clear();
  Display(L);delay(d);Clear();
  Display(O);delay(d);Clear();
  Display(V);delay(d);Clear();
  Display(E);delay(d);Clear();
  Display(U);delay(d);Clear();
  for(int i=0;i< 5;i++) {
    Display(bigheart);delay(d2);Clear();
    Display(smallheart);delay(d2);Clear();
  }
  uint8_t arr[NUM_LEDS] = {1};
  for(int i=0;i< NUM_LEDS;i++)
  {
    arr[i] = 1;
  }
  for(int i=0;i< 5;i++) {
    Display(bigheart);delay(d2);Clear();
    Display(smallheart);delay(d2);Clear();
    matrix.loadPixels(arr, NUM_LEDS);delay(d2);Clear();
  }
}

void Display(unsigned char lattice[8][8])//显示函数
{
  uint8_t arr[NUM_LEDS] = {0};
  for(int r = 0; r < 8; r++)
  {
    for(int c = 0; c < 8; c++)
    {
      arr[r*12+c+2] = lattice[r][c];
    }
  }
  matrix.loadPixels(arr, NUM_LEDS);
}

void Clear()//清除函数
{
  uint8_t arr[NUM_LEDS] = {0};
  matrix.loadPixels(arr, NUM_LEDS);
}

上述代码,参考8*8的点阵图形数据,扩展到8 * 12的,然后使用Arduino 官方提供的专用点灯库点亮。

点完灯如下:

7.点灯.jpg

视频演示:

效果还是不错的,赶紧来一块,告白你心爱的Ta吧!!!

审核编辑 黄宇

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

    关注

    134

    文章

    9105

    浏览量

    367895
  • WIFI
    +关注

    关注

    81

    文章

    5299

    浏览量

    203951
  • 主控芯片
    +关注

    关注

    2

    文章

    199

    浏览量

    24665
  • Arduino
    +关注

    关注

    188

    文章

    6471

    浏览量

    187258
  • WS2812
    +关注

    关注

    0

    文章

    32

    浏览量

    6193
收藏 人收藏

    评论

    相关推荐

    REDMI Turbo 4首发搭载天玑8400-Ultra

    REDMI Turbo 4 首发搭载天玑 8400-Ultra,该芯片拥有全大核 CPU 架构设计,搭配精准的能效调控技术,实现性能与能效的双重跃升,满血游戏、超低功耗,陪你畅快玩,始终流畅如一。
    的头像 发表于 01-06 10:48 61次阅读

    如何使用Arduino实现CAN总线通信呢

    的硬件模块实现CAN总线通信。 硬件需求 Arduino :任何支持Arduino IDE的板子都可以,例如Arduino Uno、Meg
    的头像 发表于 12-23 09:06 238次阅读

    自己设计的Arduino UNO R3主控原理图+PCB源文件(可直接打样)

    一年前做的Arduino UNO r3,开源精神,把自己这块板子奉献给大家,板子没有什么问题,可以直接打样制作,原理图文件都表明了型号。不用谢~ Arduino
    发表于 12-10 10:14

    基于Arduino的串口通信项目

    基于Arduino的串口通信项目涉及多个方面,包括硬件连接、软件编程、串口参数配置等。 一、硬件准备 Arduino开发 :确保你有一块Arduino开发
    的头像 发表于 11-22 09:24 671次阅读

    如何使用Arduino实现CAN总线通信

    开源硬件平台,通过添加CAN总线模块,也可以实现CAN通信。 硬件准备 Arduino开发 :可以选择Arduino Uno、Mega等型号。 CAN总线模块 :如MCP2515或M
    的头像 发表于 11-12 10:09 1019次阅读

    运放威廉希尔官方网站 的反馈回路中的R4R5是什么意思?

    如下图所示 这个运放威廉希尔官方网站 的反馈回路中的R4R5是什么意思? 按照我的想法,是直接用c4作为反馈电容就可以了,但是一直不懂别人的设计为什么加这两个电阻。 求哪位高手帮我解答一下,谢谢。
    发表于 09-20 08:13

    使用INA333时,当R4=10m时输出就不正常了,怎么解决?

    我在使用INA333时遇到一个问题:在如下威廉希尔官方网站 中,当R4=0,感觉是正常的。但R4 =10m时,输出就不正常了。请问:当R4 = 10m时,要怎样修改才能使输出正常?
    发表于 08-15 07:18

    LM258在这个威廉希尔官方网站 里是电压跟随器吗?R4在这里不影响输出电压吗?

    我想问一下LM258在这个威廉希尔官方网站 里是电压跟随器吗?R4在这里不影响输出电压吗?根据虚短的原理,V-是等于Vref。 那么Vo和V-的关系怎么分析呢,是相等吗?怎么根据虚断的原理分析Vo和V-的关系?这里是怎么得到Vo=V-的呢?
    发表于 08-13 06:05

    采用OPA2377设计跨阻放大器,其中R5,R4,R6构成T型反馈回路,请问电容C4的作用是什么?

    1、采用OPA2377设计跨阻放大器,其中R5,R4,R6构成T型反馈回路,请问电容C4的作用是什么? 2、APD接收光信号频率为130MHz,同时将本振信号输入APD实现混频,使
    发表于 08-09 07:41

    ESP32的程序是不是和uno r3一样都是以插入就开始运行?

    大神们好,小弟一直在用Arduino Uno R3来运行hex编好了的程序,但是uno r3的容量实在是太少了,所以想问问ESP32可以代替
    发表于 06-25 07:56

    S2GO_3D_TLE493DW2B6-A0无法与Arduino UNO一起工作是怎么回事?

    /tree/master/examples/DrillTrigger_SpeedAsNumbe... 将传感器连接到 ARduino UNO R3 I2C 引脚(用示波器检查,可以看到 SCL 和 SDA
    发表于 05-28 07:03

    Arduino Uno R3开发版简化

    本人小白,想把Atmega328p-AU芯片单独拿出来用来控制LED阵列,但Arduino R3开发的原理图真看不懂!想知道除了328芯片还需要什么以及线路怎么连接,感谢各位大佬!
    发表于 04-02 08:38

    如何使用Arduino UNO和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 2853次阅读
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b><b class='flag-5'>板</b>和电位器控制伺服电机

    如何使用Arduino UNO和TIP120晶体管驱动和控制直流电机的速度

    在本 Arduino 电机指南中,您将学习如何使用 Arduino UNO 和 TIP120晶体管驱动和控制直流电机的速度。在此示例中,您将使用按钮来提高电机速度,然后减慢速度,这要归功于脉宽调制 (PWM) 的强大功能。
    的头像 发表于 02-11 10:08 1522次阅读
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>和TIP120晶体管驱动和控制直流电机的速度

    如何使用arduino控制接触器?

    我将避免铅酸电池过载。我想通过使用近 30A 的接触器和 arduino uno 来控制电池过载。如何使用arduino控制接触器?
    发表于 01-22 07:14