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

    文章

    9084

    浏览量

    367384
  • WIFI
    +关注

    关注

    81

    文章

    5296

    浏览量

    203575
  • 主控芯片
    +关注

    关注

    2

    文章

    198

    浏览量

    24636
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186952
  • WS2812
    +关注

    关注

    0

    文章

    32

    浏览量

    6170
收藏 人收藏

    评论

    相关推荐

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

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

    基于Arduino的串口通信项目

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

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

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

    运放电路的反馈回路中的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

    Banana Pi BPI-M4 Berry 开源硬件开发以太网口和WiFi测试

    Banana Pi BPI-M4 Berry 开源硬件开发以太网口和WiFi测试
    的头像 发表于 07-02 16:16 882次阅读
    Banana Pi BPI-M<b class='flag-5'>4</b> Berry 开源硬件开发<b class='flag-5'>板</b>以太网口和<b class='flag-5'>WiFi</b>测试

    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

    玩转个性,HUAWEI Pocket 2首发小艺智能头像

    的小折叠在设计、性能、体验等方面的全新升级。其中,HUAWEI Pocket 2首发支持小艺智能头像,让用户可以一键设置个性化外屏头像,为设备增添一抹独特的色彩。 智能头像 玩转个性 在快节奏的都市生活中,个性化已成为表达自我的重要方式。大模型赋能的全新小艺拥有内容辅助生成的能
    的头像 发表于 02-22 17:19 518次阅读

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

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 2787次阅读
    如何使用<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 1453次阅读
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>和TIP120晶体管驱动和控制直流电机的速度

    如何使用arduino控制接触器?

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