2418浏览
查看: 2418|回复: 11

[入门] Arduino Uno R4 WiFi版初体验之疯狂告白

[复制链接]
本帖最后由 HonestQiao 于 2023-7-11 14:08 编辑

千呼万唤十二年,Arduino官方今年终于发布了新一代的Ardui Uno R4,距离R3发布已经12年了。

Arduino Uno R4 WiFi版初体验之疯狂告白图1


相较于2011年发布的R3,R4的硬件,看起来,似乎提升了一大截:


Arduino Uno R4 WiFi版初体验之疯狂告白图2

核心芯片从8位的AVR,升级到了32位的Arm cortex M4。
用的芯片是瑞萨的RA4M1,据说最近推得很猛。另外,瑞萨还给Arduino基金赞助了,相当相当大的赞助。

更好的消息是,这次终于推出了自带WiFi模块的版本,不用再搭一个WiFi小片片了:

Arduino Uno R4 WiFi版初体验之疯狂告白图3

这个WiFi功能,由一块ESP32-S3-Mini提供,看了就有点莫名其妙,因为这块ESP32-S3-Mini可以全面吊打主控芯片RA4M1:

Arduino Uno R4 WiFi版初体验之疯狂告白图4


不过,还是第一时间在DFRobot抢购了一块Arduino Uno R4 WiFi版。
WiFi版还板载一个LED点阵,可不不用接线就点灯玩。
不过这个点阵,强迫症看了挺着急的,直接看图,你说急不急?

Arduino Uno R4 WiFi版初体验之疯狂告白图6

这都3202年了,WS2812B都满地跑了,就不能给力一点吗?




R4板子到手后,和R3对比了一下:

Arduino Uno R4 WiFi版初体验之疯狂告白图5


好在大小一样,Arduino接口一样,扩展板可以直接使用,不用二次投资了。


既然有LED点阵,吐槽归吐槽,吐完好好点个灯玩玩。
这个点阵是8*12个的,显示汉字会比较拮据,但显示英文和简单的图形,还是可以的。
想一想,8*12的点阵,用来做告白再好不过了,板载的,不怕接线不好点亮出问题。


下面就是参考第三方的分享,以及官方的点阵点灯代码,实现的告白专用代码:

  1. #include "Arduino_LED_Matrix.h"
  2. ArduinoLEDMatrix matrix;
  3. // 参考:https://juejin.cn/post/7128690033669701639
  4. unsigned char Light[8][8] = //'全亮'
  5. {
  6.   1, 1, 1, 1, 1, 1, 1, 1,
  7.   1, 1, 1, 1, 1, 1, 1, 1,
  8.   1, 1, 1, 1, 1, 1, 1, 1,
  9.   1, 1, 1, 1, 1, 1, 1, 1,
  10.   1, 1, 1, 1, 1, 1, 1, 1,
  11.   1, 1, 1, 1, 1, 1, 1, 1,
  12.   1, 1, 1, 1, 1, 1, 1, 1,
  13.   1, 1, 1, 1, 1, 1, 1, 1,
  14. };
  15. unsigned char Dark[8][8] = //'全灭'
  16. {
  17.   0, 0, 0, 0, 0, 0, 0, 0,
  18.   0, 0, 0, 0, 0, 0, 0, 0,
  19.   0, 0, 0, 0, 0, 0, 0, 0,
  20.   0, 0, 0, 0, 0, 0, 0, 0,
  21.   0, 0, 0, 0, 0, 0, 0, 0,
  22.   0, 0, 0, 0, 0, 0, 0, 0,
  23.   0, 0, 0, 0, 0, 0, 0, 0,
  24.   0, 0, 0, 0, 0, 0, 0, 0,
  25. };
  26. unsigned char bigheart[8][8] = //'大心'
  27. {
  28.   0, 0, 0, 0, 0, 0, 0, 0,
  29.   0, 1, 1, 0, 0, 1, 1, 0,
  30.   1, 1, 1, 1, 1, 1, 1, 1,
  31.   1, 1, 1, 1, 1, 1, 1, 1,
  32.   1, 1, 1, 1, 1, 1, 1, 1,
  33.   0, 1, 1, 1, 1, 1, 1, 0,
  34.   0, 0, 1, 1, 1, 1, 0, 0,
  35.   0, 0, 0, 1, 1, 0, 0, 0,
  36. };
  37. unsigned char smallheart[8][8] = //'小心'
  38. {
  39.   0, 0, 0, 0, 0, 0, 0, 0,
  40.   0, 0, 0, 0, 0, 0, 0, 0,
  41.   0, 0, 1, 0, 0, 1, 0, 0,
  42.   0, 1, 1, 1, 1, 1, 1, 0,
  43.   0, 1, 1, 1, 1, 1, 1, 0,
  44.   0, 0, 1, 1, 1, 1, 0, 0,
  45.   0, 0, 0, 1, 1, 0, 0, 0,
  46.   0, 0, 0, 0, 0, 0, 0, 0,
  47. };
  48. unsigned char I[8][8] = //'I'
  49. {
  50.   0, 1, 1, 1, 1, 1, 1, 0,
  51.   0, 1, 0, 1, 1, 0, 1, 0,
  52.   0, 0, 0, 1, 1, 0, 0, 0,
  53.   0, 0, 0, 1, 1, 0, 0, 0,
  54.   0, 0, 0, 1, 1, 0, 0, 0,
  55.   0, 0, 0, 1, 1, 0, 0, 0,
  56.   0, 1, 0, 1, 1, 0, 1, 0,
  57.   0, 1, 1, 1, 1, 1, 1, 0,
  58. };
  59. unsigned char L[8][8] = //'L'
  60. {
  61.   0, 0, 1, 1, 1, 1, 0, 0,
  62.   0, 0, 0, 1, 1, 0, 0, 0,
  63.   0, 0, 0, 1, 1, 0, 0, 0,
  64.   0, 0, 0, 1, 1, 0, 0, 0,
  65.   0, 0, 0, 1, 1, 0, 0, 0,
  66.   0, 0, 0, 1, 1, 0, 0, 0,
  67.   0, 0, 0, 1, 1, 0, 0, 1,
  68.   0, 0, 1, 1, 1, 1, 1, 1,
  69. };
  70. unsigned char O[8][8] = //'O'
  71. {
  72.   0, 0, 1, 1, 1, 1, 0, 0,
  73.   0, 1, 0, 0, 0, 0, 1, 0,
  74.   1, 0, 0, 0, 0, 0, 0, 1,
  75.   1, 0, 0, 0, 0, 0, 0, 1,
  76.   1, 0, 0, 0, 0, 0, 0, 1,
  77.   1, 0, 0, 0, 0, 0, 0, 1,
  78.   0, 1, 0, 0, 0, 0, 1, 0,
  79.   0, 0, 1, 1, 1, 1, 0, 0,
  80. };
  81. unsigned char V[8][8] = //'V'
  82. {
  83.   0, 0, 0, 0, 0, 0, 0, 0,
  84.   1, 0, 0, 0, 0, 0, 0, 1,
  85.   1, 0, 0, 0, 0, 0, 0, 1,
  86.   0, 1, 0, 0, 0, 0, 1, 0,
  87.   0, 1, 0, 0, 0, 0, 1, 0,
  88.   0, 0, 1, 0, 0, 1, 0, 0,
  89.   0, 0, 1, 0, 0, 1, 0, 0,
  90.   0, 0, 0, 1, 1, 0, 0, 0,
  91. };
  92. unsigned char E[8][8] = //'E'
  93. {
  94.   0, 0, 0, 0, 0, 0, 0, 0,
  95.   0, 1, 1, 1, 1, 1, 1, 0,
  96.   0, 1, 0, 0, 0, 0, 0, 0,
  97.   0, 1, 0, 0, 0, 0, 0, 0,
  98.   0, 1, 1, 1, 1, 1, 1, 0,
  99.   0, 1, 0, 0, 0, 0, 0, 0,
  100.   0, 1, 0, 0, 0, 0, 0, 0,
  101.   0, 1, 1, 1, 1, 1, 1, 0,
  102. };
  103. unsigned char U[8][8] = //'U'
  104. {
  105.   1, 0, 0, 0, 0, 0, 0, 1,
  106.   1, 0, 0, 0, 0, 0, 0, 1,
  107.   1, 0, 0, 0, 0, 0, 0, 1,
  108.   1, 0, 0, 0, 0, 0, 0, 1,
  109.   1, 0, 0, 0, 0, 0, 0, 1,
  110.   1, 1, 0, 0, 0, 0, 1, 1,
  111.   0, 1, 1, 0, 0, 0, 1, 1,
  112.   0, 0, 1, 1, 1, 1, 0, 0,
  113. };
  114. void setup() {
  115.   Serial.begin(115200);
  116.   matrix.begin();
  117.   Clear();
  118.   delay(3000);
  119. }
  120. void loop() {
  121.   //主代码循环运行:
  122.   unsigned int d = 500;
  123.   unsigned int d2 = 100;
  124.   Display(I);delay(d);Clear();
  125.   Display(L);delay(d);Clear();
  126.   Display(O);delay(d);Clear();
  127.   Display(V);delay(d);Clear();
  128.   Display(E);delay(d);Clear();
  129.   Display(U);delay(d);Clear();
  130.   for(int i=0;i< 5;i++) {
  131.     Display(bigheart);delay(d2);Clear();
  132.     Display(smallheart);delay(d2);Clear();
  133.   }
  134.   uint8_t arr[NUM_LEDS] = {1};
  135.   for(int i=0;i< NUM_LEDS;i++)
  136.   {
  137.     arr[i] = 1;
  138.   }
  139.   for(int i=0;i< 5;i++) {
  140.     Display(bigheart);delay(d2);Clear();
  141.     Display(smallheart);delay(d2);Clear();
  142.     matrix.loadPixels(arr, NUM_LEDS);delay(d2);Clear();
  143.   }
  144. }
  145. void Display(unsigned char lattice[8][8])//显示函数
  146. {
  147.   uint8_t arr[NUM_LEDS] = {0};
  148.   for(int r = 0; r < 8; r++)
  149.   {
  150.     for(int c = 0; c < 8; c++)
  151.     {
  152.       arr[r*12+c+2] = lattice[r][c];
  153.     }
  154.   }
  155.   matrix.loadPixels(arr, NUM_LEDS);
  156. }
  157. void Clear()//清除函数
  158. {
  159.   uint8_t arr[NUM_LEDS] = {0};
  160.   matrix.loadPixels(arr, NUM_LEDS);
  161. }
复制代码



这面代码的点阵数据部分,是参考了8*8的点阵图形数据,再实际点亮LED的时候,扩展到8 * 12的,然后使用官方提供的专用点灯调用点亮。


编译下载运行后,具体效果如下:

Arduino Uno R4 WiFi版初体验之疯狂告白图7


视频效果:【打开声音效果更好】



整体看来,这个效果还是挺好的。

天气炎热,宅在家里,不如把这个R4给点好了,向你心爱的Ta,来一场告白吧!!!



木子呢  管理员

发表于 2023-7-11 14:22:37

沙发沙发,来贡献个赞!!!
回复

使用道具 举报

hnyzcj  版主

发表于 2023-7-11 16:10:33

现在的ARDUINO都带这个功能了,赞一个
回复

使用道具 举报

Amos Young  中级技师

发表于 2023-7-12 10:53:15


蹲一个后续
回复

使用道具 举报

Amos Young  中级技师

发表于 2023-7-13 17:39:48

现在的ARDUINO都带这个功能了,赞一个
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-7-16 22:04:17

点赞点赞!
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-7-16 22:05:42

这个点阵不错,不过作品好像用不上……
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-7-16 22:07:42

很少作品是板子裸露的吧。除非没有盒子的作品。
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-7-17 21:51:43

赞一个!
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-7-17 21:52:48

不错不错
回复

使用道具 举报

腿毛利小五郎  高级技师

发表于 2023-7-18 11:42:14

泰裤辣!
回复

使用道具 举报

DFSJbR7vUjw  学徒

发表于 2023-7-20 10:15:46

还是你最懂浪漫
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail