一、下載安裝
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的arduino板)和軟件(arduino IDE)。它適用于藝術家、設計師、愛好者和對于“互動”有興趣的朋友們。
1.Arduino IDE下載
官網下載地址:https://www.arduino.cc/en/Main/Software
官網下載有時打不開可以直接下載老師網盤中的軟件。
將網頁界面改成中文模式后選擇合適的安裝包。我的系統為win10,64位,所以選擇下載Windows安裝包。當然也可以選擇英文模式中的Windows installer。下載完成后,直接雙擊exe文件開始安裝。
2.安裝
(1)許可協議
點擊 I Agree。
(2)安裝選項
從上到下依次是:
安裝Arduino軟件
安裝USB驅動
創建開始菜單快捷方式
創建桌面快捷方式
關聯ino文件
安裝保持默認即可
(3)安裝文件夾
選擇安裝位置,其中默認安裝位置為C:\Program Files(x86)\Arduino,可以根據自己的需要調整安裝位置。
(4)安裝過程
安裝完成后點擊close
(5)安裝完成
這時桌面上出現Arduino圖標
(6)界面介紹
菜單欄包括:文件,編輯,項目,工具,幫助
文件菜單:
寫好的程序通過文件的形式保存在計算機時,需要使用文件菜單,文件菜單常用的選項包括:新建文件,打開文件,保存,另存為,關閉,示例,編輯菜單:
緊鄰文件菜單右側的是編輯菜單,編輯菜單顧名思義是編輯文本時常用的選項集合。常用的編輯選項為恢復、重做、剪切、復制、粘貼 、全選和查找 。這些選項的快捷鍵也和Microsoft Windows 應用程字的編輯快捷鍵相同。恢復為Ctrl+Z、剪切為Ctrl+X、復制為Ctrl+C、粘貼為Ctrl+V、全選為Ctrl+A、查找為Ctrl+F。此外,編輯菜單還提供了其他選項,如“注釋”和“取消注釋”,Arduino編輯器中使用“//” 代表注釋。還有“增加縮進”和“減少縮進”選項、“復制到論壇”和“復制為HTML”等選項。項目菜單
程序菜單包括與程序相關功能的菜單項。主要包括:
驗證/編譯:用以完成程序的檢查與編譯,通過使用編譯器編譯程序來檢查代碼的語法錯誤。
顯示項目文件夾:會打開當前程序的文件夾。
加載庫:導入所引用的Arduino庫文件。
添加文件:可以將一個其他程序復制到當前程序中,并在編輯器窗口的新選項卡中打開。工具菜單
工具菜單是一個與Arduino開發板相關的工具和設置集合。主要包括:
自動格式化:可以整理代碼的格式,包括縮進、括號,使程序更易讀和規范。
項目存檔: 將程序文件夾中的所有文件均整合到一個壓縮文件中,以便將文件備份或者分享。
修正編碼并重新裝載:在打開一個程序時發現由于編碼問題導致無法顯示程序中的非英文字符時使用的,如一些漢字無法顯示或者出現亂碼時,可以使用另外的編碼方式重新打開文件。
串口監視器:是一個非常實用而且常用的選項,類似即時聊天的通訊工具,PC與Arduino 開發板連接的串口-交談1的內容會在該串口顯示器中顯示出來。在串口監視器運行時,如果要與Arduino 開發板通信,需要在串口監視器頂部的輸入欄中輸入相應的字符或字符串,再單擊發送按鈕就能發送信息給Arduino.在使用串口監視器時,需要先設置串口波特率,當Arduino與PC的串口波特率相同時,兩者才能夠進行通訊。Windows PC的串口波特率的設置在計算機設備管理器中的端口屬性中設置。
開發板:用來選澤串口連接的Arduino開發板型號,當連接不同型號的開發板時需要根據開發板的型號到“板卡1選項中選擇相應的開發板。
端口:需要手動設置系統中可用的串口時選擇的,在每次插拔一個Arduino電路板時,這個菜單的菜單項都會自動更新,也可手動選擇哪個串口接開發板。
串口:需要手動設置系統中可用的串口時選擇的,在每次插拔一個Arduino電路板時,這個菜單的菜單項都會自動更新,也可手動選擇哪個串口接開發板。
板卡:用來選澤串口連接的Arduino開發板型號,當連接不同型號的開發板時需要根據開發板的型號到“板卡1選項中選擇相應的開發板。
菜單欄下方按鈕包括:驗證,上傳,新建,打開程序,保存程序,串口監視器
- 校驗:用以完成程序的檢查與編譯,通過使用編譯器編譯程序來檢查代碼的語法錯誤。
- 上傳:即通常所說的下載或燒寫功能,將編譯后的程序文件上傳到Arduino板中,用于更新Arduino板中的程序。
- 新建:新建一個程序文件。
- 打開:打開一個存在的程序文件
- 保存,保存當前的程序文件。
- 串口監視窗,可監視開發環境使用的串口收發的數據,打開一個串口終端窗口,通過這個窗口可以使用ISP串口與Arduino通信。
二、Arduino編程語言特點
1.Arduino語言
arduino使用C/C++語言編寫程序,雖然C++兼容C語言,但是這兩種語言又有所區別。C語言是一種面向過程的編程語言,C++是一種面向對象的語言。早期的arduino核心庫使用C語言編寫,后來引進了面向對象的思維,目前最新的arduino核心庫使用C與C++混合編程。
通常所說的Arduino語言,是指Arduino核心庫所提供的各種應用程序編程接口(Application Programming Interface,簡稱API)的集合。這些API是對更底層的單片機支持庫進行二次封裝所形成的。這些封裝好的API使得程序中的語句更容易被理解,因此可以不用理會單片機中繁雜的寄存器配置就能直觀的控制Aeduino,在增強了程序可讀性的同時,也提高了開發效率。
2.Arduino程序結構
Arduino程序結構與傳統的C/C++的程序結構有所不同——Arduino程序中沒有main()函數。
其實并不是Arduino程序中沒有main()函數,而是main()函數定義隱藏在了Arduino的核心庫文件中。在進行Arduino開發時一般不直接操作main函數,而是使用setup()和loop()兩個函數。
Arduino程序的基本結構如下:
void setup
{
//在這里填寫setup()函數代碼,它只會運行一次
}
void loop
{
//在這里填寫loop()函數代碼,它會不斷重復運行
}
- setup()
Arduino控制器通電或復位后,即會開始執行setup()函數中的程序,改程序只會執行一次。
通常是在setup()函數中完成Arduino的初始化設置,如配置I/O口狀態和初始化串口等操作 - loop()
setup()函數中的程序執行完畢后,Arduino會接著執行loop()函數中的程序。而loop()函數是一個死循環,其中的程序會不斷地重復執行。
通常loop()函數中完成程序的主要功能,如驅動各種模塊和采集數據等。
3.Arduino C/C++語言部分基礎
(1)數據類型
- 常量
在程序運行過程中其值不能改變的量,常量可以是字符也可以是數字,通常使用語句 ↓ 定義常量
#define 常量名 常量值
比如在Arduino核心庫中已定義的常量PI,即是使用語句 ↓ 定義的
#define PI 3.1415926535897932384626433832795
- 變量
程序中可變的值稱為變量,其定義方法是:
類型 變量名;
例如:
int i;
int i =95;
int i;
i=95
①整型
②浮點型
浮點數就是平常所說的實數,在Arduino中有float和double兩種浮點類型,但在使用AVR座位核心的Arduino上兩者的精度是一樣的,都占用4字節內存空間。在Arduino Due中,double類型占用8字節內存空間。
浮點型數據的運算較慢且有一定的誤差,因此通常會把浮點類型轉換為整型來處理相關運算。如9.8cm通常會換算為98mm來計算。
③字符型
即char類型,占用1字節,存儲字符變量。存儲字符變量時,字符需要用單引號引用,如
char col='C'
④布爾型
即boolean類型。它的值只用兩個:false(假)和true(真)。占用一字節。
(2)選擇結構
- if 語句
①簡單分支結構
if(表達式)
{
語句;
}
②雙分支語句
if(表達式)
{
語句1;
}
else
{
語句2;
}
③多分支語句
if(表達式1)
{
語句1;
}
else if(表達式2)
{
語句2;
}
else if(表達式3)
{
語句3;
}
else if(表達式4)
{
語句4;
}
……
- switch...case語句
switch(表達式)
{
case 常量表達式1:
語句1
break;
case 常量表達式2:
語句2
break;
case 常量表達式3:
語句3
break;
……
default:
語句n
break;
}
(3)循環結構
- 循環語句
①while循環
while(表達式)
{
語句;
}
②do...while循環
do
{
語句;
}
while(表達式);
③for循環
for(表達式1;表達式2;表達式3)
{
語句;
}
- 循環控制語句
①break
if(表達式)
{
break;
}
②continue
if(表達式)
{
continue;
}
4.基礎語句
1.配置引腳的模式為輸入模式或輸出模式
pinMode(pin,mode);
pin為指定配置的引腳編號,mode為指定的配置模式——input(輸入),output(輸出)
2.設置引腳輸出高電平或低電平
digitalWrite(pin,value);
pin為指定輸出的引腳編號,value為要指定的輸出電平——high(高電平),low(低電平)
3.讀取外部輸入的數字信號
digitalRead(pin);
pin為指定讀取狀態的引腳編號。
4.延時函數
delay(ms);
單位為ms
三、學習資源
- Arduino 官網 https://www.arduino.cn/
- 10個任何人都可以做的Arduino http://m.elecfans.com/article/680627.html
- [Beginning.Arduino].Michael.McRoberts.文字版.pdf
https://pan.baidu.com/s/1KT2Un3KL6w7Dx3imf0069Q - archivetemp《愛上Arduino》中文版https://pan.baidu.com/s/1SvCnKXPIoepz1fBKpTnC2w
Arduino+傳感器 玩轉電子制作.jpg