arduino 超详细的开发入门指导-程序员宅基地

技术标签: 技术分享  arduino  编程语言  嵌入式  单片机  

初见 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 1.8.15

Arduino - IDE 的使用

看见上面那图,有过C语音开发经验的朋友应该就有疑问了,setup 和 loop 是啥?我辣莫大的一个 main 函数去哪儿了?
其实 Arduino - IDE 中的 loop()作用就相当于一个死循环的 main 函数,loop 相当于:

main()
{
    deviceinit();         // 硬件初始化
    while(1)          
    {
                               // 你 loop 里的代码其实在这里运行
    }
}

写在 loop 里的代码就相当于写在这个 while(1) 里面了。

而 setup() 函数呢则是 Arduino 的一个特点,你需要在这里面进行一些初始化操作和设置,比如说设置引脚,设置串口波特率什么的,当然一些不适合放入 loop 循环,又可以在loop 之前运行的函数也可以放 setup 函数中调用。

好了,现在第一次看见这个界面最大的疑惑没了,可以安心往下看了吧?

接入开发板

Arduino 官方的开发板是 ATmega 芯片 不过现在国内很少有看见做 AVR 的了,于是这里我选择了 ESP32 芯片的开发板,这里我推荐安信可和DFRobot 这两家的开发板子,其他的我没用过就不多说了,他们两家也没给我钱,我这里就不放连接了 。┗( ▔, ▔ )┛

安信可的板子便宜二十几块钱 ,资料都在 github 上 东西蛮全的,库支持也不错,毕竟大厂,适合有经验的人,爱折腾的人。

DFRobot 价格偏贵,快50块钱了,但是从板子上的印刷到资料的编写是真的贴心,引脚图和手册不会看都没关系,适合完全不懂的小白,技术支持也不错。也算是物有所值,高出来的那一部分放服务里面去了,适合不差钱的小白。或者就单纯想做个东西,不想深入研究的人。
DFRobotB
DFRobot 的 SDL,SDA,A0,RX,TX 这些 Arduino 常用的引脚都标出来了
在这里插入图片描述安信可的就得自己看引脚图和开发手册 自己标

这里我就用安信可板子做例子,接上板子之后打开"文件"选项卡找到点击"首选项":
在这里插入图片描述
会出现一个对话框,在附加开发板管理器中添加 https://www.arduino.cn/package_esp32_index.json :
在这里插入图片描述

添加网址成功后,“工具"选项卡找到点击"开发板”,里面有个"开发板管理器":在这里插入图片描述
打开之后输入 ESP32 并且点击安装即可:
在这里插入图片描述
安装完成后,再次点击"工具"选项卡找到点击"开发板",这次会多出一个 ESP32 Arduino 进去找到我们的NodeMCU - 32S:
在这里插入图片描述
这下就完成了开发板的配置工作!

跑个 demo 试试,在"文件"下有个示例,里面有很多自带的 demo 可以用,不过第一次使用的时候,保存会提示你另存为,因为自带的demo是不可修改的,找个路径存放你修改后的文件就行,推荐最简单的流水灯:
在这里插入图片描述
运行之后板子上的小灯就会一闪一闪的了 ୧( ⁼̴̶̤̀ω⁼̴̶̤́ )૭ 。

本文仅个人学习使用,如有错误,欢迎指正, ( ੭ ˙ᗜ˙ )੭谢谢老板!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lixiaocheng1983/article/details/119179876

智能推荐

多线程 i++ 问题-程序员宅基地

文章浏览阅读4.1k次。1,在多线程中我们知道一个问题就是i++操作时,我们得到的结果和我们想象的结果不一样,因为i++操作会被分成三步。分别是取值,++操作,赋值(读,改,写)。当线程执行到取值或者++操作时,线程突然切换,所以最终得到的结果可能有些奇怪!看看下面程序创建是个线程对i进行++操作public class AtomicTest { public static void main(String[] a..._多线程 i++

ArcGIS经纬度转平面坐标教程_经纬度 gis 成面-程序员宅基地

文章浏览阅读629次。点击输出坐标系文本框右侧按钮,弹出空间参考属性对话框,依次点击投影坐标系->Gauss Kruger->CGCS2000->CGCS2000_3_Degree_GK_Zone_35,CGCS2000_3_Degree_GK_Zone_35代表3度带、高斯投影、代号为35度带,具体选择多少带号,根据经度值换算,具体换算方式自己网上查询(测绘人都知道)。在输出要素类处,选择输出数据的路径及名称,点击确定,在arcmap右侧内容列表中生成一个新的要素类,此步骤目的是将数据导出为shp文件。_经纬度 gis 成面

在cmd里输入cd myclass 提示系统找不到指定路径_cmd cd系统找不到指定的路径-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏3次。在cmd里输入cd myclass 提示系统找不到指定路径我刚学java的 其他回答 共 3 条如说:你用javac D:\myclass\Welcome.java成功编译了,那么 在D:\myclass下面会生成一个Welcome.class的文件,接着: 开始→运行→CMD 确定(打开DOS窗口) 把路径换回D:\myclass (操作如:C:\Docum_cmd cd系统找不到指定的路径

Bug系列路径规划算法原理介绍(三)——Tangent BUG算法_tangent bug代码详解-程序员宅基地

文章浏览阅读1.9k次,点赞5次,收藏3次。本系列文章主要对Bug类路径规划算法的原理进行介绍,在本系列的第一篇文章中按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展,整理了13种BUG系列中的典型算法,从本系列的第二篇文章开始依次详细介绍了其中具有代表性的BUG1、BUG2、Tangent BUG、I-BUG、RandomBug、BugFlood等算法。_tangent bug代码详解

sqlmap无法使用-r、-l命令问题原因没有携带请求参数即注入点_specified file '1.txt' does not contain a usable h-程序员宅基地

文章浏览阅读5.3k次。爬坑SalMap无法使用-r、-l命令问题原因解决方法背景原因示例sqlmap -r 读取HTTP POST数据包sqlmap -l 读取HTTP GET数据包解决方法http数据包没有请求参数信息,即没有携带注入点默认情况下请求连接为:http://192.168.138.20/Less-1/默认不带有请求参数信息的,需要我们手动添加?id=1还没有带有参数这个时候我们抓包获取http请求信息,sqlmap -r、-l是扫描不出来的,如下图所示:设置请求参数请求连接为:htt_specified file '1.txt' does not contain a usable http request (with paramete

linux下安装scala_scala没有linux版本的吗-程序员宅基地

文章浏览阅读1.1k次。linux下安装scala_scala没有linux版本的吗

随便推点

帮 C/C++ 程序员彻底了解链接器(转)-程序员宅基地

文章浏览阅读66次。转自:http://blog.jobbole.com/96225/本文旨在帮助 C/C++ 程序员们了解链接器到底完成了些什么工作。多年来,我给许多同事解释过这一原理,因此我觉得是时候把它写下来了,这样不仅可以供更多人学习,也省去我一遍遍讲解。[2009年3月更新,内容包括:增加了 Windows 系统中链接过程可能遇到的特殊问题,以及对某条定义规则的澄清。]促使我写下这篇文章的起因是..._各部分的命名:看看 c 文件中都包含了哪些内容

美化你的APP——从Toolbar开始_如何美化app-程序员宅基地

文章浏览阅读2.5w次,点赞10次,收藏38次。Toolbar是什么Toolbar是Google在Android 5.0中推出的一款替代ActionBar的View。ActionBar必须得作为Activity内容的一部分,而Toolbar可以放在任何层次。Toolbar比ActionBar支持更多的功能,从开始到终点,Toolbar包含下面可选的元素: - 一个导航按钮。 可以是一个向前的按钮、导航菜单按钮,等等。 - 一个logo图片_如何美化app

C# Windows服务安装、卸载批处理代码_c# 安装服务批处理 -i pause-程序员宅基地

文章浏览阅读1.2k次。C# Windows服务安装、卸载批处理代码_c# 安装服务批处理 -i pause

[特别邀请]微软武汉.NET 俱乐部第三次沙龙-程序员宅基地

文章浏览阅读212次。“企业互联网信息门户网站解决方案经验谈” 非常感谢博文视点资讯有限公司(武汉)一如既往对武汉.NET俱乐部的支持。本次活动将于2007年1月6日举行。以下是沙龙的详细安排: 演讲主题:“企业互联网信息门户网站解决方案经验谈”主讲人简介:陈欣军武汉追梦信息产业有限公司 总经理...

Linux命令行配置网络(有线网络,无线网络)// Debian_linux 有线网卡无线网卡 路由设置-程序员宅基地

文章浏览阅读5k次,点赞3次,收藏25次。Debian Linux配置网络环境。//有线网卡//无线网卡_linux 有线网卡无线网卡 路由设置

Android图书馆选座系统课程设计_android的图书馆座位预定系统可行性分析-程序员宅基地

文章浏览阅读5.4k次,点赞14次,收藏111次。项目时间:2020年6月大专二年级的安卓课程设计项目亮点:2D可视化的编辑地图项目简要:管理员编辑图书馆楼层的2D地图,学生在图书馆2D地图上选座。用户管理:登录、注册、修改个人信息、更改头像 。楼层管理:添加、修改、编辑、删除楼层地图、保存为模板 。模板管理:修改、删除、生成为楼层地图 。选座管理:查询座位、我的座位、修改座位 。知识点:application+sqlite+canvas+碎片+re_android的图书馆座位预定系统可行性分析

推荐文章

热门文章

相关标签