Arduino入門筆記(3):單LED閃爍


轉載請注明:@小五義http://www.cnblogs.com/xiaowuyi

歡迎加入討論群 64770604

    在搭建好arduino開發環境(http://www.cnblogs.com/xiaowuyi/p/3190201.html或者http://wikicode.net/?p=152)后,就可以進行入門學習了。

一、本次實驗所用到的器材為:

1、arduino uno R3無特殊注明,本學習筆記全部使用此板。

2、面包板(1個SYB-120):這里簡單介紹一下面包板,以后的筆記中不再介紹。

      面包板又稱“集成電路實驗板“,就是一種插件板,此板上具有若干小型插座(孔)。在進行電路實驗時,可以根據電路連接要求,在相應孔內插入電子元器件的引腳以及導線等,使其與孔內彈性接觸簧片接觸,由此連接成所需的實驗電路。

3、LED:LED兩個針腳有一長一短,短的是連接GND,長的是連接正極。

4、幾根導線:確切的說只用到了兩根。

     在本實驗中,我使用了arduino板子上的數字5號端口,其實該實驗在arduino程序的實例中存在,名字叫“blink”,只是在blink實例中使用的是13號端口。連接圖如下:

二、實驗

1、blink代碼實驗

      點擊file菜單下EXAMPLES--011.Basics--Blink,就可以看到Blink程序已經加載到程序編輯區。因為使用的端口不同,略加修改如下:

 

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 5; #這里將原來的13改為5,當然你也可以改為其實端口,只要和led正極連接端口相一致即可。

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

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

 

 

 

點擊“校驗”按鈕實現程序的編譯,等待一會兒后狀態欄會提示Done compiling(程序編譯完成),然后點擊upload后,會發現led燈開始每一秒閃爍一次。

2、間隔時間不等的閃爍

想要讓led閃爍的時間間隔不等,會出現一會亮的快,一會亮的慢的情況,這里我們把代碼做一修改就可實現。

第一修改:

 

int led = 5;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT); 
   
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);  
  delay(200); 
  digitalWrite(led, LOW);
  delay(200);
  digitalWrite(led,HIGH);
  delay(2000);
  digitalWrite(led, LOW);    
  delay(2000);             
}

 

該代碼運行后,led先是0.2秒閃一下,然后再2秒閃一下。

進一步修改,加入了for循環,主要是為了練習一下基本語句:

int led = 5;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT); 
   
}

// the loop routine runs over and over again forever:
void loop() {
  for (int i=0;i<5;i=i+1)
  {
  digitalWrite(led, HIGH);  
  delay(200);  
  digitalWrite(led, LOW);
  delay(200);
  }
  digitalWrite(led,HIGH);
  delay(2000);
  digitalWrite(led, LOW);  
  delay(2000);            
}

在這一代碼中,led后首先間隔0.2秒連續閃5次,然后間隔2秒閃一次。upload后,會看到具體的效果。

 

 推薦購買網址:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-15820725129.16.AtgoEm&id=545093340395

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM