找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 66761|回复: 73
收起左侧

Arduino教程(通俗易懂)-初识Arduino及教程目录

  [复制链接]
ID:99556 发表于 2015-12-19 21:28 | 显示全部楼层 |阅读模式
ohcoder的系列精彩Arduino教程:
Arduino教程-初识Arduino(包含本教程目录):http://www.51hei.com/bbs/dpj-41334-1.html
Arduino教程-开篇:http://www.51hei.com/bbs/dpj-41335-1.html
Arduino教程-点亮LED神灯:http://www.51hei.com/bbs/dpj-41336-1.html
Arduino教程-让LED神灯闪烁:http://www.51hei.com/bbs/dpj-41337-1.html
Arduino教程-让LED神灯亮度渐变:http://www.51hei.com/bbs/dpj-41338-1.html
Arduino教程-获取输入数字信号:http://www.51hei.com/bbs/dpj-41339-1.html
Arduino教程-获取输入模拟信号:http://www.51hei.com/bbs/dpj-41340-1.html
Arduino教程-另一种时间延迟:http://www.51hei.com/bbs/dpj-41331-1.html
Arduino教程-按键开关:http://www.51hei.com/bbs/dpj-41341-1.html
Arduino教程-停止抖动!:http://www.51hei.com/bbs/dpj-41333-1.html
Arduino教程-抛弃外部电阻!:http://www.51hei.com/bbs/dpj-41332-1.html
Arduino教程-用按键开关计数:http://www.51hei.com/bbs/dpj-41330-1.html
………后续持续更新中请打开:http://www.51hei.com/bbs/dpj-41334-1.html


  最近了解了一款新玩具,名字叫“Arduino”,因为源自于意大利,所以名字也引用于意大利语,意思是“强壮的朋友”,至于发音,网上常见的有两种,一种是意大利语发音,另一种是美式发音。因为属于音译,不同的发音也因人而异,所以具体的可以自行baidu一下,:P

  Arduino的作用是能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。比起各种单片机来这个系统的最大优点是用起来非常简单,就像是搭积木一样,甚至连小学生都能很快掌握Arduino用来制作各种发明创造.是不是很有意思呢?

  对于这款玩具,基础介绍内容网上已经有很多。这里只是针对自己这几天的了解做一个简单介绍。具体的我想从两方面谈一谈,一方面是软件,另一方面是硬件。
软件方面因为才接触不久,所以只是对Arduino的开发相关软件做一些介绍。对于非程序员出身的朋友,如果想更好的通过编程控制Arduino,目前了解的有两款辅助软件:
  • Mind+
  • Ardublock
这两款软件都是基于图形化的。对于不熟悉代码的设计人员来说比较适合。具体来说,对于Mind+和Ardublock这两款软件在网易云课堂上专门有两门课程做了讲解。一门叫《Arduino初级课程》,这门课程讲解时使用的是Ardublock。另一门叫《学Arduino玩转电子制作》,这门课程中有几节课用的是Mind+。这两门课程可以作为不熟悉Arduino的人入门学习,特别是初级课程的讲解,讲的还是不错的。
对于了解程序设计的人,写代码可能就不会是一件特别难的事情。那么可以直接使用官方提供的开发工具,名字就叫做Arduino。此款开发工具是使用Java开发的。为什么会使用Java开发呢?因为这款IDE衍生自Wiring,而Wiring又衍生自Processing,Processing的开发是基于Java的,所以就是这样一步步继承过来的。这里有一张图比较清晰的描述了它们之间的关系:
processing.jpg
从图中可以看出,Processing还是蛮强大的。虽然Processing本身使用的是Java,但是如果你写一写Processing的程序,就会发现,其实Processing开发语言的语法并不像Java,而是一种类C语言。这种开发风格一直延续到了Arduino IDE上。当然,Arduino开发本身提供的类库其实就是C/C++语言开发的。Processing的特点是其强大的图形开发,如果把Processing和Arduino进行结合,在软件层面的开发也可以有很大的想像空间。对于软件就先说这么多吧,有兴趣的朋友可以做一些深入的了解。

硬件方面对于硬件方面,Arduino的入门产品就是一块儿名叫Uno的板子。这块儿板子可以算作是Arduino开发的入门级产品。板子上主要有一些常见的标准接口。例如,一个USB接口、一个电源接口,以及一些数字电路输入/输出接口和模拟电路输入/输出接口等。板子上最重要的部件应该是那块儿AVR单片机了。Arduino使用的这块儿单片机是Atmel生产的。Atmel出品的AVR系列的单片机遵循于8位~32位的RISC指令集标准。AVR处理器共有六个系列,Arduino Uno(R3)上用的是Atmega328,配置稍微好一点的Arduino Leonardo使用的是ATmega2560。对于硬件产品的具体分类,可以查看官方网站。
从官网上的产品列表中可以大致看出,Arduino的产品大致分为两类,一类是功能型的基础开发板,另一类是辅助扩展型的板子,俗称“盾板(SHIELDS)”。从我自己理解的角度来说,基础开发板中各个产品的差异主要体现在其用途的不同上。所以对于如何合理的使用这些开发板,需要对这些板子单独做一些了解,才能灵活合理的应用到不同的场景中。
因为Arduino的硬件标准是开源的,任何人都可以获得Arduino的制造电路图,以及所有相关资料,可以免费拿来定制属于自己的Arduino电路板,唯一的限制是需要在你自己制造的电路板上印上Arduino的商标。这里多说一句,对于觉得官方Arduino卖的贵的同学,其实完全可以选择国内的制造商,因为都是按照Arduino官方图纸标准做的,所以基本上都会对Arduino官方的电路板进行兼容。这里我选择的是国内的DFRobot,因为我觉得他们做的产品很全,专注于这方面,而且他们自己也会开发一些兼容Arduino的扩展功能的开发板。不过,我自己也是刚刚使用,到底怎么样,现在就下结论确实为时尚早。除了DFRobot以外,淘宝上还有几家据说口碑还不错的店。例如,OpenJumper,奥松机器人,ocrobot,等等吧。我自己听人说还可以的就这几家,至于到底怎么样我不知道,所以这里也仅做个参考吧。
说到硬件,又想起一款用来做电路原型设计的软件,名字叫fritzing(主页有视频)。这是一款快速设计电路原型的工具软件。也算是Arduino这个圈子中相关的开发软件吧,只不过这款软件面向的是硬件电路板 :) 。
初步来说,了解的就是这些。当然,如果想玩儿转Arduino,最好是学习一下电路,以及AVR单片机开发等方面的知识。学习这些知识,对于产品在电路上的设计,以及代码的优化都将会是有帮助的。

下一篇:Arduino教程-开篇:http://www.51hei.com/bbs/dpj-41335-1.html

评分

参与人数 11黑币 +93 收起 理由
野人24 + 6
520q + 30
azi197417 + 8 共享资料的黑币奖励!
stu + 4 共享资料的黑币奖励!
xiou + 8 共享资料的黑币奖励!
dwy + 5 很给力!
tieq1952 + 5 共享资料的黑币奖励!
eileens + 5 共享资料的黑币奖励!
xljxlj + 15 共享资料的黑币奖励!
spps + 5 赞一个!
lytcl + 2 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表