3787| 0
|
[常见问题] 【小白福利】如何入门Arduino(上) |
本帖最后由 社区活动向导 于 2019-11-7 18:55 编辑 原作者:Mcholen 挖出来略做整理+排版 纯小白想入门Arduino,无从下手? 这篇文章带你入门! 文章分上下两篇将向你介绍: - 什么是Arduino? - 怎么选Arduino板? - Arduino需要什么软件? - 利用Arduino实现一个小功能 先看下Massimo Banzi在TED上关于Arduino的演讲 初识Arduino 要了解Arduino就先要了解什么是单片机,Arduino平台的基础其实就是AVR指令集的单片机。 1、什么是单片机? 一台能够工作的计算机包含以下几个部份:中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。 2、单片机有什么用? 所谓杀鸡焉用牛刀,并不是任何场合都需要很高的性能。想象一个使用Intel i7处理器的声控灯,其性价比一定低到突破天际了。应用的关键是看是否够用,是否有很好的性能价格比,于是单片机很好地填补了这个缝隙。 回过头来,那什么是Arduino? Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它适用于艺术家、设计师、爱好者和任何“想捣腾”的朋友们。特点就是形状简单,能够实现与人互动,十岁的孩子也能用它做出一些自己想要的东西。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,收录进微控制器。基于Arduino的项目,可以只包含Arduino,还可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。 嗯,如果你觉得以上太难理解的话,只需记住以下三点: 1. Arduino是单片机 Arduino是你正捣腾的项目的“大脑”,或至少是名忠实高效的“公务员”,处理“输入”和“输出”指令。所谓“输入”指传感器(比如光线传感器、温湿度传感器、陀螺仪等等), 以及人机交互(按钮、开关、旋钮);所谓“输出”指你想控制的任何电子元件,例如灯、显示屏、电机和舵机。Arduino作为一个已将所有基础部分(处理器、内存、输入/输出插脚)集成于单个芯片上的“公务员”,会依你原先的“吩咐”(上传的程序),根据“所见所闻”(输入端数据)“见机行事”(控制输出端设备)。 2. Arduino是开源的 开源意味着自由度高,可玩性强。我们不需要征求任何人的同意,就可以制作出很多很棒的东西。任何人都可以从网上下载到设计文件,在引导下进行制作,或者改装学习,包括下载各种文件和教学资源。 软件开源并可扩展- Arduino软件是开源的,对于有经验的程序员可以对其进行扩展。比如我们公司的Mind+就是基于Arduino IDE环境的。 硬件开源并可扩展 - Arduino板基于 Atmel 单片机和Creative Commons 许可协议,所以电子工程师能够根据需求设计自己的模块,可以对其扩展或改进。甚至是对于一些相对没有什么经验的用户,也可以通过制作试验板来理解Arduino是怎么工作的,省钱又省事。 3. Arduino很便宜 一块原装进口的Uno不到200元的价格,少下两次馆子就出来了吧!并且由于其开源设计,现在也能购买到一些价廉质优的国产Arduino板以及配件,比如DFRobot的等等。 好,你可能和我一样已经看过了Banzi的TED演讲,百度过了Arduino,正在当当网上寻找Arduino相关书籍,并且收藏夹里已经躺里一堆Arduino入门视频,脑海中有零星伟大的计划。下一步?动手呗。 不幸的是,市面上可供选择的Arduino板实在太多了,撇开原厂那十几个不说,光某宝上多如牛毛的各式Arduino就有上万种,对于入门者来说简直惨无人道。选择一块合适项目的Arduino是成功的一半,下面我们一起看下最常见的Arduino板以及如何区分它们。 Arduino Mega 要区分这么多板子,挑选合适的Arduino,主要看以下三个方面:性能、特性以及尺寸。 首先看性能。即处理器内存、时钟频率以及位宽。硬件处理能力通常完全取决于这块板子的芯片,同时芯片也限制了能够运行的软件。 其次看特性。包括所有板子上除微处理器之外的所有东西,例如输入/输出针脚,集成元器件(按钮、LED、电机驱动等)以及可用接口的种类和数量(USB、以太网等) 最后看尺寸。由于项目性质不同,其留给电子部分的体积和重量也大相径庭。例如要给狗狗做一个追踪器,如果使用Mega和电池盒加上扩展板,至少也得有10*5*5cm大小,200g重,敢问这是追踪器还是沙袋?正因为如此Arduino才有如此多的兄弟姐妹们。 说了那么多,来看看有哪些主流的Arduino吧。 Arduino Uno 处理器: ATmega328 (8位 CPU, 16MHz 时钟频率, 2KB SRAM, 32KB 闪存)特性: 14 个数字 I/O 口, 6 个模拟输入口, 可更换处理器设计尺寸: 75 x 55mm价格: $30 Arduino Uno 拉丁语中意为“第一”,Uno 也许是Arduino家族中人气最旺的一只了,经过三代更迭,Uno也成为最适合初学者上手的一块Arduino平台。Arduino Uno与其他扩展板的兼容性是Arduino家族中最好的,另外其可更换处理器设计也是一项贴心的好设计:妈妈再也不用担心我把板子烧坏了!Uno的主要不足在于其使用的ATmega328芯片的静态存储器(SRAM)或闪存不够大。如果你的项目需要显示预载的图像或声音的话,2KB似乎不是很够用哦! Arduino Leonardo 处理器: ATmega32u4 (8位 CPU, 16MHz 时钟频率, 2.5KB SRAM, 32KB 闪存)特性: 20 个数字 I/O 口, 其中12 个可作为模拟口, 原生支持USB尺寸: 75 x 55mm 价格: $25 Arduino Leonardo Leonardo可算是Uno的一小步升级款。虽然长得差不多,但Leonardo集成的 ATmega32u4芯片比Uno上的多了0.5KB静态内存。看到这里你不禁要问,只多了0.5KB 算什么升级啊!Leonardo上的Atmega32u4芯片能够原生态支持USB,还能让Leonardo模拟成鼠标和键盘,极大地提高了应用场合,同时它的模拟口也比Uno要多一些。更重要的是,Leonardo比Uno便宜!不过在猛击“立即购买”按钮之前,你也许需要知道从使用者反馈来看,它目前并没有Uno稳定,甚至有一些小Bug需要修复。因此如果你已经玩Arduino一段时间比较熟悉了,选Leonardo其性价比可以得到发挥;若你是初哥、初姐,还是选择更稳定一些的Arduino Uno吧。 Arduino Due 处理器: Atmel SAM3X8E ARM Cortex-M3 (32 位 CPU, 84MHz 时钟频率, 96KB SRAM, 512KB 闪存)特性: 54 个数字 I/O 口, 12 个模拟输入口, 2 个模拟输出口, 原生USB支持尺寸: 100 x 55mm价格: $50 Arduino Due 如果说Uno是Arduino家族中的中流砥柱,那么Due绝对属于后起之秀。板载32位 ARM 处理器的运算能力几乎可称得上天生神力,也正因如此,Due的诞生是为了满足需要更复杂运算需求,或者是更多输入/输出口的项目。Due的运算能力强大,个头也要比Uno之流长出一截,因此购买之前想想我的项目需不需要它如此强的运算能力,以及有没有这么大空间? 人无完人,更何况板子呢,Due有个硬伤就是特立独行:3.3V的工作电压意味着它和多数小伙伴们不一样,后果就是那么多小伙伴们都兼容的扩展板和元件和Due不一定兼容。如果有个元件试图向Due的输入/输出口发送5V的信号,可能会损坏它!因此如果你的项目需要一5V工作电压的强大板子,还是忍痛选择 Arduino Mega 2560 吧, 虽然性能稍不如Due。 Arduino Micro 处理器: ATmega32u4 (8位 CPU, 16MHz 时钟频率, 2.5KB SRAM, 32KB 闪存)特性: 20 个数字 I/O 口, 其中12 个可作为模拟口, 原生支持USB尺寸: 50 x 18 mm 价格: $27 Arduino Micro 对于小型项目比如可穿戴式设备,体积是制约项目创意的一个重要因素。Arduino Micro是一块集成了所有Leonardo功能于口香糖大小面积上的控制板,依旧保留有原有多达20个数字输入/输出口和原生态USB的特性,虽然Micro的身材使它无法与其他扩展板搭配,但配合面包板进行快速搭建原型还是十分方便的。 LilyPad Arduino 处理器: ATmega328 (8位 CPU, 16MHz 时钟频率, 2KB SRAM, 32KB 闪存)特性: 14 个数字 I/O口, 6 个模拟输入口尺寸: 50mm 直径圆形 价格: $22 LilyPad LilyPad 是专为可穿戴式以及纺织物项目准备的控制板,它的圆形PCB和少对峙针脚设计使它能够非常容易缝在衣服上,通过连接,让衣服发出五颜六色的光!LilyPad的硬件部分设计与Uno基本如出一辙,还有许多不同的款式,例如 LilyPad Arduino Simple Snap, 嵌入了一块可充电的锂电池和一个弹簧扣母头的连接口, 使它能方便得扣在SimpleSnap Protoboard或其他纺织品的弹簧扣上,这样当你想清洗你的纺织品时你就可以方便地将板子取下。 Arduino Esplora 处理器: ATmega32u4 (8位 CPU, 16MHz 时钟频率, 2.5KB SRAM, 32KB 闪存)特性: 丰富的输入输出硬件环境尺寸: 165 x 61 mm 椭圆形价格: $60 Arduino Esplora Arduino Esplora 是一块基于Leonardo的集成控制板,包含有一系列直接焊接好的输入/输出硬件。在输入端,有一个摇杆、四个按钮、一个滑动变阻器、一个麦克风、一个光线传感器、一个温度传感器以及一个三轴加速计。至于输出端,有一个蜂鸣器、RGB全彩灯以及一个用于连接LCD屏幕的TFT显示屏连接器。乍一看是不是像极了一个手柄?Esplora就是一款可以自己编程的“手柄”。虽然它没有标准的数字和模拟针脚,无法通过跳线连接其他硬件,但它的简便性和强大的可玩性也不失为一款诚意之作。 Arduino Yun 处理器: ATmega32u4 (8位 CPU, 16MHz 时钟频率, 2.5KB SRAM, 32KB 闪存), 芯片集成Atheros AR9331路由器特性: 支持无线的Linux系统Wi-fi enabled Linux based system on a chip, 14 个数字口, 其中12 个可作为模拟口. 原生USB支持尺寸: 70 x 50mm价格: $65 Arduino Yun Arduino Yun得名于中文“云”,象征Arduino进军物联网、云控制领域的一次尝试。Yun的诞生是为了使用户能够更方便的使用Arduino接入云服务,因为传统的低带宽、低存储能力控制器处理详细通讯协议有些力不从心,Yun 在芯片上集成了一个单独的基于Linux的系统,专门用来处理一切和网络相关的任务,并且丝毫不会影响其他功能的正常使用。 Arduino Robot 处理器: 2枚ATmega32u4 (8-bit CPU, 16MHz时钟频率, 2.5KB 静态存储, 32KB 闪存)特性: 2轮, 8 个模拟输入口, 6 个数字 I/O 口, LCD 显示屏规格: 两片190mm 直径圆形电路板 价格: $275 Arduino Robot 作为Arduino “不务正业”产品线的一员,Arduino Robot可算是最重磅的了。它是Arduino板子,也是个机器人平台。事实上,它包含有两块电路板:一块处理器,以及一块电机控制板,双双集成了Leonardo 上的ATmega32u4芯片,此外还有两只轮子、电池以及红外传感器。顶部的电路板上集成了一块LCD显示屏,4个按钮,一个扬声器,一个罗盘以及一些LED灯。作为控制板和机器人平台的跨界产品,Arduino Robot比起其他Arduino主控板保留了更多预置。如果你想DIY一个机器人平台而苦于基础不够,那么Arduino Robot将是上佳之选。否则,得买辆轮子俩电机一块Uno或者Leonardo,再来一块电机驱动版,效果也差不多。 Arduino的板子还有很多,有兴趣的同学可以看一看kiki整理的这篇——[选型指南]DF出品-选型指南汇总https://mc.dfrobot.com.cn/thread-299246-1-1.html 新手建议一般选择Arduino Uno就可以了,下一篇也会以Uno为例子,简单介绍一下Arduino IDE的使用。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed