開源硬件之 Arduino:簡介與開發入門

關鍵詞:開源硬件;Arduino;點亮LED

一、Arduino 簡介

Arduino UNO

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

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

二、配置開發環境

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

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

下載Arduino軟件

如果你的系統是 win7/8/10,推薦在瀏覽器內點擊并下載“Windows免安裝ZIP包”,下載到你所指定的任意文件目錄后解壓

解壓安裝包
打開Arduino IDE

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

2. 通過Microsoft Store安裝Arduino IDE

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

應用商店搜索Arduino

點選“Arduino IDE”,跳轉到如下頁面,點擊“安裝”即可,隨后 Arduino IDE 的圖表會出現在你的開始菜單當中

安裝Arduino IDE

3. 其他平臺

如果你使用 Linux 或 Mac OS X 等系統,請參考 Arduino 官網的安裝示例配置你的環境

三、實現你的第一個應用

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

實驗器材:Arduino UNO 開發板×1、USB轉接線(Micro USB Type-B)×1、面包板×1、LED二極管×1、220Ω電阻×1、杜邦線×2
實驗環境:Arduino IDE 1.8.4

實驗器材圖示
  • 杜邦線:用于無焊接電路實驗,代替導線的作用;
  • 面包板:用于無焊接實驗的電路串并聯接線,板上每一排5個插口(abcde)間相互導通,排與排之間相互獨立;
  • 色環電阻:可以根據色環讀取阻值;
  • led二極管:兩個不同長度的引腳,較短的引腳接地。

1. 硬件接線

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

硬件接線圖示

1)USB轉接線一段連PC機的USB口,一端連到Arduino UNO的轉接口上,用于從PC機上下載代碼到開發板及供電;

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

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

2. 編寫代碼

1)新建項目

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

新建項目

2)代碼結構

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

同 C/C++ 代碼一樣,在代碼的頭部定義函數庫的引用及全局變量等;
void setup() 是設備上電,即初始化會調用的函數,只執行一次,函數體內部一般包含引腳的定義信息;

void loop() 相當于 C語言中的主函數,函數體內部的代碼會在設備供電期間循環執行,你希望 Arduino 能完成的主要工作都寫在這個函數體當中;

  • 除上述兩個必要函數外,你也可以定義其他函數再在 void loop() 中調用,或將函數寫在外部的 .cpp 文件中,再以像 C/C++ 項目的方式來調用

3)編寫代碼

例程代碼
int ledPin = 5;

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

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

本例代碼如上圖,除去注釋,控制一個燈的代碼僅有短短數行

3. 上傳程序到開發板

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

選擇開發板

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

設備管理器
查看端口

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

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

  • 上傳前會重新編譯,如果有問題也會報錯,錯誤信息輸出在下方的信息欄中
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容