文章目錄
一、Arduino安裝與設置
1.1 Arduino簡介
Arduino是一款便捷靈活、方便上手的開源電子原型平台,由一個(ge) 歐洲開發團隊於(yu) 2005年冬季開發。
Arduino包括硬件(各種型號的Arduino板)和軟件(Arduino IDE)。 Arduino IDE就是開發Arduino板必須要用到的配套IDE。
常用型號的Arduino板:
Arduino開發板有多種型號,以下是一些常用的:
- Arduino Uno:這是一個基礎級開發板,對於初學者來說非常友好。
- MEGA2560:這是功能更強大的開發板,有更多內存和連接端口,適合需要處理大量數據的項目。
- Arduino Micro:這是一種微型化的開發板,尺寸更小,適合需要小巧、便攜解決方案的項目。
- Leonardo:這款開發板集成了ATmega32u4控製器和USB接口,適用於需要無線通信的項目。
- Arduino Nano:該開發板更加緊湊,旨在為那些需要小型化解決方案的項目提供服務。
- GEMMA (吉瑪):這是一種基本的開發板,對於初學者來說也是一個不錯的選擇。
- Arduino 101:這款開發板基於Intel Galileo,集成了Wi-Fi和藍牙功能,非常適合需要網絡連接的項目。
- Arduino Ethernet:這款開發板可以讓您的項目連接到局域網或互聯網。
- Arduino Yún:這款開發板基於ATmega32u4和ESP8266 Wi-Fi微控製器,具有內置以太網和SD卡支持,可以實現遠程控製和數據存儲。
- Arduino Due:這是一款高性能的開發板,適用於需要高速運算和大量存儲空間的項目。
Arduino結構:
1、引腳:與(yu) 控製器直接相連的針腳。
2、端口:數字輸入輸出端口、模擬輸入端口、電源端口等。其中,輸入輸出都是針對開發板來說的,向開發板發送信號那就是輸入,反之為(wei) 輸出。數字輸入輸出隻能0和1,端口0和端口1是用來傳(chuan) 輸數據用的。電源端口向外提供電壓,有5V和3.3V。
從(cong) 使用引腳到端口的轉變原因:
✨單片機從(cong) 使用引腳到端口的轉變主要是為(wei) 了解決(jue) 引腳衝(chong) 突和提高係統的可擴展性。在單片機的早期設計中,引腳是最基本的輸入輸出單位。但隨著應用需求的增加,特定的引腳可能會(hui) 被多個(ge) 外設或模塊同時使用,導致引腳衝(chong) 突。這種情況下,如果繼續使用單獨的引腳,可能需要頻繁地更改硬件連接或重新分配引腳,這不僅(jin) 增加了設計的複雜性,也可能影響係統的穩定性和可靠性。✨ 為(wei) 了解決(jue) 這個(ge) 問題,單片機引入了端口的概念。端口是由多個(ge) 引腳組成的邏輯單元,它可以獨立地進行輸入輸出操作,而不需要關(guan) 心引腳的具體(ti) 配置和狀態。通過使用端口,設計者可以更加靈活地管理和控製各個(ge) 外設,避免引腳衝(chong) 突的問題。此外,端口還提供了更高級的輸入輸出功能,如中斷、DMA等,進一步提高了係統的響應速度和處理能力。
✨總的來說,從(cong) 引腳到端口的轉變是為(wei) 了提高單片機的可擴展性和穩定性,使其更好地滿足複雜應用的需求。
![]()
3、Arduino的程序存儲(chu) 空間最大為(wei) 多少?
Arduino的程序存儲(chu) 空間最大為(wei) 32256字節。這個(ge) 存儲(chu) 空間由兩(liang) 部分組成:靜態存儲(chu) 空間和動態存儲(chu) 空間。靜態存儲(chu) 空間主要用於(yu) 存放程序代碼和全局變量,其最大空間為(wei) 32256字節;動態存儲(chu) 空間主要用於(yu) 存放局部變量,其最大空間為(wei) 2048字節。但需要注意的是,程序存儲(chu) 空間的大小也受到Arduino開發板型號的影響。例如,對於(yu) 某些Arduino Mega係列的開發板,其程序存儲(chu) 空間可以達到256KB。因此,在編寫(xie) Arduino程序時,需要根據具體(ti) 的開發板選擇合適的編程方式和優(you) 化策略,以確保程序能夠正常運行。
![]()
1.2 Arduino安裝
Arduino編程軟件的安裝,官網鏈接:
登錄官網後找到軟件安裝包![]()
如果官網下載太慢可以登錄太極創客網址:,進行快速下載。![]()
安裝過程:注意要全選,然後一路Nect即可等待安裝完成!![]()
1.3 Arduino設置
首先,點擊文件首選項,對其進行參數設置。勾選“顯示行號”,一般第一次打開設置界麵,都未勾選。
![]()
其次,設置IDE中開發板的型號和端口,在連接上開發板後,在工具選項欄中選擇“開發板”型號以及“端口號”。
1.4 Arduino界麵
關(guan) 於(yu) 界麵說明:
1、打鉤的是“驗證”,實際作用就是編譯代碼成可執行程序;
2、向左的箭頭是上傳(chuan) ,實際作用就是將可執行程序燒錄到開發板上。![]()
Arduino的程序入口在哪裏?
Arduino的程序入口是
setup()
和loop()
兩(liang) 個(ge) 主要函數。當Arduino板啟動時,setup()
函數會(hui) 被調用,它負責初始化變量、設定引腳模式以及啟用必要的庫等功能。這個(ge) 函數在Arduino板的每次上電和複位時隻會(hui) 運行一次。而
loop()
函數則是Arduino的主循環,它在setup()
函數執行完畢後開始執行,並會(hui) 不斷循環執行,以處理輸入、輸出和控製邏輯。值得注意的是,雖然在許多編程環境中,程序的入口通常是名為(wei)
main()
的函數,但在Arduino開發中,並沒有直接使用這個(ge) 函數作為(wei) 程序入口。實際上,main()
函數存在於(yu) Arduino核心庫中,並仍然作為(wei) 程序的入口。![]()
二、Arduino項目實操
2.1 主要函數學習
Arduino編寫(xie) 程序的函數主要包括以下幾個(ge) :
- setup():在程序開始時執行一次,通常用於初始化硬件和設置初始狀態。
- loop():在程序運行時不斷執行,通常用於處理輸入、輸出和控製邏輯。
- pinMode():設置引腳的模式,如輸入或輸出。
- digitalRead():讀取數字引腳的狀態,返回0或1。
- digitalWrite():向數字引腳寫入電平,可以是高電平(1)或低電平(0)。
- analogRead():讀取模擬引腳的值,範圍為0到1023。
- analogWrite():向模擬引腳寫入值,範圍為0到255。
- delay():暫停程序執行一段時間,單位為毫秒。
- delayMicroseconds():暫停程序執行一段時間,單位為微秒。
- millis():獲取程序從啟動到現在的毫秒數。
- micros():獲取程序從啟動到現在的微秒數。
- map():將一個數值從一個範圍映射到另一個範圍。
- constrain():將一個數值限製在一個範圍內。
- Serial.begin():初始化串行通信。
- Serial.print():向串行監視器發送數據。
- Serial.println():向串行監視器發送數據並換行。
- Serial.read():從串行監視器讀取一個字節的數據。
- Serial.available():檢查串行監視器是否有可用的數據。
- Serial.write():向串行監視器發送一個字節的數據。
- Serial.flush():清空串行監視器的緩衝區。
2.2 控製LED閃爍
麵包板的出現
麵包板,也被稱為(wei) 萬(wan) 用線路板或集成電路實驗板,是專(zhuan) 為(wei) 電子電路的無焊接實驗設計製造的工具。其名稱源於(yu) 板子上的眾(zhong) 多小插孔,這些插孔看起來很像麵包中的小孔。
麵包板在真空管電路的年代就已經開始出現,當時的元器件體(ti) 積較大,人們(men) 常常通過螺絲(si) 和釘子將它們(men) 固定在切麵包用的木板上進行連接,後來隨著元器件體(ti) 積的不斷縮小,雖然元器件變小了,但"麵包板"的名稱卻延續了下來。麵包板的使用大大提高了實驗效率,同時也降低了實驗故障的出現幾率。由於(yu) 各種電子元器件可以根據需要進行插入或拔出,這樣一來就無需焊接,從(cong) 而節省了電路的組裝時間。而且元件可以重複使用,所以麵包板非常適合用於(yu) 電子電路的組裝、調試和訓練。
![]()
麵包板的連接原理是基於(yu) 插孔連接的。每個(ge) 金屬孔都與(yu) 周圍的金屬孔相連,形成一個(ge) 電路節點。當我們(men) 需要連接兩(liang) 個(ge) 電路節點時,隻需在它們(men) 之間插入導線即可。
點亮開發板上的LED
開發板上的LED與(yu) 13號引腳相連,因此隻需要控製該引腳的電平即可實現對LED的控製。
void setup() { // put your setup code here, to run once: pinMode(13,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(13,HIGH); delay(500);//持續亮0.5秒 digitalWrite(13,LOW); delay(500);//持續熄滅0.5秒 }
點亮麵包板上的LED
首先,根據電路原理圖使用導線連接麵包板、LED以及開發板。其次,LED短邊為(wei) 負極,長邊為(wei) 正極。
int pin=5; void setup() { // put your setup code here, to run once: pinMode(pin,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(pin,HIGH); delay(500);//持續亮0.5秒 digitalWrite(pin,LOW); delay(500);//持續熄滅0.5秒 }
2.3 按鍵開關(guan) 操作
上拉和下拉電阻:上拉電阻和下拉電阻的主要作用是將狀態不確定的信號線通過一個(ge) 電阻將其箝位至高電平(上拉)或低電平(下拉),從(cong) 而避免電壓的“懸浮”,造成電路的不穩定。在數字電路中,通常有三種狀態:0(低電平)、1(高電平)、浮空(不確定、隨機)。
具體(ti) 來說,上拉電阻是在某信號線上,通過電阻與(yu) 一個(ge) 固定的高電平VCC相接,使其電壓在空閑狀態保持在VCC電平;而下拉電阻則是將某信號線通過電阻接在固定的低電平GND上,使其空閑狀態保持GND電平。
本次通過按鍵開關(guan) 對Arduino的引腳輸入高、低電平。
項目實操總結
1、首先,根據電氣原理以及想要實現的功能連接電路圖;
2、然後,再按照電路圖連接導線和部件;
3、最後,按照想要實現的功能編寫(xie) 代碼。