518 次瀏覽
為了使用Arduino點亮LED,我們首先需要進行硬體連線。選擇開發板中支援數字輸出的引腳。我們使用Arduino Uno開發板,並選擇7號引腳。電路圖如下所示:-正如你所看到的,電阻的一端連線到Arduino Uno的7號引腳。電阻的另一端連線到LED的長腳(正極)。LED的短腳連線到GND。電阻值可以選擇100歐姆左右。我們將選擇……閱讀更多
3K+ 次瀏覽
預設情況下,Arduino中的analogRead使用10位解析度(不同開發板可能不同)。但是,有時您可能不需要這麼高的解析度。通常,人們希望將解析度設定為8位,以節省儲存空間。這是因為8位值只需要一個位元組的儲存空間,而高於8位的則需要兩個位元組的儲存空間。幸運的是,Arduino有一個內建函式可以更改模數轉換的解析度。該函式是analogReadResolution(),它接收以位為單位的解析度作為引數。因此,如果您希望設定8位……閱讀更多
302 次瀏覽
將模擬值轉換為數字值是微控制器的一般常見需求,Arduino也不例外。Arduino IDE有一個內建的analogRead函式,用於促進模擬值到數字值的轉換。從程式設計的角度來看,您唯一需要知道的是微控制器中支援ADC的引腳。在Arduino UNO開發板上,A0到A5引腳支援ADC。現在,讓我們假設您已將A0引腳連線到模擬線(可能是LDR和電阻之間的連線,或電位器的中心引腳)。列印模擬值的Arduino基本程式碼如下所示……閱讀更多
765 次瀏覽
為了訪問Arduino開發板中的任何引腳,您可以簡單地將引腳號作為整數引用。在像Uno這樣的Arduino開發板上,所有I/O引腳都標有標籤,程式碼中可以使用相同的標籤。因此,以下兩個表示式都是有效的:int pin1 = A0; int pin2 = 7;一旦定義了引腳號,根據您的用例,您可能需要將引腳設定為輸入引腳或輸出引腳。這通常在setup函式中完成(因為它是一個……閱讀更多
1K+ 次瀏覽
在Arduino中使用第三方庫的常用方法是從工具->庫管理器中安裝它們。我們已經有一篇單獨的文章來介紹這一點。但是,如果您使用的庫在工具->庫管理器中找不到怎麼辦?畢竟,庫管理器只包含Arduino庫管理器中存在的那些庫:http://downloads.arduino.cc/libraries/library_index.json那麼,我們如何使用Arduino庫管理器中沒有的庫呢?讓我們用一個例子來理解。考慮TinyGPSPlus庫(https://github.com/mikalhart/TinyGPSPlus),截至2021年3月17日,它在Arduino的庫管理器門戶中不可用。為了使用這個……閱讀更多
什麼是中斷?顧名思義,中斷是中斷正常程式碼流程的例程。中斷例程包含一段程式碼,當發生事件時,開發板上的微控制器應該執行該程式碼。以空調為例。假設它具有以下溫度控制設定:當溫度達到18攝氏度時關閉冷卻。現在,將有一個溫度感測器不斷測量溫度。每當它報告溫度為18攝氏度時,AC微控制器上執行的正常程式碼就會中斷,它會執行關閉冷卻的程式碼,然後正常程式碼……閱讀更多
8K+ 次瀏覽
在每種語言中,通常第一個Hello World專案是一個簡單的程式,它列印“Hello World”!我們將看看Arduino的此類程式碼是什麼樣的。以下程式碼將在每次開發板通電時在螢幕上列印“Hello World”。示例void setup() { Serial.begin(9600); Serial.print("Hello World!"); } void loop() { }然而,這並不是Arduino的Hello World專案的最佳選擇。我們主要使用Arduino進行韌體程式設計(通俗地說,韌體是任何晶片內部的永久軟體)。現在,韌體的一個特性是重複執行任務。那個……閱讀更多
7K+ 次瀏覽
Arduino中的for和while迴圈遵循C語言語法。for迴圈的語法如下:語法for(迭代器初始化;停止條件;增量指令){ //執行某些操作 }示例for(int i = 0; i< 50; i++){ //執行某些操作 }類似地,while迴圈的語法如下:語法while(條件){ //執行某些操作 }示例int i = 0 while(i < 50){ //執行某些操作 i = i+1; }以下示例將演示for和while迴圈在Arduino程式中的工作原理。示例void setup() { Serial.begin(9600); } void loop() { // 在此處編寫主程式碼,重複執行: int i ...閱讀更多
252 次瀏覽
Arduino程式碼具有非常簡單的結構。如果您在Arduino IDE中開啟一個新專案,您將看到為您準備的以下模板:示例void setup() { // 在此處編寫設定程式碼,執行一次: } void loop() { // 在此處編寫主程式碼,重複執行: }此處的註釋解釋得很好。setup函式包含將執行一次的程式碼。此函式在開發板重新啟動時首先執行。loop函式包含將重複執行的程式碼。換句話說,如果您在loop中編寫5行程式碼,……閱讀更多
433 次瀏覽
如果您熟悉C語言,並希望在Arduino列印語句中使用C語言提供的格式化選項,那麼有一個簡單的方法。您只需定義一個字元陣列,並使用sprintf()填充它。在sprintf中,您可以使用C語言格式化。稍後,您可以簡單地打印出該緩衝區。以下示例程式碼演示瞭如何操作:示例char print_buf[100]; void setup() { Serial.begin(9600); } void loop() { //在此處新增您的主要程式碼,使其重複執行: for(int i = 0; ... 閱讀更多