什么是 Arduino?

Arduino 的定义

Arduino是一个开源硬件和软件平台,旨在为进入微控制器世界提供一个简单、低成本但高性能的入口。Arduino由David Cuartielles、Gianluca Martino、Tom Igoe、David Mellis和Massimo Banzi在近二十年前开创

这个Arduino的定义为十年前肯定存在的问题提供了一个合理的答案。然而,Arduino已经成长了。在过去的二十年里,成千上万的人为开源材料做出了贡献。如今,Arduino远不止是Arduino。

Arduino 内部发生了什么变化?

Arduino继续提供不断扩展的产品范围。他们仍然有原始UNO的版本,以及保留了原始外形尺寸的扩展版本。这包括带有8x12 LED矩阵的UNO R4,如图1和视频1所示。他们还有一条新的Pro产品线,配备高性能32位处理器和网络连接功能。这使得远程监控和数据共享变得方便。Pro产品线包括一个名为Opta的可编程逻辑控制器(PLC)。增强的集成开发环境(IDE)提供了诸如串行绘图仪等功能。

1 :展示Arduino Uno R4和各种Qwiic设备的Sparkfun套件图片。

Video_01
视频 1 :Arduino Uno R4是原始Uno设备的最新版本。

Arduino 在哪里取得了成功?

就个人而言,我从未遇到过不熟悉Arduino的大学生或教育工作者。所有人都对这个产品有强烈的感受,从喜欢使用裸机编程的纯粹主义者到将Arduino用于一切的粉丝俱乐部。他们共同指向同一个观点。Arduino是一个成功的产品,深深植根于全国各地的微控制器和创客空间。换句话说,所有学生和许多爱好者都非常熟悉这个产品和集成开发环境(IDE)。

但这并不是故事的结尾,因为Arduino的影响力并不局限于公司及其相关产品。

Arduino 在哪些领域扩展?

这正是有趣之处,因为我们很快就会明白为什么我们最初对 Arduino 的定义是不完整的。作为 DigiKey 的工程师,我有机会接触并获得各种平台的经验。我观察到 Arduino 已经超越了我们的最初定义。早些时候,我提到 Arduino 在教育环境中几乎是一个普遍存在的常量 。这一事实不仅被 Arduino 内部注意到,也被其他制造商注意到。

Arduino 产品线的内部扩展

Arduino 之前提到的 Pro 系列就是这种思维的产物。认识到他们在教育领域有坚实的基础,Arduino 已经扩展了他们的硬件和软件,以涵盖物联网(IoT)设备。这些新设备以其标志性的黑色外观区别于原始的蓝色。新设备通常配备 32 位微控制器和无线发射器。

技术提示 :在成本和开发时间之间存在权衡。设计一个在低成本和可靠性方面都优化的产品需要时间和大量的工程努力。这种优化对于大批量生产尤其有利,因为有很大的机会从初始投资中获得回报。然而,对于小批量生产,这种优化可能在财务上不可行。

这就是像 Arduino Pro 系列这样的解决方案发挥作用的地方。对于某些应用,Arduino 的 Portenta 设备提供了一种快速上市的一站式解决方案,且工程投入较低。您的设计团队可能会因为这种快速的开发时间而获得市场份额的回报。额外的工程努力和费用可以集成到产品的后续版本中。

Video_02
视频 2 Portenta C33 是 Arduino Pro 系列微控制器的一员。

类似 Arduino 工具和产品的外部扩展

其他制造商通过将类似 Arduino 和 Arduino 兼容的工具集成到他们的产品中,来利用 Arduino 的知识库。

类似 Arduino 的产品

许多制造商提供 Arduino 兼容的板子。这包括可以通过官方 Arduino IDE 直接编程的板子。它还包括由相关IDE(如Energia IDE和德州仪器的MPS430微控制器Launchpad系列)编程的板子。

Arduino 兼容产品

像STMicroelectronics这样的公司生产Arduino兼容的设备。一个聪明的例子是NUCLEO-L031K6及相关设备。这些可以被归类为“双重兼容”,因为它们与Nano V3的引脚布局兼容。如果安装了适当的板管理器,它们也可以直接从Arduino IDE本身进行编程

技术提示 :在Arduino IDE中编程STM32产品会引入相关的硬件。然而,通过超越Arduino IDE进行编程以访问底层硬件,可以增强发现过程。例如,在Arduino IDE中,程序员可以配置模数转换器(ADC)以使用直接内存访问(DMA)。从这里,你可以跳转到硬件特定的IDE,如Renesas或ST微控制器。这是一个极好的学术练习。然而,如前所述,存在一个关于上市时间考虑的反对这种优化的论点。

Arduino 语言翻译器

当我们把焦点从Arduino转移到Raspberry Pi时,这个对话变得非常有趣。在那里,我们发现了各种技术。例如,Raspberry Pi Pico可以直接从Arduino IDE进行编程。也有方法可以在独立于Arduino IDE的情况下对Pi进行编程,同时保留Arduino语言。这些技术也适用于基于Pi的PLC,如KUNBUS产品

与此相关的是,其他制造商可以将Arduino代码导入他们的IDE中。例如,Microchip MPLAB可以导入一个Arduino项目。一个示例项目可以直接为UNO编程。然后,Arduino代码可以导入到MPLAB中。生成的代码可以推回到Microchip AVR微控制器(原Atmel)中。我们再次看到,庞大的Arduino教育基础被用来提供对微控制器的更深入理解。

技术提示 :大量的Arduino C代码已被用于训练人工智能(AI)模型。因此,人工智能可用于生成并协助代码生成。例如,考虑这段在人工智能协助下生成的非阻塞代码。本文展示了最初归因于可编程逻辑控制器(PLC)编程的思想如何轻松适应于通用用途。

结论

开源社区已将“Arduino”扩展到母公司范围之外。这是非常可取的,因为它利用了Arduino提供的大型教育驱动基础。这反映在新的Arduino Pro系列的物联网重点以及其他制造商提供的代码和硬件兼容设备中。总之,重点在于低到中等批量的交钥匙生产,并快速推向市场。