当前位置: 首页 > news >正文

《Arduino实战》——第1章 你好Arduino 1.1 Arduino简史

本节书摘来自异步社区《Arduino实战》一书中的第1章,第1.1节,作者 【美】Martin Evans , Joshua Noble , Jordan Hochenbaum ,译者 况琪,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 你好Arduino

本章涵盖的内容

  • Arduino的历史*
  • Arduino硬件*
  • 硬件和软件安装*
  • 第一个闪烁的LED*

Arduino能用来干嘛?这个问题的答案是丰富多彩的。Arduino已经被广泛应用于各种项目中。

  • 制作诸如Pong和Space Invaders1这类各位儿时甚至父辈年轻时玩的游戏。这些游戏的画面都是单色的,音效也比较简单。
  • 制作循迹机器人,并学习机器人的基本原理。循迹机器人也可以用于工厂和仓库,它们可以按照既定的轨迹搬运货物。
  • 制作光电竖琴,通过手的挥舞来演奏乐曲,就像演奏家Little Boots2那样。
  • 制作MIDI控制器,来控制各种乐器。
  • 制作像Segway3那样的自平衡机器人。

所有这些示例项目都是基于Arduino制作的,Arduino是一个不到手掌大小的微控制器。它最初被设计作为一个物理计算的工具,由设计或者艺术专业的学生使用。Arduino已经被一些爱好者团体和创客们接纳,将其作为一个制作项目原型的工具。

本章我们将回顾Arduino的发展史,看看它是如何成为很多创客开始一个新项目时的首选工具的。这段背景材料将介绍Arduino从伊夫雷亚互动设计学院的起源,并解释它为何有如此迫切地需要。我们会评论并对比各种不同形式Arduino的优缺点,还将告诉你入门时需要哪些工具、设备和电子元件。最后,在我们开始第一个闪烁LED的项目之前,还将介绍Arduino的集成开发环境(IDE)。

首先让我们了解一下Arduino是从哪儿来的。

1.1 Arduino简史

Arduino于2005年诞生于意大利伊夫雷亚市的互动设计学院。当时Massimo Banzi教授正在寻找一种低成本的途径,以使设计专业的学生能更容易地运用科技。他与来自瑞典马尔默大学的访问学者David Cuartielles讨论了这个问题,而Cuartielles同样也在寻找类似的方案,Arduino就在这样诞生了。

市场上现有的产品不但昂贵,而且相对难以使用。Banzi和Cuartielles决定制作一个微控制器,让他们的艺术和设计专业的学生能够将其应用到他们的项目中。最主要的要求是,它一定要够便宜——理想中的价位应该不高于一位学生出去吃一个比萨的价格——它还要成为一个人人皆可使用的平台。David Cuartielles设计了电路板,Massimo的学生David Mellis编写了在电路板上运行的软件。Massimo联系了一位当地的工程师,Gianluca Martino,他也在设计学院工作,帮助学生完成他们的项目。Gianluca同意生产第一批的200片电路板。

这块全新的电路板被命名为Arduino,这是设计学院的师生经常光顾的一个当地的酒吧的名字。这块电路板以套件的形式出售,由学生自己组装。第一批电路板很快就卖完了,他们又制造了更多的电路板以满足需求。来自其他地区的设计师和艺术家们也听说了Arduino,并也想将其应用到他们自己的项目中。它的知名度很快提高,更为广泛的创客群体也意识到Arduino是一个简单易用且成本低廉的系统,可以将其引入到自己的项目中,就像当时大刀阔斧地引入可编程微控制器一样。Arduino最初的设计得到了逐步地改进,新的版本也随之出现。目前,官方售出的Arduino已经超过了300 000套,他们还通过很多分销商在世界范围内销售。

现在Arduino电路板已经出现了很多不同的版本,下一节将具体介绍它们。

相关文章:

  • C++程序设计:原理与实践(进阶篇)17.7 使用Shape类
  • 微信小程序计算器后后续
  • 1020. 月饼 (25)
  • 防御XSS攻击的七条原则
  • Oralce分析函数
  • 《ANSYS 14热力学/电磁学/耦合场分析自学手册》——2.10 个性化界面
  • Log4j 2 + Slf4j 的配置和使用Apache
  • 《OpenACC并行编程实战》—— 2.2 OpenACC 2.5规范
  • 使用wireshark抓取TCP包分析1
  • 《Imperfect C++中文版》导读
  • 《解读NoSQL》——2.10 延伸阅读
  • openlayers3.X 与4.X画圈和画多边形api区别
  • 医药领域又现一“神器”,用机器人来提取蝎子毒液
  • 《实用机器学习》——1.1 什么是机器学习
  • Linux 性能监测工具
  • co.js - 让异步代码同步化
  • js操作时间(持续更新)
  • Linux快速复制或删除大量小文件
  • Linux中的硬链接与软链接
  • mockjs让前端开发独立于后端
  • mysql 5.6 原生Online DDL解析
  • October CMS - 快速入门 9 Images And Galleries
  • overflow: hidden IE7无效
  • React系列之 Redux 架构模式
  • TypeScript实现数据结构(一)栈,队列,链表
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 前端攻城师
  • 强力优化Rancher k8s中国区的使用体验
  • ​520就是要宠粉,你的心头书我买单
  • (20050108)又读《平凡的世界》
  • (HAL库版)freeRTOS移植STMF103
  • (二)springcloud实战之config配置中心
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (力扣)循环队列的实现与详解(C语言)
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (转)scrum常见工具列表
  • (转载)CentOS查看系统信息|CentOS查看命令
  • **PHP二维数组遍历时同时赋值
  • .md即markdown文件的基本常用编写语法
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • ?php echo ?,?php echo Hello world!;?
  • @Valid和@NotNull字段校验使用
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [AIGC] 开源流程引擎哪个好,如何选型?
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [element-ui] el-dialog 中的内容没有预先加载,因此无法获得内部元素的ref 的解决方案
  • [html] 动态炫彩渐变背景
  • [Java] IDEA Scala环境搭建
  • [LuoguP1141]01迷宫
  • [mysql]游标和触发器
  • [rust] 11 所有权