arduinoarduino入門

備註

什麼是Arduino?

Arduino是一個基於易於使用的硬件和軟件的開源電子平台。

為什麼要使用Arduino?

  • 便宜。你也可以購買更便宜的克隆。
  • 易於使用和入門
  • 龐大的社區
  • 完全開源

版本

發布日期
1.0.0 2016年5月8日

最低限度

這是'最低限度'的Arduino草圖。通過選擇File > Examples > 01. Basics > Bare Minimum 可以將其加載到Arduino IDE中File > Examples > 01. Basics > Bare Minimum

void setup() {
  // put your setup code here, to run once
}

void loop() {
  // put your main code here, to run repeatedly
}
 

程序啟動時, setup() 函數中的代碼將運行一次。這對於設置I / O引腳,初始化變量等非常有用。 loop() 函數中的代碼將重複運行,直到關閉Arduino或上傳新程序。實際上,上面的代碼在Arduino運行時庫中看起來像這樣:

setup();
while(1) {
  loop();
}
 

與您計算機上運行的程序不同,Arduino代碼永遠不會退出。這是因為微控制器只有一個程序加載到其中。如果該程序退出,則無需告訴微控制器該做什麼。

這是一個演示setup()loop() 函數的簡短示例。可以通過選擇File > Examples > 01. Basics > Blink 將其加載到Arduino IDE中。 ( 注意:大多數Arduino電路板的LED已連接到引腳13,但您可能需要添加外部LED以查看此草圖的效果。)

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}
 

上面的片段:

  1. 定義setup() 函數。在每個Arduino程序中執行時首先調用setup() 函數。

    1. 將引腳13設置為輸出。

      沒有它,它可能被設​​置為輸入,這將使LED不起作用;但是一旦它被設置為輸出它將保持這種方式,所以這只需要在程序啟動時完成一次。

  2. 定義loop() 函數。只要程序正在運行,就會重複調用loop() 函數。

    1. digitalWrite(13, HIGH); 打開LED。
    2. delay(1000); 等待一秒鐘(1000毫秒)。
    3. digitalWrite(13, LOW); 關閉LED。
    4. delay(1000); 等待一秒鐘(1000毫秒)。

由於loop() 在程序運行期間重複運行,因此LED將以2秒(1秒開,1秒關)的周期閃爍。此示例基於Arduino Uno以及已經將LED連接到引腳13的任何其他電路板。如果正在使用的電路板沒有連接到該引腳的板上LED,則可以在外部連接一個。

更多關於時間安排(例如延遲和測量時間): 時間管理

首次安裝

所需軟件: Arduino IDE

Arduino IDE

建立

大多數兼容Arduino的主板都有USB端口,並配有USB線。使用USB線插入Arduino,然後啟動Arduino IDE。

Arduino IDE將以新草圖開始,通常使用emtpy setup()loop() 函數。這足以上傳到Arduino板,但它什麼都不做。首次使用Arduino板時,“Blink”示例草圖可作為簡單測試。轉到文件→示例→01.Basics→閃爍。這將打開一個帶有Blink草圖的新窗口。

選擇你的董事會。轉到工具→板→[Arduino板的名稱]。

工具,板

選擇電路板的COM端口。大多數兼容Aurduino的電路板都會創建一個假的COM端口,用於串行通信(調試)和編程電路板。 COM 1 通常已經存在,您的電路板將創建一個新的,例如COM 4.從工具→端口→COM 4(或其他COM編號)中選擇此項。

某些板在“工具”菜單中有其他設置,例如時鐘速度。這些因板而異,但通常會選擇一組可接受的默認值。

上傳

您現在可以上傳Blink了。單擊上載按鈕或選擇草圖→上載。草圖將編譯,然後上傳到您的Arduino板。如果一切正常,車載LED將每秒開啟和關閉閃爍。

上傳

串口監視器

在Arduino IDE中,ypu hava是一個串行監視器。要打開它,請使用窗口右側的按鈕串行監視器

串口監視器

在打開顯示器之前,請確保已上載代碼。上傳和監視器不會同時運行!

LED - 帶按鈕控制

您也可以使用此代碼設置帶有上拉電阻的按鈕開關的LED,最好在設置初始LED控制器後進行下一步操作

int buttonState = 0; // variable for reading the pushbutton status

void setup()
{
    // initialize the LED pin as an output:
    pinMode(13, OUTPUT); // You can set it just using its number
    // initialize the pushbutton pin as an input:
    pinMode(2, INPUT);
}

void loop()
{
    // read the state of the pushbutton value:
    buttonState = DigitalRead(2);

    // check if the pushbutton is pressed.
    // If it's not, the buttonState is HIGH : if (buttonState == HIGH)
    {
        // turn LED off:
        digitalWrite(13, LOW);
    }
    else
    {
        // turn LED off:
        digitalWrite(13, HIGH);
    }
}