初见 Arduino
啥是 Arduino
最近发现一个很有意思的玩意 -- Arduino ,百度上巴拉巴拉说了很多,我就不复制粘贴了,我实际用起来这就是一个很方便的集成开发环境,有着各种各样的库,拥有很不错的生态,屏蔽掉了很多底层代码,不用再去头疼GPIO怎么配,各种设备怎么初始化,让开发者专注于软件上的开发。
Arduino 的优点
支持Arduino的硬件直接拿来就用,不用头疼这块板子需要这种开发环境,那个厂商用的另外一个开发环境,两个开发环境可能还有冲突。
PS:隔壁兄弟,同时做两套板子两个冲突的开发环境,人都要吐了。(╯‵□′)╯︵┻━┻
而有 Arduino 库的传感器,能直接省去你协议对接的过程,直接函数调用就能拿到数据,免去翻手册解析协议的过程。
PS:超爽是不是,隔壁兄弟解析几十字节的串口数据,人都要傻了。(✖人✖)
适合的人群
毫无疑问这东西就是小白之友,屏蔽底层,加上大量库的支持,可以让小白非常快的上手,省去很多麻烦。
对大牛们来说这不算啥,但是也不是没用。这东西在有经验的开发者手里开发速度快的优势会更加明显,毕竟调用库这么爽的事情谁不爱呢?当上面要求快速出个 demo 演示,不需要考虑太多的时候这东西就很棒了。
PS:当我拿到传感器数据的时候,隔壁兄弟手册都还没看完。|ू・ω・` )
上手 Arduino
安装IDE
第一件事情当然就是安装 IDE 啦!官方下载我去试过了也还行,这里我推荐社区一个好兄弟的帖子:
链接: 国内 Arduino IDE下载.
在这里感谢好兄弟提供的国内资源
下面是官网地址,要是实在找不到国内资源的话可以去官网试试,都是免费的,有条件的可以去官网捐赠支持他们一下。
链接: 官方 Arduino IDE下载.
下载下来也没啥安装流程,解压就能用了(Arduino IDE 1.8.15)打开之后就会出现下图:
Arduino - IDE 的使用
看见上面那图,有过C语音开发经验的朋友应该就有疑问了,setup 和 loop 是啥?我辣莫大的一个 main 函数去哪儿了?
其实 Arduino - IDE 中的作用就相当于一个死循环的 main 函数,loop 相当于:
main()
{
deviceinit(); // 硬件初始化
while(1)
{
// 你 loop 里的代码其实在这里运行
}
}
写在 loop 里的代码就相当于写在这个 while(1) 里面了。
而 setup() 函数呢则是 Arduino 的一个特点,你需要在这里面进行一些初始化操作和设置,比如说设置引脚,设置串口波特率什么的,当然一些不适合放入 loop 循环,又可以在loop 之前运行的函数也可以放 setup 函数中调用。
好了,现在第一次看见这个界面最大的疑惑没了,可以安心往下看了吧?
接入开发板
Arduino 官方的开发板是 ATmega 芯片 不过现在国内很少有看见做 AVR 的了,于是这里我选择了 ESP32 芯片的开发板,这里我推荐安信可和DFRobot 这两家的开发板子,其他的我没用过就不多说了,他们两家也没给我钱,我这里就不放连接了 。┗( ▔, ▔ )┛
安信可的板子便宜二十几块钱 ,资料都在 github 上 东西蛮全的,库支持也不错,毕竟大厂,适合有经验的人,爱折腾的人。
DFRobot 价格偏贵,快50块钱了,但是从板子上的印刷到资料的编写是真的贴心,引脚图和手册不会看都没关系,适合完全不懂的小白,技术支持也不错。也算是物有所值,高出来的那一部分放服务里面去了,适合不差钱的小白。或者就单纯想做个东西,不想深入研究的人。
DFRobot 的 SDL,SDA,A0,RX,TX 这些 Arduino 常用的引脚都标出来了
安信可的就得自己看引脚图和开发手册 自己标
这里我就用安信可板子做例子,接上板子之后打开"文件"选项卡找到点击"首选项":
会出现一个对话框,在附加开发板管理器中添加 https://github.com/espressif/... :
添加网址成功后,"工具"选项卡找到点击"开发板",里面有个"开发板管理器":
打开之后输入 ESP32 并且点击安装即可:
安装完成后,再次点击"工具"选项卡找到点击"开发板",这次会多出一个 ESP32 Arduino 进去找到我们的NodeMCU - 32S:
这下就完成了开发板的配置工作!
跑个 demo 试试,在"文件"下有个示例,里面有很多自带的 demo 可以用,不过第一次使用的时候,保存会提示你另存为,因为自带的demo是不可修改的,找个路径存放你修改后的文件就行,推荐最简单的流水灯:
运行之后板子上的小灯就会一闪一闪的了 ୧( ⁼̴̶̤̀ω⁼̴̶̤́ )૭ 。
本文仅个人学习使用,如有错误,欢迎指正, ( ੭ ˙ᗜ˙ )੭谢谢老板!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。