關鍵詞:開源硬件;Arduino;點亮LED
一、Arduino 簡介
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
如果你的系統是 win7/8/10,推薦在瀏覽器內點擊并下載“Windows免安裝ZIP包”,下載到你所指定的任意文件目錄后解壓
然后進入解壓后的文件夾,點擊“arduino.exe”,正常運行出現如圖所示的程序窗口則環境安裝成功
2. 通過Microsoft Store安裝Arduino IDE
如果你的系統是 win10,也可以通過 Microsoft Store (在開始菜單中可以找到)安裝 Arduino IDE,進入 Microsoft Store 后,在搜索欄搜索“Arduino”,如下
點選“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燈不斷閃爍的實驗現象。
- 上傳前會重新編譯,如果有問題也會報錯,錯誤信息輸出在下方的信息欄中