iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
自我挑戰組

一個營建系學生的韌體之路-ESP32篇系列 第 6

ESP32_DAY6 介紹Arduino

  • 分享至 

  • xImage
  •  

因為有使用到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官網去看看差異,或是上網找一下就會有很多人在介紹囉!


上一篇
ESP32_DAY5 來新建一個專案吧!
下一篇
ESP32_DAY7 介紹ESP32
系列文
一個營建系學生的韌體之路-ESP32篇12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言