開源硬件之 Arduino:簡介與開發(fā)入門

關(guān)鍵詞:開源硬件它改;Arduino疤孕;點亮LED

一、Arduino 簡介

Arduino UNO

Arduino 是一款簡單易用央拖、便于上手的開源電子原型平臺祭阀,包含硬件部分(各種符合 Arduino 規(guī)范的開發(fā)板)和軟件部分(Arduino IDE和相關(guān)的開發(fā)包)。
硬件部分(或稱開發(fā)板)由微控制器(MCU)鲜戒、閃存(Flash)以及一組通用輸入/輸出接口(GPIO)等構(gòu)成柬讨,你可以將它理解為是一塊微型電腦主板。
軟件部分則主要由PC端的 Arduino IDE 以及相關(guān)的板級支持包(BSP)和豐富的第三方函數(shù)庫組成袍啡。使用者可以借由 Arduino IDE 輕松地下載你所持有的開發(fā)板相關(guān)的BSP和需要的函數(shù)庫踩官,用于編寫你的程序。
Arduino 是一個開源平臺境输,至今已經(jīng)有了多種型號及眾多衍生控制器蔗牡,包括 Arduino Uno、Arduino Nano嗅剖、ArduinoYún 等等辩越。另外,Arduino IDE 如今也不僅僅支持 Arduino 系列開發(fā)板信粮,還以引入BSP的方式增加了對 Intel Galileo黔攒、NodeMCU 等流行開發(fā)板的支持。

  • 實驗室(C102)主要提供 Arduino Uno 及 NodeMCU 兩款實驗平臺

二、配置開發(fā)環(huán)境

1. 通過下載安裝包安裝Arduino IDE

登陸 Arduino 官方網(wǎng)站軟件下載頁 https://www.arduino.cc/en/Main/Software?setlang=cn

下載Arduino軟件

如果你的系統(tǒng)是 win7/8/10督惰,推薦在瀏覽器內(nèi)點擊并下載“Windows免安裝ZIP包”不傅,下載到你所指定的任意文件目錄后解壓

解壓安裝包
打開Arduino IDE

然后進入解壓后的文件夾,點擊“arduino.exe”赏胚,正常運行出現(xiàn)如圖所示的程序窗口則環(huán)境安裝成功

2. 通過Microsoft Store安裝Arduino IDE

如果你的系統(tǒng)是 win10访娶,也可以通過 Microsoft Store (在開始菜單中可以找到)安裝 Arduino IDE,進入 Microsoft Store 后觉阅,在搜索欄搜索“Arduino”崖疤,如下

應(yīng)用商店搜索Arduino

點選“Arduino IDE”,跳轉(zhuǎn)到如下頁面典勇,點擊“安裝”即可劫哼,隨后 Arduino IDE 的圖表會出現(xiàn)在你的開始菜單當(dāng)中

安裝Arduino IDE

3. 其他平臺

如果你使用 Linux 或 Mac OS X 等系統(tǒng),請參考 Arduino 官網(wǎng)的安裝示例配置你的環(huán)境

三割笙、實現(xiàn)你的第一個應(yīng)用

學(xué)習(xí)一門編程語言是從打印出第一行“hello world”開始权烧,而學(xué)習(xí)嵌入式則是從點亮第一個 led 開始的,下面就以一個控制 led 的例子來讓大家了解一個 Arduino 項目是如何工作的咳蔚。

實驗器材:Arduino UNO 開發(fā)板×1豪嚎、USB轉(zhuǎn)接線(Micro USB Type-B)×1搔驼、面包板×1谈火、LED二極管×1、220Ω電阻×1舌涨、杜邦線×2
實驗環(huán)境:Arduino IDE 1.8.4

實驗器材圖示
  • 杜邦線:用于無焊接電路實驗糯耍,代替導(dǎo)線的作用;
  • 面包板:用于無焊接實驗的電路串并聯(lián)接線囊嘉,板上每一排5個插口(abcde)間相互導(dǎo)通温技,排與排之間相互獨立;
  • 色環(huán)電阻:可以根據(jù)色環(huán)讀取阻值扭粱;
  • led二極管:兩個不同長度的引腳舵鳞,較短的引腳接地。

1. 硬件接線

按照如圖所示的方式連線:

硬件接線圖示

1)USB轉(zhuǎn)接線一段連PC機的USB口琢蛤,一端連到Arduino UNO的轉(zhuǎn)接口上蜓堕,用于從PC機上下載代碼到開發(fā)板及供電;

2)兩條杜邦線分別一端接開發(fā)板的數(shù)字輸入/輸出5號(會在之后的代碼中定義數(shù)字“5”)和接地兩個接口博其,另一端接入面包板不同的兩排(在本圖中套才,若按照面包板上“字母/數(shù)字”的方式定位,綠色接入a10慕淡,紅色接入a20背伴,實際操作時可以接入任意獨立的兩排,不影響實驗現(xiàn)象);

3)將二極管的長引腳插入面包板上紅色杜邦線插入的排傻寂,短引腳插入相鄰的排息尺,然后將220Ω電阻的一端接短引腳,另一端接綠線(即接地)崎逃,完成連線掷倔。

2. 編寫代碼

1)新建項目

初次打開 Arduino IDE 會有一個默認的新建項目,你也可以依次點擊工具欄中“文件→新建”或使用 Ctrl+N 快捷鍵來創(chuàng)建一個新的項目个绍,項目的命名和保存與大多數(shù) IDE 和編輯器相同勒葱,這里就不做過多介紹。

新建項目

2)代碼結(jié)構(gòu)

Arduino IDE 項目使用簡化版的 C/C++ 語言編寫代碼巴柿,只要你有一點點 C 語言學(xué)習(xí)的基礎(chǔ)就很容易入門凛虽,新建項目默認有兩個函數(shù)體 void setup()void loop(),這兩個函數(shù)體是一個 Arduino 項目所必須的广恢。

同 C/C++ 代碼一樣凯旋,在代碼的頭部定義函數(shù)庫的引用及全局變量等;
void setup() 是設(shè)備上電钉迷,即初始化會調(diào)用的函數(shù)至非,只執(zhí)行一次,函數(shù)體內(nèi)部一般包含引腳的定義信息糠聪;

void loop() 相當(dāng)于 C語言中的主函數(shù)荒椭,函數(shù)體內(nèi)部的代碼會在設(shè)備供電期間循環(huán)執(zhí)行,你希望 Arduino 能完成的主要工作都寫在這個函數(shù)體當(dāng)中舰蟆;

  • 除上述兩個必要函數(shù)外趣惠,你也可以定義其他函數(shù)再在 void loop() 中調(diào)用,或?qū)⒑瘮?shù)寫在外部的 .cpp 文件中身害,再以像 C/C++ 項目的方式來調(diào)用

3)編寫代碼

例程代碼
int ledPin = 5;

void setup() {
    pinMode(ledPin, OUTPUT);
}

void loop() {
    digitalWrite(ledPin, HIGH);
    delay(1000);
    digitalWrite(ledPin, LOW);
    delay(1000);
}

本例代碼如上圖味悄,除去注釋,控制一個燈的代碼僅有短短數(shù)行

3. 上傳程序到開發(fā)板

編寫好代碼后塌鸯,就要把代碼通過數(shù)據(jù)線上傳到開發(fā)板了侍瑟,首先要確保編譯條件匹配你的開發(fā)板并保持端口暢通,點擊菜單欄“工具”丙猬,確保你的開發(fā)板選擇為“Arduino/Genuino Uno”

選擇開發(fā)板

端口號則因不同PC分配的端口號不同而有差異涨颜,筆者電腦上為“COM9”,這個信息可以在 windows 設(shè)備管理器中查看(可以通過 windows開始菜單 搜索“設(shè)備管理器”淮悼,或在控制面板中打開)咐低。

設(shè)備管理器
查看端口

保證上述兩個條件無誤后,可以先點擊菜單欄下 圓形√按鈕 進行預(yù)編譯/驗證袜腥,如有問題见擦,下方的信息欄會報錯钉汗。

然后你可以直接點擊菜單欄下的 圓形→按鈕 或者點擊 “項目→上傳”或使用快捷鍵 Ctrl+U 進行上傳,等待片刻鲤屡,IDE 會提示“上傳成功”损痰,然后就能觀察到你剛剛連接的 led燈不斷閃爍的實驗現(xiàn)象。

  • 上傳前會重新編譯酒来,如果有問題也會報錯卢未,錯誤信息輸出在下方的信息欄中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市堰汉,隨后出現(xiàn)的幾起案子辽社,更是在濱河造成了極大的恐慌,老刑警劉巖翘鸭,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滴铅,死亡現(xiàn)場離奇詭異,居然都是意外死亡就乓,警方通過查閱死者的電腦和手機汉匙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來生蚁,“玉大人噩翠,你說我怎么就攤上這事“钔叮” “怎么了伤锚?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長尼摹。 經(jīng)常有香客問我见芹,道長剂娄,這世上最難降的妖魔是什么蠢涝? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮阅懦,結(jié)果婚禮上和二,老公的妹妹穿的比我還像新娘。我一直安慰自己耳胎,他們只是感情好惯吕,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怕午,像睡著了一般废登。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上郁惜,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天堡距,我揣著相機與錄音,去河邊找鬼。 笑死羽戒,一個胖子當(dāng)著我的面吹牛缤沦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播易稠,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼缸废,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驶社?” 一聲冷哼從身側(cè)響起企量,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亡电,沒想到半個月后梁钾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡逊抡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年姆泻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冒嫡。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡拇勃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出孝凌,到底是詐尸還是另有隱情方咆,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布蟀架,位于F島的核電站瓣赂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏片拍。R本人自食惡果不足惜煌集,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捌省。 院中可真熱鬧苫纤,春花似錦、人聲如沸纲缓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祝高。三九已至栗弟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間工闺,已是汗流浹背乍赫。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工颓屑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耿焊。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓揪惦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親罗侯。 傳聞我的和親對象是個殘疾皇子器腋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容