OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【Arduino教程】05 Arduino Mega2560的PCB设计及编译器

共9条 1/1 1 跳转至

【Arduino教程】05 Arduino Mega2560的PCB设计及编译器的使用

菜鸟
2021-07-29 16:09:55    评分

在最后开始教大家开始撸代码,准备实现各种各样令人眼花缭乱的项目之前,还有最后一些关于搭建Arduino电路,以及编译实现Arduino代码的工具知识需要讲解。

Arduino项目实现中,看懂并且搭建各种令人眼花缭乱的电路图,是真正开始学习Arduino的第一步。在这个基础上,再进行各种电子元器件的代码编写并且运行,最终才能保证所有的组件顺利运行,成功的制作出各式各样好玩且有趣的Arduino项目。


本文提要:

电路的搭建(2楼)

编译器的使用(3楼)

相关软件的下载地址及安装方法(4楼)




关键词: Arduino     Mega2560     教程    

菜鸟
2021-08-03 16:31:06    评分
2楼

电路的搭建

1、面包板的结构

首先,我们来讲解电路如何搭建。在上一讲中,讲解了不少传感器的类型,还有面包板的结构。而几乎所有的Arduino项目,都离不开以面包板做基底,用各种各样的传感器所连接的电路连接在面包板的孔洞里,以实现各种不同的项目和功能。

具体来讲,以下列面包板的结构图所示,在中间的绿色的两排横孔当中,可以任意插入传感器以及跳脚线进行并联,而转接到Arduino Mega 2560的面包板中。而两侧竖排的孔洞,在那一列的任何位置都可以与插入其中的跳脚线或者传感器相连接。

1627545111991130.png

图1 面包板结构图

举个例子,如图二所示,在这个电路当中所实现的一个功能是让一个LED灯以不同的形式发亮。而在这个电路当中,在Arduino的13号数字引脚中(digital output, 如果忘记可以参看Arduino Mega 2560第一讲),一根跳脚线和面包板的负极竖版线的一个孔连接,而在这个 旁边接了一个电阻,电阻和一个横排的LED灯的短脚串联。LED灯的长脚旁接了一根黑线,黑线最终接入了Arduino Mega 2560的接地引脚 (GND)。而在这个电路中,蓝色的输入线可以接入整个面包板的竖排孔中 (如绿线中所绘的任意一个孔),都可以和电阻接通。而电阻只要与面包板横排孔及LED灯相连,那么接线只能在这些横排孔中进行,而LED长脚的一端与黑线相连接也是同样的原理。

1627545144328401.png

图2 基础Arduino连接图示

在不少复杂的项目中,还有各种不同类型的面包板,有些时候有可能一块面包板无法容纳整个项目中的所有传感器。而不少常用的面包板还有Mini Breadboard(微型面包板,如图三所示),以及Half Breadboard(半型面包板,如图四所示)。微型面包板的接线方式图一面包板结构图中的横孔接线板,半型面包板相当于一个常规面包板的一半,接线方式相同。

1627545176566059.png

图3 微型面包板

1627545200720126.png

图4 半型面包板 

2、传感器的连接方式

接线的问题虽然不太重要,但是有些时候一些Arduino的初学者还是会对这个问题感到疑惑,所以需要在这里简单讲一下。

首先,如果一个线路足够简单,很多的传感器是可以直接接线然后连接到Mega 2560的控制器上面的。例如,如图五所示,一个薄膜式开关可以直接和Arduino Uno控制器用杜邦线直接相连,因为薄膜式开关的外接口是母线,所以可以通过两头公头的杜邦线连接。

以此类推,有其他的不少传感器,也可以直接通过杜邦线相连接。例如,如图六所示,超声传感器可以直接使用杜邦线连接至Arduino控制器上。也可以先将其插入面包板的孔洞内,再将杜邦线插入对应的横排的孔洞之中,使用另外一头连接Arduino控制器。

1627545284757313.png

图5 薄膜式开关和Arduino Uno控制器相连接

1627545344626194.png

图6 超声传感器和Arduino Uno控制器的连接方式

1627545356255529.png

图7 超声传感器和Arduino Uno控制器的连接方式2

当然,有些特殊的元器件是要求必须使用面包板连接的,比如在上一讲当中提到的<28>一些其他类型的小套件中,LED灯,热敏电阻之类的微型器件。

3、绘制连接电路图

为了讲解后来比较复杂的电路,也方便大家读懂其他的电路。推荐大家使用一款开源软件,名叫fritzing。这款软件是专门为了搭建Arduino的电路而设计的(有点类似于PCB设计的感觉)。也许有些人觉得看电路拍照就可以,但是当一个电路很复杂的时候,你真的看不清楚哪个线和哪个孔连接,相信我。

在这个软件之中,几乎可以找到所有的Arduino开发板,各类传感器的模型。也可以拿鼠标进行连线,将你所设计的电路的接线和实际搭建的电路接线联系起来,然后进行绘图,查看所搭建的电路有没有错误。如果后期我为大家讲解电路的话,也会把自己搭建的电路用这款软件绘制出来,方便大家查看。

1627545404728527.png

图8 fritzing软件界面的展示

接下来讲解一些这款软件使用的具体小技巧。举个例子,如果我们想搭建一个LED RGB电路,应该怎么做。LED RGB是一个有四个引脚的LED灯,可以使用这个灯进行变色等等操作。其中三个引脚分别为红色(red),绿色(green),蓝色(blue),还有一个引脚接地。

首先,可以在软件右上角红色的搜索框内输入你想要搜索的元器件名称,当我尝试搭建一个RGB LED灯构成的电路时,就在其中搜索RGB LED。然后如黑色箭头所示,点击该图标然后将这个RGB LED灯拖到左面的界面中。

1627545471177859.png

图9 fritzing软件界面的展示

然后,可以将这个RGB LED灯拖动到面包板之上。有一点必须在这里强调一下。当任何一个元器件被拖动到面包板之上时,如果想把这个元器件插入面包板或对应的集成电路中。首先必须点击这个元器件的引脚,会发现其变成黄色。这个时候面包板离这个引脚最近的地方会变成绿色,当把引脚插入某一行之后,这一行引脚会显示黄色。插入之后如果这个元器件和孔洞连接的地方显示蓝色则表示连接成功。

1627545509679708.png

图10 处于连接状态的线路

采用同样的方法将其他三个引脚都插入面包板中,在从下往上数的第一,二,四个引脚旁边接1kΩ电阻。然后,点击电阻左边的孔,将孔洞与左侧Mega 2560的数字输出孔4,5,6相连接。而当两个孔之间没有任何插入的电子元件时,直接将两个孔相连接就会出现导线。第三个孔和Mega2560的接地孔(GND)相连接。点击导线的任意一点,按住Ctrl就可以让这根导线弯曲。通过右边的检查器去更改电线的颜色。如下图十一所示。

1627545531766495.png

图11 处于连接状态的线路

最后可以点击文件左上角的file,将这个图片导出为PNG图片格式,如图十二所示。最终的效果类似于图二(在文章最后附fritzing的下载链接)。

以上就是对于电路搭建的基础知识的讲解。

1627545570776031.png

图12 图片导出


菜鸟
2021-08-03 16:31:39    评分
3楼

编译器的使用

由于Arduino目前强大的生态系统,以及和各种软硬件的兼容体系,可以用来开发Arduino的工具也不胜枚举。这些工具有些可以用来独立进行Arduino的开发,也可以配合使用进行交互性的开发。这些工具中比较普遍使用的包括,Arduino基础的官方开发工具,Arduino IDE。Visual Studio的Arduino开发工具。这两者都是使用基于C/C++的开发语言来驱动的。还有python,Matlab也有其独立的开发工具,也可以同Arduino IDE进行交互。

1、Arduino IDE基础

Arduino IDE 是进行所有Arduino开发的基础,所以要开始进行任何更加复杂的Arduino组件进行组装,或者进行相关的程序开发,必须先对Arduino IDE进行充分的了解和学习。

先前版本的Arduino或许在下载和配置方面有些复杂,但是目前的Arduino IDE的下载和安装都十分简便。Arduino IDE在其官网就可以找到其安装包的下载,下载好之后解压到你自己所指定的位置就可以使用。具体的下载地址和安装方法也会同fritzing一样附于文章末尾。

点击打开Arduino IDE之后,首先出现的是Arduino IDE的启动画面。

image.png

图13 最新版本Arduino启动画面

当Arduino软件启动之后,会显示以下的一个窗口。这个窗口中对于所有重要的信息都做了标注。从最上一行的菜单栏,到下一行的工具栏,以及这一栏尾部的串口监控器,到最底下的项目显示栏。代码编写区域,黑色框架内的调试结果显示区。需要注意的是,在右下角的一行英文文字中,出现的前半行文字的意思为当前所使用的Arduino控制器,后半行文字中最后的一行文字的三个字中,COMx为当前所使用的串口号。

1627545687380853.png

图14 最新版本Arduino启动画面

先简单叙述一下菜单栏中比较重要的几个功能及其调试功能。

首先,在File中,一些比较重要的功能包括,新建一个项目(New),打开一个项目(Open),打开最近的项目(Open Recent),打开各种案例(Arduino官网上面有不少基础教程,可以参看这些案例进行电路搭建以及代码实现)。

保存/保存在指定位置(Save/Save as)。在保存的时候需要注意,保存的文件名外需要创建一个文件夹,而文件夹的名称必须和文件的名称一致才能保证有代码的文件正常运行。

最重要的选项则为首选项(preference,如图15所示),打开首选项之后,可以看到如图十五所示的界面。在这个界面当中,可以选择执行程序的默认语言,编译器文字大小,是否显示行号等等。不太喜欢阅读英文的朋友可以选择语言(Editor Language)的选项中更换为简体中文。

 1627545716324792.png

图15 首选项功能展示

菜单栏中Edit的作用不大。Sketch中,最重要的功能是库的管理(Manage Libraries,如图十六),位于Include Library选项卡之下。在打开库的管理(如图十七所示)之后,可以看到两个过滤筛选菜单(红色方框标记),一个叫Type,另外一个叫Topic。通过Type(类型)可以找到处于不同状态的库,有可以更新的,已经/尚未安装的等等。通过Topic(主题)可以找到交流,传感器,显示等等通过功能来划分的库。一切Arduino所需要的库,都可以通过搜索菜单栏来寻找,只要输入其名称,可以参照其下方所展示的库名称来进行库的安装等操作。

另外还有一点很重要的是,在右下角有两个选项菜单框,一个是Version,显示当前库的版本号,另外一个是一个标注为install的按钮,点击该按钮就能安装这个库。而当一个库被安装之后,该按钮的位置会显示installed,说明该库已经存在,无需任何操作。因为Arduino的开源特性,有些公司的硬件会更新的十分迅速,而有些公司的硬件会更新的很慢。所以有时候为了整个项目的兼容性,可以安装稍早版本的库,以确保项目顺利运行。一般情况下,只要你打开库,则其会进行自动更新,可以根据项目自行进行版本调整。而有些无法从所需要的库中找到并且进行安装的库,则可以在下载之后直接拖入到Arduino软件安装路径下的library里,这么做同样可以使用。

1627545875828140.png

图16 库的管理选项

image.png

图17 库的管理菜单 

而菜单栏中的Tools,最重要的有两个项目,其中之一是Board,通过这个选项,每次可以选择所使用的Arduino控制板,如红框所示,目前所使用的是Arduino Mega 2560控制器。而在Port选项中,是所选择当前控制器所读取数据的USB端口。在第一次插入不同型号的Arduino控制器时会出现电脑进行硬件安装的提示,而在这时可能需要选择正确的USB端口,所以一定要搞清楚插入的控制器所对应的USB端口有一一对应的关系,否则可能会出现安装错误的情况。不过有些电脑会全程进行自动安装,所以不必太过担心这一点。而这两项都会显示在如图十四所示的右下角的一行字中。

1627545964341373.png

图18 Tool选项菜单

1627545985507962.png

图19 所有工具栏的功能和作用

而工具栏中不同的按钮功能则如下图所示。

● 校验 (Verify), 在每次下载代码之前,必须要先验证代码是否编写无误,所有的效验结果会显示在如图十四所示的调试结果提示区之内。如果有错误,报错格式一般都是以C/C++的形势呈现的。

● 下载 (Upload), 这个下载其实就相当于其他编译器上的运行 (run) 一样。只不过下载是相对于Mega的控制器而言的,因为控制器上面有独立的存储器,只要不下载新的代码,则该控制器一直运行当前的代码。

● 新建 (New), 新建一个新的项目。

● 打开 (Open), 打开一个项目,可以选择是范例程序或者是指定路径文件。

● 保存 (Save), 保存当前的项目到指定路径。

● 串口监视器 (Serial Monitor), 串口监视器是一个很重要的和Arduino控制器交互的工具。它主要是被用来查看串口发送或者接收到的数据。在很多时候,如果对传感器进行数值的监控,以及用编写的代码和Mega2560控制器发送指令的时候,都要通过这个监视器。这个监控器有两个设置很重要。第一,红框标记的是换行格式,一般选择第二个。第二,黄框标记的是波特率,一般选择9600。波特率是指每秒传输数据的比特值,绝大多数Arduino控制器在使用的时候一般都设这个值。如果有例外情况,在实际案例中会讲到。

 1627546040498762.png

图20 串口监视器

以上所述为初学者使用Arduino IDE所必须了解的基础设置及使用方法,更为复杂的问题会在后面讲解到。

2、Arduino兼容的编译器及其交互

根据以上所述的Arduino IDE的功能,其实可以看到其局限性还是比较强的,比如说在编译方面,远不如Visual Studio或者Pycharm等一些编译器随时根据你所输入的代码做出警告或者报错提示,IDE最终只会给你一个综合性的提示。

而唯一可以同Arduino交互的方法几乎就是通过它的串口监视器。而这个串口监视器的功能及其有限。所以,为了实现一些更加复杂的功能,例如用传感器所读出的值画图(这种方法可以被用来审视传感器的状态,以及评估某些传感器的测量极限),或者可以用更高级的方法来和Arduino进行交互,例如搭建一个简易的App从而实现一个类似于目前智能家居系统的IoT项目等等。实现这些项目,就必然使用到其他的编译器的独立开发,或者其和IDE的交互等等。这些东西展开来讲比较复杂,会在后期的教程中慢慢展开来讲如何使用。


菜鸟
2021-08-03 16:31:45    评分
4楼

相关软件的下载地址及安装方法

Fritizing下载地址:

https://fritzing.org/download/

Fritzing的下载本来是可以免费的,它的官网是希望你去捐款9欧元然后下载的,但是也可以跳过捐款直接下载。几个月之前还可以这样,目前好像必须捐款下载了。不用最新版本的话可以求助淘宝。浏览这个网站需要连接外网。

Arduino 下载地址:

https://www.arduino.cc/en/software

Arduino的使用方法比较直接,可以解压缩之后直接进行使用,所以不需要在这里多赘述什么。


工程师
2021-08-04 23:53:01    评分
5楼

感谢分享


工程师
2021-08-05 12:06:08    评分
6楼

干货


工程师
2021-08-05 12:08:46    评分
7楼

学习到了


高工
2021-09-08 19:45:00    评分
8楼

学习了


专家
2021-09-08 20:37:43    评分
9楼

学习了


共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]