大家好!很高兴能与大家分享关于我们申请到的Arduino UNO R4 WiFi开发板的硬件资源。这款开发板在保留了Arduino UNO R3大部分接口的基础上,进行了一些升级并增加了新的功能。
与R3的兼容性:它保留了与R3相同的大部分接口,这意味着我们可以很方便地在R3和R4之间进行切换,同时兼容大部分为R3设计的扩展板和项目。
新增CAN通信接口:最显著的是增加了CAN(Controller Area Network)通信接口。CAN是一种常用的工业通信协议,广泛应用于汽车、工业控制等领域。通过增加CAN接口,我们可以模拟更多的功能,实现与各种CAN设备的通信和控制。
实现模拟输出:这款开发板还增加了DAC(Digital-to-Analog Converter,数字到模拟转换器)接口,实现了模拟输出功能。这使得Arduino UNO R4 WiFi不仅能够处理数字信号,还能处理模拟信号,进一步扩展了其应用范围。
总的来说,Arduino UNO R4 WiFi开发板在保留了原有功能的基础上,通过增加CAN通信接口和DAC接口,提供了更丰富的硬件资源和更广泛的应用场景。无论是对于初学者还是对于需要进行复杂项目开发的用户来说,都是一个非常不错的选择。
下面我们通过原理图来详细查看。本次Arduino UNO R4 WiFi开发板增加了USB Type-C接口,这是一个重要的升级。通过USB Type-C接口,开发板可以实现直接模拟串口进行通信,这与以往将P1和P2引出到USB A型接口的设计有所不同。因此,在设计时我们需要格外注意这一点。
另外,新增加的LED矩阵也是本次升级的一个亮点。这个LED矩阵使得开发板可以显示更多的信息,为用户提供了更加丰富的视觉反馈和交互体验。
总的来说,通过原理图我们可以清晰地看到Arduino UNO R4 WiFi开发板在硬件资源上的升级和增加的新功能。这些改进不仅提升了开发板的性能,还扩展了其应用场景,为用户带来了更多的便利和可能性。
在关注Arduino UNO R4 WiFi开发板时,我们特别注意到其上的瑞萨MCU是5V芯片,而ESP32则是3.3V芯片。由于这两种芯片的电压要求不同,因此需要使用电平转换芯片来进行通信,以确保信号的稳定传输。此外,这两个芯片之间的通信是通过串口来实现的,这使得它们能够方便地交换数据和信息。在设计时,我们需要特别注意电平转换芯片的选择和使用,以确保开发板的正常工作和稳定性。
下面我们来完成本次任务1:blink。通过原理图,我们可以看到使用13端口来控制黄色的LED灯进行闪烁。
首先,我们需要配置13端口为输出模式,这样我们才能通过它来控制LED灯的亮灭。在Arduino编程中,我们可以使用pinMode()
函数来设置端口模式,使用digitalWrite()
函数来控制端口的电平。
接下来,在loop()
循环中,我们使用delay()
函数进行延迟,先延迟1000毫秒(即1秒),然后点亮LED灯;再延迟1000毫秒,熄灭LED灯。这样,LED灯就会以1秒的间隔进行闪烁。
以下是实现该功能的Arduino代码示例:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
效果如下
接下来我们来完成第二个任务:打印“Hello EEWorld!”。这个任务相对简单,我们只需要在loop()
循环中每隔一秒通过串口打印一次即可。
首先,我们需要确保已经通过USB Type-C接口将开发板连接到电脑,并在Arduino IDE中选择正确的串口。
然后,在setup()
函数中,我们使用Serial.begin()
函数来初始化串口通信,设置波特率为9600(或其他你想要的波特率)。
在loop()
函数中,我们使用Serial.println()
函数来打印“Hello EEWorld!”,并使用delay()
函数来每隔一秒打印一次。
以下是实现该功能的Arduino代码示例:
void setup() {
// 初始化串口通信,设置波特率为9600
Serial.begin(9600);
}
void loop() {
// 每隔一秒打印一次“Hello EEWorld!”
Serial.println("Hello EEWorld!");
delay(1000);
}
将上述代码上传到Arduino UNO R4 WiFi开发板后,打开Arduino IDE的串口监视器,设置正确的波特率,你就可以看到每隔一秒就打印一次“Hello EEWorld!”了。这样,我们就完成了第二个任务。
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("Hello EEWorld!");
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
初次接触Arduino R4开发板,我深感其魅力无穷。这款开发板不仅继承了Arduino系列一贯的易用性和灵活性,还在硬件资源上进行了显著的升级和扩展。
在使用过程中,我深刻体会到了Arduino R4的强大功能。新增的USB Type-C接口让我能够更方便地与电脑进行通信和数据传输,而无需担心接口不兼容的问题。同时,开发板上的LED矩阵也为我提供了丰富的视觉反馈,使得调试和交互变得更加直观和便捷。
在编程方面,Arduino R4同样表现出色。我使用了Arduino IDE进行代码编写和上传,整个过程非常顺畅。通过简单的代码,我就能够控制开发板上的各种硬件资源,实现各种有趣的功能和效果。
当然,初次使用Arduino R4也遇到了一些挑战。比如,我需要适应新的硬件资源和接口,了解它们的工作原理和使用方法。但是,通过查阅资料和不断实践,我逐渐掌握了这些新知识,并成功完成了多个有趣的项目。
总的来说,初次使用Arduino R4开发板是一次非常愉快和充实的经历。我不仅学到了很多新知识,还感受到了Arduino系列开发板的无限魅力和潜力。我相信,在未来的学习和实践中,我会更加深入地了解和掌握这款开发板,创造出更多有趣和实用的项目。
下面的视频为这个项目的整个过程
本帖最后由 eew_ljd6R2 于 2024-9-1 15:14 编辑
引用: 秦天qintian0303 发表于 2024-9-1 18:16 自带串口调试还是不错的,用外部串口调试工具应该也可以吧?
外部也可以但是要注意的是这个和以往的r3是不同的以往USBa和rt串口都是serial但是r4是typec是serial 端口可能是serial1这个还没确定需要试一下看但是我想的最好还是使用debug但是我还没有实现后续成功了在这里分享