内容简介:Arduino初级入门教程(一)
*本文原创作者:rade,属Freebuf原创奖励计划,未经许可禁止转载
什么是Arduino?
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它构建于开放原始码simple I/O介面版,并且具有使用类似 Java 、 C语言 的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 的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);//熄灭绿色小灯 }
下载程序完成后就可以看到我们自己设计控制的交通灯了。
实拍成品展示
*本文原创作者:rade,属Freebuf原创奖励计划,未经许可禁止转载
*本文原创作者:rade,属Freebuf原创奖励计划,未经许可禁止转载
以上所述就是小编给大家介绍的《Arduino初级入门教程(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java编程思想
[美] Bruce Eckel / 陈昊鹏、饶若楠 / 机械工业出版社 / 2005-9 / 95.00元
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到......一起来看看 《Java编程思想》 这本书的介绍吧!