Arduino是一块单板的微控制器和一整套的开发软件,它的硬件包含一个以Atmel AVR单片机为核心的开发板和其他各种I/O板。软件包括一个标准编程语言开发环境和在开发板上运行的烧录程序。”

考虑到Arduino主要是为业余爱好者的使用而设计的,所以它被设计成一个小型计算机的形式,它使你可以给连接到Arduino开发板上的外部输入输出器件编程(见图1-1)。Arduino就是所谓的嵌入式计算机平台,这意味着它是一个交互式系统,可以通过硬件和软件与它的环境进行互动。例如,一个简单的Arduino应用项目是在按下一个按钮时,点亮一盏小灯并保持一段时间,比如说30秒。这个例子中必须有一盏小灯和一个按钮与Arduino相连。Arduino可以一直处于等待按钮被按下的状态,一旦按钮被按下,Arduino就点亮那盏小灯并开始计时,当它计时到30秒时,Arduino熄灭小灯并且等待下一次按钮被按下。你可以将这个小项目应用在一个小壁橱中。

你可以把以上项目通过连上其他传感器进行扩展,如一个红外探头,当红外探头被触发时点亮那盏小灯。以上是一些使用Arduino的简单例子。

Arduino可以用于开发孤立的互动项目,也可以将它与计算机相连,形成一个网络,甚至可以与互联网相连,用来接收或发送数据并按指令做出相应的动作。换句话说,它可以发送一些来自于传感器的数据到网络,这些数据可以以图表的形式显示出来。

Arduino可以与LED、点阵显示器(见图1-2)、按钮、旋钮、小电机、温度传感器、压力传感器、距离传感器、GPS接收机、以太网卡或者其他能够输出数据或被控制的任何东西相连接。随便到互联网上浏览一下,就会获得用Arduino读取数据或者控制各类电子原件的丰富资源。

Arduino开发板由一块Atmel AVR单片机、一个晶振或振荡器(一种天然的时钟,可以以特定的频率发出时间脉冲使Arduino以正确的速度运行)和一个5V的直流电源组成。根据你所使用Arduino类型的不同,可能需要一条USB线来连接你的PC或Mac计算机,用来下载程序或接收数据。Arduino开发板引出了Atmel AVR单片机的所有I/O(输入、输出)引脚,你可以连接这些引脚到其他电路或传感器。

最新的Arduino开发板——Uno,不同于以前的各种Arduino开发板,它不再使用FTDI的USB到串口驱动芯片,而是把Atmega8U2编程为一个USB到串口转换器,这给它带来了一系列不同于其上代Duemilank开发板的好处。首先,Atmega芯片比FTDI芯片便宜得多,这使得整个板子的价格有所下降。第二,也是最重要的一点,它可以使USB芯片刷写开发板的固件引导程序,使Arduino在PC端显示为一个USB设备,就像一个鼠标或游戏操作杆那样。这开辟了一系列Arduino的新用途。不幸的是,使用这种USB芯片使得克隆板制造者克隆Arduino Uno的难度大大增加了。

给Arduino编程(让它做你希望它做的事情)要使用IDE(集成开发环境),它是一款免费的软件,使用它你可以用Arduino可理解的语言(类似于C语言的编程语言)开发Arduino代码。IDE使你可以编写计算机程序。这是一种一步一步解释性的语言,你可以下载编好的程序到Arduino,你的Arduino就开始解释执行这些程序,并且与连接设备互动。在Arduino世界里,程序也叫做架构。

Arduino的硬件和软件都是开放的资源,这意味着代码、图表、设计等可以被任何人自由地获得,并用它们做任何他们喜欢做的事情。因此,可以买到大量的克隆板或基于Arduino的开发板,或者可使用同一个原理图自己做一个。实际上,你可以随意购买合适的元件在面包板上或者你自己的PCB(印制电路板)上制作属于自己的Arduino,唯一需要注意的是你不能使用“Arduino”这个词,这个名字是保留给官方版Arduino的。克隆板可以以诸如Freeduino、Roboduino等名字命名。

因为设计方案是公开的资源,任何克隆板都100%兼容官方版Arduino,所以任何软件、硬件、图表等也100%兼容正宗的Arduino。

Arduino可通过其他板进行扩展,它们是一些电路板,包含了其他元件(如GPS接收机、LCD显示器、网络模块等),你可以很方便地把它们连接到Arduino开发板上以获得拓展功能。拓展板能把Arduino的引脚引到它自己的电路板上,因此在拓展板上你可以使用Arduino的每一个引脚。如果你不想用拓展板,也可以不用。你可以使用面包板、针孔板、万用板或者你自己的PCB制作完全相同的电路。本书中的大多数项目都是在面包板上制作的。

Arduino有各种各样的版本。最新版本是Arduino Uno。之前的版本中最流行的是Duenilanove(2009年意大利产),也就是你从互联网上看到的大多数项目所使用的板子。你也可以得到Arduino小型的、微型的、基于蓝牙的变种开发板。另外一个新增产品线是Arduino Mega 2560,它提供了更大的存储空间和更多的I/O引脚,这种开发板使用了一个新的烧录器,叫做Optiboot,它释放了大约1.5KB Flash存储空间,并能更快速地启动。

Arduino系列中最通用、最受欢迎的板子是Uno或它之前的版本Duenilanove。这是因为它采用一个标准的28针IC(一个完整的电路)插座来安装Arduino上的单片机。这样做的优点在于,如果要用Arduino做点事情,并想把它转化成永久的东西,不必使用相对较贵的Arduino开发板,你可以把芯片从IC插座上拿下来,并把它安装到你自己制作的电路板上。这样,你可以做一个个性的嵌入式系统。这是相当方便的。

然后多花几元钱,你可以用一个新的AVR芯片替换你的Arduino上的芯片。记得这个芯片一定要事先编好Arduino下载程序(一种软件,运行在芯片上,使它能使用Arduino IDE)。你也可以购买一块AVR芯片自己去烧写启动程序,或直接买一块已经烧好的。大多数Arduino元件供应商提供这些支持。也可通过另外一个Arduino来烧写一块芯片。关于这些事情的说明可在线找到。

如果你以“Arduino”为检索词在网上做一次搜索,你会吃惊地发现有大量的网页是关于Arduino的,很多很棒的项目是用它开发的。Arduino是一个让人着迷的东西,它能使你做任何东西,从艺术互动产品(见图1-3)到机器人。有一点学习如何进行Arduino编程及如何使它与其他元件互动的激情,再加上一点想象力,你就可以做任何你能够想到的东西了。

本书告诉你如何开始这项有吸引力、有创造力的爱好的必要技能。现在你已经知道Arduino是什么了,让我们坐到计算机前使用它吧!

Arduino到底是什么?相关推荐

  1. Arduino 笔记。开篇

    之前写过关于外部中断使用的笔记了,但是始终没有正式的对Arduino开个头. 也许大家很早很早就听说过Arduino 的大名,但是Arduino 却在专业开发者眼中显得如此不二流, 如此低级.但是福利 ...

  2. arduino i2c 如何写16位寄存器_Arduino之我见

    Arduino是一款时尚流行的开源软件&硬件平台,其开发入门简单,是众多DIY玩家及创客的首选.目前,Arduino也开始进入了中小学的创客课程.然而在与很多玩家.学生或是创客老师交流的过程中 ...

  3. 随讲单片机与Arduino

    随讲单片机与Arduino 初识Arduino 什么是单片机? 单片机有什么用? 什么是Arduino? Arduino种类 常见的几种开发板. Arduino编译环境下载安装 安装包下载(推荐) 官 ...

  4. arduino nano 的引脚输出脉冲,到底有多快?蚂蚁指挥大象,脉冲控制伺服电机走位的测试。

    arduino nano 的引脚输出脉冲,到底有多快? 在loop里只写 digitalWrite(LED_BUILTIN, HIGH);   digitalWrite(LED_BUILTIN, LO ...

  5. arduino烧写失败,给Arduino烧录引导程序,出现以下错误,到底是什么原因导致的。知道的高手请帮忙...

    这就是烧录时出现的错误提示: Arduino:1.6.7 (Windows XP), 开发板:"Arduino/Genuino Uno" avrdude: stk500_recv( ...

  6. 百亿估值的Databricks,到底是做什么的?

    在Google 中输入"Databricks",看到的前几个建议条目很可能是"IPO"."工作机会"和"估值".这足以表 ...

  7. arduino nano 蓝牙_用Arduino玩转掌控板(ESP32):ESP32概述与Arduino软件准备

    前言 近年来,掌控板(英文名:mPython)在创客教育中应用越来越广泛.掌控板集成了 ESP32 高性能双核芯片,具备 WiFi 和蓝牙连接功能,同时在板子上又配置了丰富的传感器,最重要的是它是专门 ...

  8. 【工具】PlatformIO终于能用了,arduino大型项目开发环境PIO,编辑器+编译器+调试全功能...

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 经过漫长的等待PlatformIO终于能用了,今天来聊聊这货. 这货张什么样子? 下图 ...

  9. 【arduino】pro mini程序下载器接线方法,arduino pro mini 与nodemcu通信方案

    最近搞个小项目(DIY),需要使用的库只有arduino的,没有nodemcu(esp8266)的,不聊移植你懂的,不是没想过是真不大现实.然后便有了用2个单片机通信的方案,即还是用arduino的库 ...

最新文章

  1. 使用ADO.NET 的最佳实践(zz)
  2. C#之任务,线程和同步
  3. python是什么语言开发的-专为人工智能和数据科学而生的Go语言,或将取代Python...
  4. Spring IOC 组件概述
  5. Java根据正则生成随机字符串
  6. 剑指offer:26-30记录
  7. 海洋大数据关键技术及在灾害天气下船舶行为预测上的应用
  8. 深度学习-Tensorflow1.x之Softmax函数代码实现对比在Tensorflow1.x与 Numpy
  9. continue break return的区别
  10. c语言用参数确认递归,C语言程序设计(第4章函数)3
  11. C++主线程与子线程的关系
  12. 每日一JAVA----------环境搭建Path,JAVA_HOME,classpath
  13. GMap.Net开发之自定义Marker
  14. java类与对象实验报告心得体会_java实验报告类与对象
  15. 卸载Office 16 Click-to-Run Extensibility Component详细步骤
  16. html列表项显示阴影效果,H5特效模糊动态列表栏:阴影的妙用
  17. flutter集成高德地图获取位置
  18. 方法及方法的重载|数组
  19. 开视界 创未来丨酷雷曼第十期合作商交流会圆满举办
  20. 什么是overlay?

热门文章

  1. MDM软件之SAP Afaria试用印象
  2. 3Dmax+blend+WPF综合运用
  3. LaTex中多行注释方法
  4. mysql 超时问题的解决办法
  5. Windows IIS 调试ASP 错误号:3706 提示 “未找到提供程序 该程序可能未正确安装”解决办法
  6. Webassembly 学习3 -- 打造web端的aac 播放器
  7. 使用万能表单解析程序将表单数据封装成ListMap
  8. 【学术交流】计算机国际会议中proceedings,conference,paper,workshop,demo的都是什么意思
  9. 【Tools】IDApatch工具安装——keypatch
  10. 探索HTML5 Plus 拍照或者相册选择图片上传过程