文章目錄
一、Arduino安裝與設置
1.1 Arduino簡介
Arduino是一款便捷靈活、方便上手的開源電子原型平臺,由一個歐洲開發團隊于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、引腳:與控制器直接相連的針腳。
2、端口:數字輸入輸出端口、模擬輸入端口、電源端口等。其中,輸入輸出都是針對開發板來說的,向開發板發送信號那就是輸入,反之為輸出。數字輸入輸出只能0和1,端口0和端口1是用來傳輸數據用的。電源端口向外提供電壓,有5V和3.3V。
從使用引腳到端口的轉變原因:
✨單片機從使用引腳到端口的轉變主要是為了解決引腳沖突和提高系統的可擴展性。在單片機的早期設計中,引腳是最基本的輸入輸出單位。但隨著應用需求的增加,特定的引腳可能會被多個外設或模塊同時使用,導致引腳沖突。這種情況下,如果繼續使用單獨的引腳,可能需要頻繁地更改硬件連接或重新分配引腳,這不僅增加了設計的復雜性,也可能影響系統的穩定性和可靠性。✨ 為了解決這個問題,單片機引入了端口的概念。端口是由多個引腳組成的邏輯單元,它可以獨立地進行輸入輸出操作,而不需要關心引腳的具體配置和狀態。通過使用端口,設計者可以更加靈活地管理和控制各個外設,避免引腳沖突的問題。此外,端口還提供了更高級的輸入輸出功能,如中斷、DMA等,進一步提高了系統的響應速度和處理能力。
✨總的來說,從引腳到端口的轉變是為了提高單片機的可擴展性和穩定性,使其更好地滿足復雜應用的需求。
![]()
3、Arduino的程序存儲空間最大為多少?
Arduino的程序存儲空間最大為32256字節。這個存儲空間由兩部分組成:靜態存儲空間和動態存儲空間。靜態存儲空間主要用于存放程序代碼和全局變量,其最大空間為32256字節;動態存儲空間主要用于存放局部變量,其最大空間為2048字節。但需要注意的是,程序存儲空間的大小也受到Arduino開發板型號的影響。例如,對于某些Arduino Mega系列的開發板,其程序存儲空間可以達到256KB。因此,在編寫Arduino程序時,需要根據具體的開發板選擇合適的編程方式和優化策略,以確保程序能夠正常運行。
![]()
1.2 Arduino安裝
Arduino編程軟件的安裝,官網鏈接:https://www.arduino.cc/
登錄官網后找到軟件安裝包![]()
如果官網下載太慢可以登錄太極創客網址:http://www.taichi-maker.com/,進行快速下載。![]()
安裝過程:注意要全選,然后一路Nect即可等待安裝完成!![]()
1.3 Arduino設置
首先,點擊文件首選項,對其進行參數設置。勾選“顯示行號”,一般第一次打開設置界面,都未勾選。
![]()
其次,設置IDE中開發板的型號和端口,在連接上開發板后,在工具選項欄中選擇“開發板”型號以及“端口號”。
1.4 Arduino界面
關于界面說明:
Arduino的程序入口在哪里?
Arduino的程序入口是
setup()
和loop()
兩個主要函數。當Arduino板啟動時,setup()
函數會被調用,它負責初始化變量、設定引腳模式以及啟用必要的庫等功能。這個函數在Arduino板的每次上電和復位時只會運行一次。而
loop()
函數則是Arduino的主循環,它在setup()
函數執行完畢后開始執行,并會不斷循環執行,以處理輸入、輸出和控制邏輯。值得注意的是,雖然在許多編程環境中,程序的入口通常是名為
main()
的函數,但在Arduino開發中,并沒有直接使用這個函數作為程序入口。實際上,main()
函數存在于Arduino核心庫中,并仍然作為程序的入口。![]()
二、Arduino項目實操
2.1 主要函數學習
Arduino編寫程序的函數主要包括以下幾個:
- 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():清空串行監視器的緩沖區。
各個函數具體作用以及用法可以看太極的官網:
http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/![]()
2.2 控制LED閃爍
面包板的出現
面包板,也被稱為萬用線路板或集成電路實驗板,是專為電子電路的無焊接實驗設計制造的工具。其名稱源于板子上的眾多小插孔,這些插孔看起來很像面包中的小孔。
面包板在真空管電路的年代就已經開始出現,當時的元器件體積較大,人們常常通過螺絲和釘子將它們固定在切面包用的木板上進行連接,后來隨著元器件體積的不斷縮小,雖然元器件變小了,但"面包板"的名稱卻延續了下來。面包板的使用大大提高了實驗效率,同時也降低了實驗故障的出現幾率。由于各種電子元器件可以根據需要進行插入或拔出,這樣一來就無需焊接,從而節省了電路的組裝時間。而且元件可以重復使用,所以面包板非常適合用于電子電路的組裝、調試和訓練。
![]()
面包板的連接原理是基于插孔連接的。每個金屬孔都與周圍的金屬孔相連,形成一個電路節點。當我們需要連接兩個電路節點時,只需在它們之間插入導線即可。
點亮開發板上的LED
開發板上的LED與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短邊為負極,長邊為正極。
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 按鍵開關操作
上拉和下拉電阻:上拉電阻和下拉電阻的主要作用是將狀態不確定的信號線通過一個電阻將其箝位至高電平(上拉)或低電平(下拉),從而避免電壓的“懸浮”,造成電路的不穩定。在數字電路中,通常有三種狀態:0(低電平)、1(高電平)、浮空(不確定、隨機)。
具體來說,上拉電阻是在某信號線上,通過電阻與一個固定的高電平VCC相接,使其電壓在空閑狀態保持在VCC電平;而下拉電阻則是將某信號線通過電阻接在固定的低電平GND上,使其空閑狀態保持GND電平。
本次通過按鍵開關對Arduino的引腳輸入高、低電平。
項目實操總結
1、首先,根據電氣原理以及想要實現的功能連接電路圖;
2、然后,再按照電路圖連接導線和部件;
3、最后,按照想要實現的功能編寫代碼。