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

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

歡迎加入討論羣 64770604git

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

1、本次實驗所用到的器材爲:oop

一、arduino uno R3無特殊註明,本學習筆記所有使用此板。學習

二、麪包板(1個SYB-120):這裏簡單介紹一下面包板,之後的筆記中再也不介紹。ui

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

三、LED:LED兩個針腳有一長一短,短的是鏈接GND,長的是鏈接正極。.net

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

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

2、實驗

一、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燈開始每一秒閃爍一次。

二、間隔時間不等的閃爍

想要讓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

相關文章
相關標籤/搜索