当前位置:首页  <  前沿科技  <  【新奇特】Arduino为什么这么红?(二)...
【新奇特】Arduino为什么这么红?(二)
编辑:Xtm 2014-08-23 浏览次数:1027

今天给大家带来关于Arduino的不同版本的控制板设计与种类繁多的外围电路,当然也少不了Arduino的开发环境介绍,最后还会为大家带来运用Arduino制作的游戏手柄。

Arduino并不是一成不变的,每隔一段时间,Arduino官方组织就会发布最新的设计,对Arduino在原有基础上进行升级,让爱好者们更方便的使用。同时,为了满足不同层次的开发要求,Arduino也推出了不同版本的控制板设计,这里我们来认识一下使用最多的几种设计:

Arduino Uno

Arduino Uno

Uno版本应该说是Arduino的基础板,也是初学者的第一选择。它提供了基本的数据接口,对初学者足够的存储空间,无论是读取传感器,还是驱动电机,或者与电脑通信,都可以轻松的胜任。

Arduino Mega 2560

Arduino Mega 2560

这一版可以算是Uno的升级版,各种接口的数量比Uno要多,而且其搭载的单片机型号也要比Uno的单片机更高级一些,运算速度更快。如果你觉得Uno的硬件资源无法满足你的需求,那么你可以尝试一下Mega,当然价格也会比Uno要更高一些。

Arduino Nano

Arduino Nano

这个可以说是Uno的简版,优先考虑了体积上的优化,尽量将体积做到最小,可以满足一些手持设备或体型微小的设备使用。当然性能上相比Uno也略有缩水。

Arduino的外围电路的支持

 

Arduino作为一种控制芯片,所起的作用类似于我们的大脑,大脑是无法自行运动或是发声的。大脑所起的作用类似于指挥官,Arduino也是如此,想要做一些实际任务,离不开外围电路的支持。

很多人又要头痛了,电子电路完全不懂怎么办?其实现在这一点也已经不是什么大问题。对于电子专业的学生,或是想要学习电子电路的爱好者,当然要一切靠自己,查资料,买元件,做PCB板,焊电路,这其中当然会有很多辛苦,可其中学到的知识无疑也是装入自己口袋的。

 

如果不想在电子电路方面花费太多的精力,也没有问题。现在很多厂商也开发了各种各样的Arduino外围功能电路,无论是电机驱动、无线通信、音乐播放,还是读取各种各样物理信号的传感器(压力、速度、倾角、方向等等),都应有尽有,而且使用方便,可以直接连到Arduino控制板上工作。

电机驱动板 蓝牙模块

   电机驱动板                                                           蓝牙模块

Arduino 霍尔传感器 Arduino 光线传感器烟雾传感器

霍尔传感器                                               光敏传感器                                         烟雾传感器

说完了硬件,那么我们接下来谈谈很多人都头痛不已的软件开发吧。Arduino的代码结构和一般的嵌入式代码结构略有不同,一般的嵌入式代码都是main函数中一个死循环,程序不断的反复执行,单片机在每个循环内读取各个外部端口的数据,然后根据这些数据来做出相应的策略判断,把指令再通过外部端口传出去,达到控制外部设备的目的。

Arduino的程序运行方式与此差不多,只是代码结构略有不同。Arduino代码中没有main函数,而是使用了两个不同的必备函数:

Arduino代码结构程序

Arduino代码是把初始化的代码放在了setup函数中,而把需要不断循环执行的代码放在了loop函数中。与传统的嵌入式程序虽然结构不同,但设计思想还是一致的。

Arduino开发环境软件截图

开发环境软件截图

Arduino的代码语法与C++类似,也包含了类和对象的支持。即便是没有任何代码编写的基础,也可以很快上手。关于Arduino的代码编写,无论是Arduino的官方网站,还是网络上都有了相当丰富的资料,这里不再累述。

很多Arduino制作还要涉及另外一种程序的编写,便是上位机程序。一般是PC端的程序,你可以采用任何你所熟悉的高级语言进行开发,接收Arduino控制板所传递过来的数据(串口传输),在屏幕上显示输出或写入文件。VB、VC++、Delphi、Flash script、Processing等等都能满足你的要求。

Arduino实验 上位机程序控制外部电路灯的颜色

通过上位机程序控制外部电路灯的颜色

Arduino控制板 + 外围电路 + 程序编写 = 整个世界!

用Arduino制作的游戏手柄

运用Arduino制作的游戏手柄

用Arduino制作的游戏手柄

关于Arduino的讲解就到这里啦!感兴趣的朋友们还可以通过奥松机器人技术论坛了解更多Arduino资讯与技术文章。

相关文章:Arduino为什么这么红!(一)

                    Arduino 与 Raspberry Pi: 哪个是更适合你的DIY平台?

                    那些基于Arduino/树莓派的家庭物联网项目

本文转自:名称社区