1. 點亮一個LED燈

點亮一個LED燈

板載LED的閃爍

C語言的第一個程序往往是"HellloWorld!",Arduino和單片機的第一個程序往往是點亮一個LED燈.

但是我完全不會誒?那要怎麼辦?沒關係啦,Arduino為我們提供了相當多的示範案例,你唯一需要的就是直接把案例上傳到板子就可以了.

只需要按照圖示的點擊即可自動生成程式

按照上面的點擊你會得到下面的這樣一段代碼:

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

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

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

接著你只需要點擊向右的箭頭即可上傳到板子.是不是顯示"Serial port not selected."那是當然的啦,因為你還沒有插上板子嘛.

1. 依次點擊工具 --> 開發板 --> Arduino Genuino Uno

2. 依次點擊: 工具 --> 序列埠 --> COM3(每個人的COM口可能不一樣,你選擇自己的就好了)

3. 再一次點擊上傳,最後你就能看見板子上有一個燈每隔1s閃爍一次.

OK,大功告成,我們的第一個實驗已經成功了,讓板載的LED燈閃爍起來.下面我們立馬來做第二個實驗--點亮一個外部的LED燈.

什麼什麼,你這個代碼沒有看懂,好吧,沒關係,代碼中綠色的部分就是代碼的注釋你可以自己試著去讀一下試試看.如果依舊不懂,沒關係,因為我接下來馬上就會順帶一起講了.

點亮一個外部LED

1. 先讓這個燈亮起來 

我們先來看一下點亮一個LED燈的電路圖

在這個地方為什麼要加上一個電阻呢?留給各位作為思考題!(嘗試是一種優秀的學習態度和品質,但是切記,前提是你能夠承擔失敗帶來的後果![手動狗頭])

現在我們只要將電源的正極使用板子的任意輸出腳位代替(我使用的是基督的最後一個門徒),負極使用板子的GND代替即可.接下來我們就開始寫代碼吧.

 1 // 只會只會執行一次的程序,即程序啟動的時候執行的部分,相當於預定義
 2 void setup() {
 3   // 定義13腳為輸出腳
 4   pinMode(13, OUTPUT);
 5 }
 6 
 7 // 程序的主循環,程序會不斷的循環執行部分
 8 void loop() {
 9   // 讓13腳輸出高電位,並維持1000ms[1s]
10   digitalWrite(13, HIGH);
11 }

這樣你就能看見外接的LED燈亮起了.

程式很簡單,我只做簡單的說明:

  1. 函數setup()會且只會在板子啟動的時候被執行,一般用於一些初始化的事情
  2. loop()函數是主函數[如果你疑問為什麼主函數不是main函數,那麼大可放心,因為實際上主函數還是main函數,只是其具體的實現被隱藏了起來了,這也就是你常聽說的封裝(這個封裝和元器件封裝有異曲同工之妙,但是不是同一個)]
  3. 其餘語句的作用我都已經給你寫在代碼當中了.

2. 讓這個燈閃爍起來

我們發現使用範例中的代LED燈會閃爍,可是我們自己寫的代碼不會閃爍,這可怎麼辦呢?很簡單,讓他亮1s,暗1s,亮1s如此循環即可.這樣的話我們需要一個延時函數,通過範例我們我們既可以模仿單片機自己寫一個,但是Arduino已經幫我們實現了延時函數,也就是delay函數.所以我們直接調用就可以了.那麼加上延時函數之後代碼變為:

// 第一個程序,點亮一個LED燈

// 只會只會執行一次的程序,即程序啟動的時候執行的部分,相當於預定義
void setup() {
  // 定義13腳為輸出腳
  pinMode(13, OUTPUT);
}

// 程序的主循環,程序會不斷的循環執行部分
void loop() {
  // 讓13腳輸出高電位,並維持1000ms[1s]
  digitalWrite(13, HIGH);
  delay(1000);  
  // 讓13腳輸出低電位,並維持1000ms
  digitalWrite(13, LOW); 
  delay(1000);
}

好吧,今天的任務就是這麼簡單.讓我們愉快的進入下一章吧.

原文地址:https://www.cnblogs.com/ltozvxe/p/12217588.html