Arduino初级入门教程(一)

栏目: 服务器 · 发布时间: 7年前

内容简介:Arduino初级入门教程(一)

*本文原创作者:rade,属Freebuf原创奖励计划,未经许可禁止转载

什么是Arduino?

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它构建于开放原始码simple I/O介面版,并且具有使用类似 JavaC语言 的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。

Arduino的优点

开放性:Arduino的硬件电路的软件开发环境都是完全开源的,在不从事商业用途的情况下任何人都可以使用、修改和分发它。这样不但可以使用户更好的理解Arduino的电路原理,更可以根据自己的需要而去修改它。比如由于空间的限制,需要设计异形的电路板;或是将自己的扩展电路与主控制电路设计到一起。

易用性:对于稍微有心的人,不论基础如何,只要他有兴趣,拿到Arduino之后的一个小时之内,应该就可以成功运行第一个简单的程序了。Arduino与PC的连接采用了当下最主流的USB连接,你可以像使用一只MP3一样把Arduino与电脑直接连起来而不要再额外安装任何驱动程序。而且Arduino的开发环境软件也非常的简单,一目了然的菜单,仅提供了最必须的 工具 栏,除去了一切可能会使初学者眼花缭乱的元素,你甚至可以不阅读手册便实现代码的编译与下载(我可没说编写)。

交流性:对于初学者来说,交流与展示是非常能激发学习热情的途径。但有些时候,你用AVR做了个循迹小车,我用PIC做了个小车循迹。那么对单片机理解还不是特别深刻的初学者来说,交流上恐怕就会有些困难。而Arduino已经划定了一个比较统一的框架,一些底层的初始化采用了统一的方法,对数字信号和模拟信号使用的端口也做了自己的标定,初学者在交流电路或程序的时候非常方便。

丰富的第三方资源:Arduino无论硬件还是软件,都是全部开源的,你可以深入的了解到底层的全部机理,也预留了非常友好的第三方库开发接口。秉承了开源社区一贯的开放性和分享性,很多爱好者在成功的实现了自己的设计后,会把自己的硬件和软件拿出来与大家分享。对于后来者来说,你可以在Arduino社区轻松找到自己想要使用的一些基本功能模块:舵机控制、PID调速、A/D转换等。特别一些模块供应商也开始越来越重视Arduino社区,会为自己的产品提供Arduino下的使用库,这些都极大的方便了Arduino开发者,使你可以不必拘泥于一些基本功能的编写,而可以把自己的精力更多的放在自己想要的功能设计中去。

个人觉得主要是在于它易于上手,而且相对其他单片机而言价格相对较低,学习成本较低!

入门实例(红绿灯的实现)

我们完成这个实验所需的元件除了Arduino 控制器和下载线还需要的硬件如下:

红色M5 直插LED*1

黄色M5 直插LED*1

绿色M5 直插LED*1

220Ω电阻*3

面包板*1

面包板跳线*1 扎

准备好上述元件我们就可以开工了,我们可以按照上面小灯闪烁的实验举一反三,下面是我们提供参考的原理图,我们使用的分别是数字10、7、4、接口.

Arduino初级入门教程(一)

实物连接示意图:

Arduino初级入门教程(一)

既然是交通灯模拟实验,红黄绿三色小灯闪烁时间就要模拟真实的交通灯,我们使用Arduino 的delay()函数来控制延时时间,相对于C 语言就要简单许多了。

下面是一段参考程序:

int redled =10; //定义数字10 接口
int yellowled =7; //定义数字7 接口
int greenled =4; //定义数字4 接口
void setup()
{
pinMode(redled, OUTPUT);//定义红色小灯接口为输出接口
pinMode(yellowled, OUTPUT); //定义黄色小灯接口为输出接口
pinMode(greenled, OUTPUT); //定义绿色小灯接口为输出接口
}
void loop()
{
digitalWrite(redled, HIGH);//点亮红色小灯
delay(1000);//延时1 秒
digitalWrite(redled, LOW); //熄灭红色小灯
digitalWrite(yellowled, HIGH);//点亮黄色小灯
delay(200);//延时0.2 秒
digitalWrite(yellowled, LOW);//熄灭黄色小灯
digitalWrite(greenled, HIGH);//点亮绿色小灯
delay(1000);//延时1 秒
digitalWrite(greenled, LOW);//熄灭绿色小灯
}

Arduino初级入门教程(一)

下载程序完成后就可以看到我们自己设计控制的交通灯了。

实拍成品展示

Arduino初级入门教程(一)

Arduino初级入门教程(一)

Arduino初级入门教程(一)

*本文原创作者:rade,属Freebuf原创奖励计划,未经许可禁止转载 Arduino初级入门教程(一)

Arduino初级入门教程(一)

*本文原创作者:rade,属Freebuf原创奖励计划,未经许可禁止转载


以上所述就是小编给大家介绍的《Arduino初级入门教程(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

TensorFlow:实战Google深度学习框架(第2版)

TensorFlow:实战Google深度学习框架(第2版)

顾思宇、梁博文、郑泽宇 / 电子工业出版社 / 2018-2-1 / 89

TensorFlow是谷歌2015年开源的主流深度学习框架,目前已得到广泛应用。《TensorFlow:实战Google深度学习框架(第2版)》为TensorFlow入门参考书,旨在帮助读者以快速、有效的方式上手TensorFlow和深度学习。书中省略了烦琐的数学模型推导,从实际应用问题出发,通过具体的TensorFlow示例介绍如何使用深度学习解决实际问题。书中包含深度学习的入门知识和大量实践经......一起来看看 《TensorFlow:实战Google深度学习框架(第2版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试