用初学者的视角,说说我对Arduino入门开发板型号的选择建议,也想和不同专业的同学讨论一下Arduino入门选型问题。
相信不同的人在选择Arduino作为入门开发板时有不同的目的。比如高校一些专业的大学生,由于专业课程学习或毕设要求,比如软件工程,计算机科学,应用数学、交互装置、互动媒体艺术、环境、农学等,或是像初高中学生学习实践、创客教育老师教学准备、创客爱好者日常Diy项目等。
在看了23个知乎问答和12篇文章,又去电商平台转了一圈后,我得出的结论是:新手推荐Arduino Uno。当然,还有Arduino Mega和Arduino Nano同样也适合不同需求的初学者使用。
我整理了这三款推荐的Arduino型号的参数对比,下面我会结合这三个型号的不同参数,说说我的选型理由。(数据来源:Arduino社区文档)
型号 | 微控制器 | 数字I/O引脚 | 模拟I/O引脚 | UART端口 | 供电方式 | 程序烧录 | 存储空间 | LED指示灯 | ICSP接头 | 自动复位 | 价格 |
Uno | ATmega328p | 14(其中6个可以作为PWM输出) | 6 | 1 | USB供电、外部电源适配器(7-12V)、Vin引脚供电 | 通过USB接口直接烧录 | 32KB Flash闪存,2KB SRAM,1KB EEPROM | 有 | 有 | 有 | ¥80左右 |
Mega | ATmega2560 | 54(其中15个可以作为PWM输出) | 16 | 4 | USB供电、外部电源适配器(7-12V)、Vin引脚供电 | 通过USB接口直接烧录 | 256KB Flash闪存,8KB SRAM,4KB EEPROM | 有 | 有 | 有 | ¥120左右 |
Nano | ATmega328p | 14(其中6个可以作为PWM输出) | 8 | 1 | USB供电、外部电源适配器(7-12V) | 通过USB接口直接烧录 | 32KB Flash闪存,2KB SRAM,1KB EEPROM | 有 | 有 | 有 | ¥40左右 |
PWM:脉宽调制,用于模拟输出,通过快速切换数字信号来模拟模拟信号。
它常用于控制LED亮度、电机速度等。如果你的项目需要控制亮度或速度,PWM是一个重要的参数。
UATR端口数:如果你需要同时与多个外部设备进行串行通信或连接多个串行设备(例如传感器、GPS模块、蓝牙模块等),多个UART端口可以直接连接这些设备,而无需使用软件模拟的串行通信。
Flash:用于存储Arduino的程序代码。
它的大小决定了你可以上传多大和多复杂的程序。一般来说,初学者不需要太担心这个,除非你的项目非常复杂。
SRAM:静态随机存取存储器,于存储临时数据和变量,断电后数据会丢失。
它的大小影响你可以使用的变量和数据的数量。如果你的项目需要大量的变量或数据处理,比如需要显示大量的字符,或者显示图片,SRAM的大小就很重要。
EEPROM:用于存储需要在断电后仍然保留的数据。它适合存储一些配置参数或状态信息。
如果你的项目需要在断电后保留某些数据,EEPROM的大小和使用方法就很重要。
时钟速度:也称为时钟频率,是指微控制器(MCU)内部时钟振荡器的工作频率,直接影响MCU的处理速度。时钟频率越高,MCU每秒钟可以执行的指令数就越多,从而提高了处理能力。对于Arduino Uno、Nano和Mega,这个频率通常是16 MHz,基本满足入门学习的需求。
ICSP接头:用于在电路板上直接编程微控制器的接口。对于Arduino Uno、Mega、Nano这些开发板,它们都配备了ICSP接头。这些ICSP接头使得开发者可以直接通过SPI接口对微控制器进行编程,而不需要使用外部下载器。
知道了以上Arduino相关参数,你就基本可以看懂上面的表格了。再结合自己的学习目标和项目需求,比如对功能、外设接口、电源和预算等方面,就可以选择型号了。下面,直接进入总结!
1.Arduino Uno
现在最热门的选择,适合初学者,功能全面,价格适中,市面上关于Arduino Uno的学习资源也相对比其他两款多。
优点:
①与其他扩展板的兼容性是Arduino家族中最好的
②可以更换处理器,即使芯片被烧坏,也可以自行替代
③微控器使用ATmega328P,该内存在断电时不会被擦除
缺点:
①模拟输入引脚较少
2.Arduino Mega
适合需要更多I/O引脚的大型或者复杂项目,价格也相对较高。
优点:
①更多I/O引脚,适合需要大量传感器和设备连接的项目
②更大SRAM存储,适合需要复杂程序和大量数据处理的项目
③多UART接口,方便与多个串行设备通信
④微控器使用ATmega2560,该内存在断电时不会被擦除
缺点:
①板子尺寸较大,不适合空间有限的项目
②功耗较高,由于板子扩充了更多的引脚和功能,就会带来更多功耗
3.Arduino Nano
体积小巧,价格相比前两款更实惠,但没有预留电源插座,需要外部供电USB或排针供电。
优点:
①重量仅7g,小巧紧凑,可以直接插在面包板上使用,适合空间有限的项目
②由于功能较少,功耗相对较低
③价格优惠,相比于前两款,更有价格优势
缺点:
①存储较小,可能限制复杂程序和数据处理
②I/O引脚数量较少,可能无法满足需要大量传感器和设备连接的项目
③没有专用的电源插孔,需要额外供电
给不同专业同学入门的选型建议(如有遗漏或错误,欢迎补充或指正)
以下推荐,主要以项目规模和接口要求为主要选型考量。一般情况下,遇到部署空间有限的应用,都推荐使用Arduino Nano。
- 软件工程、计算机科学、应用数学:推荐选择Arduino Uno,比较基础入门。
- 交互艺术:由于很多艺术装置需要使用舵机操控,因此需要的板载资源会很多,因此推荐Arduino Mega,但如果有空间限制,则推荐更小巧的Arduino Nano。
- 环境、化学、农学专业:项目主要用于数据采集和环境监测,这些通常不需要很多I/O端口,Arduino Uno有足够的模拟输入端口且更稳定。
另外,我想可能还有小伙伴在纠结要不要买Arduino学习套件,我个人是觉得可以买,一是节省不少其他模块选购的时间,二是一般套件有配套课程,这对于小白来说就有比较明确的学习目标了。 最近自己在准备上手点灯,如果大家也不知道哪里可以找学习资料的话,推荐DF创客社区,有教程也有不同难度梯度的项目分享,最近在白嫖学习的Arduino入门教程,好像刚更新,是一系列结合模块的学习课程,难度设置也比较合理。
希望以上内容能帮助同样处在该入门阶段迷茫的大家,我已经想象到前面还有好多挑战等着咱了,下一篇文章见~ 最后,如果大家有更好的学习资料或推荐零基础入门Arduino和开源硬件项目的学习方法,也请推荐给我,我太想进步啦!