ESP32_DAY6 介绍Arduino

因为有使用到Arduino IDE,再加上今年以前的暑训都是在上Arduino,所以还是特别安排一天的篇幅来介绍一下Arduino!
在正式介绍Arduino之前,不知道大家对於电脑理解多少?

碎碎念时间

我必须自惭形秽地说,小时候一直以为电脑主机就是一体成形的一块重物,它里头有好多好好玩小游戏,电脑课的时候就是拿来玩枫之谷、跑跑卡丁车,偶尔有节日的时候才会开非常好色2.0来做母亲节、教师节卡片.../images/emoticon/emoticon37.gif

直到高中上了一学期的计算机盖论才知道,原来主机壳以内还有那麽多零件阿!但因为当时读的是建筑科,再加上我本身对电脑本来就是抱着能用就好的态度,所以电脑对我来说就只是一个需要才会用的工具,更深入的硬体规格、运作原理一概都不懂,没想到我在研究所的时候决定不务正业的跑来读资讯组,才有机会再更了解电脑一点。

电脑架构

电脑(computer)它的全名为电子计算机(electronic computer),又称电算机或计算机,俗称电脑。它是由不同功能的电子零件及机械装置组合而成,因为它能执行算术运算,所以被称为电子计算机,加上它也能做逻辑运算及比较,以判断事情的真假,有如人类大脑一般,所以又称为电脑。依美国无线电工程师协会对电子计算机所下的定义:电脑为一部能接受资料的机器,将资料加於运算处理,以产生结果。其实更明确的说法是:电脑为一部能按预先储存程序之控制并对输入资料加於处理以产生结果的机器。
我们日常生活中使用的电脑大多为冯纽曼架构(可储存程序电脑),冯纽曼式架构将电脑分成了五大单元,分别称作「控制器」、「运算器」、「储存器」、「输入设备」(Input)与「输出设备」(Output)。「输入设备」就是你用来将外部资料输入到电脑的东西,比如键盘、滑鼠。「输出设备」就是将电脑内部的资料输出到外部给你看的东西,比如萤幕、印表机。「控制器」、「运算器」两者合起来就是我们常听到的中央处理器 (CPU),CPU是电脑的主要装置之一,功能主要是解释电脑指令以及处理电脑软件中的资料,如同人类的大脑。「储存器」也就是电脑的记忆体,负责记录资料。

来源: Lynn 写点科普

所以电脑跟Arduino的关系?

开发板是用来进行嵌入式系统开发的电路板,包括中央处理器、记忆体、输入及输出介面等一系列硬体元件,常见的开发板包含Arduino系列、Espressif系列及树莓派...等等。其中Arduino可说是大家最耳熟能详的开发板,因为它非常的简单、便宜,很多国中小的学生都能轻易上手。
那从「电脑架构」的那部分,我们可以知道我们平常再用的滑鼠跟萤幕都需要透过主机来控制。
https://ithelp.ithome.com.tw/upload/images/20210921/201404336zj3LOsTzc.png
开发板其实就像一台小小的主机,它上头已经焊好了CPU与记忆体,你只需要接上电源,就能启动它了。针对给这些开发板使用的输入、输出设备,我们称之为「模组(Shields)」。
https://ithelp.ithome.com.tw/upload/images/20210921/201404331boEBu1AuZ.png

Arduino不只是一块开发板

Arduino是一个基於易於使用的硬体和软件的开源电子平台

一位义大利『伊夫雷亚互动设计研究所』教师-Massimo Banzi,因他的学生们经常抱怨找不到便宜好用的微控制器。2005年冬天, Massimo Banzi 跟David Cuartielles 讨论了这个问题。David Cuartielles 是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi 的学生 David Mellis 为电路板设计程序语言。两天以後,David Mellis 就写出了程序码。又过了三天,电路板就完工了。这块电路板被命名为Arduino。再後来他们将Arduino的设计图放到了网路上,保持设计的开放原始码理念,任何人都被允许生产印刷电路板的复制品,还能重新设计,甚至销售原设计的复制品。Arduino的官网上,你除了免费下载他们电路板设计图、开发环境编辑器,也能看到其他人分享的专案,里头有很多用Arduino做出来的超酷专案。

总结一下Arduino的优点:

  • 便宜: 这是Arduino设计的核心之一,再加上开放大家免费下载,所以价格能压得更低。
  • 跨平台: Arduino IDE能够在各主流平台上运行,开发人员可以依自己的习惯使用。
  • 简单: 只须了解基础的C语言就能开发各种设计,非工程师也能轻易上手。
  • 开源: 电路设计图、韧体都可在网路上下载,可以自由修改应用。

冷知识: Arduino这个名字来自义大利伊夫雷亚的一家酒吧,同时也是一位义大利国王的名字。由於创始人过去常常会去这家酒吧,所以他们就以此纪念他们开发出来的这块电路板。

常见的官方版本

https://ithelp.ithome.com.tw/upload/images/20210921/20140433pz0V49wnLk.png

这里只讲我唯一用过的Arduino开发板XD

Arduino Uno

Arduino Uno是基於Microchip ATmega328P微控制器的开源微控制器板,具有14个数位I/O引脚(其中6个可用於PWM输出),6个类比输入引脚,可以连接到各种扩展板和其他电路,并且可以通过B型USB线(和列表机相同的方口USB线)与Arduino IDE进行程序编写。为最常见的Arduino开发板,网路上的资源很丰富。

对其他块有兴趣的话可以上Arduino官网去看看差异,或是上网找一下就会有很多人在介绍罗!


<<:  NoSQL的查询

>>:  《从前一天整理行李,进行三重观点叠加》

DAY27 - [React] useEffect

今日文章目录 前言 参考文章 之前提到,useState方法可以让我在component内部操作资...

Day24. form_tag 与 simple_form_for 的用法 - 表单 part2

前一天,我们使用了simple_form_for提到了新增表单写法,而今天要讲一个上传情境。这个上传...

[day26]批次实作-缴款纪录收档

上一篇完成了缴款纪录的查询,确认缴款纪录是否完成。 为了查询方便,每日批次去抓取前两日资料写入自己的...

Day26 了解Hook

Hook是React在16.8中增加的新功能,和过往React Component架构相比,可以帮助...

[想试试看JavaScript ] 事件物件

事件物件 事件物件很常跟事件处理一起配着使用 浏览器会主动收集和事件有关系的资讯,并制造出 Even...