2015年7月31日 星期五

Arduino的教學02-控制 LED 燈光亮度與PWM

一、教學目標:控制LE燈亮度(呼吸燈)


三、程式碼

int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

void setup()  { 
  // declare pin 9 to be an output:
  pinMode(9, OUTPUT);
} 

void loop()  { 
  // set the brightness of pin 9:
  analogWrite(9, brightness);    

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade: 
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  // wait for 30 milliseconds to see the dimming effect    
  delay(30);                            
}
四、作業練習 1.如何讓呼吸燈的變化頻率快一點?

2015年7月29日 星期三

Arduino的教學01-arduino的介紹

一、Arduino簡介
二、實驗器材清單
三、麫包板
         http://www.letry.com.tw/letryhandbookc/handbook.htm
三、第一支程式-Blinking LED
四、作業

  1. 請用麫包板接出二個串聯的LED燈(LED不可以直接接電源會燒毀,須串聯 220歐姆的電阻)
  2. 並聯的LED燈?
  3. 如何讓2個 LED燈交替亮?


程式碼

/*
  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 = 13;
int led2 = 12;
// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);  
  pinMode(led2, OUTPUT);   
}

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


三、網路資源

4. Arduino教學

http://1know.net/knowledge/97636f101c46?v=list

5.電阻色碼表


  • Arduino創始人在TED大會的演說 (Massimo Banzi: How Arduino is open-sourcing

練習01:暴力解-霹靂燈

//(1)設定檔
int ledPin1 =  8;      // the number of the LED pin
 int ledPin2 =  9;      // the number of the LED pin
 int ledPin3 =  10;      // the number of the LED pin
//(2)setup 函式
void setup() {
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
}
 
//(3)loop 函式
void loop() {
    digitalWrite(ledPin1, HIGH);
     delay(100);
    digitalWrite(ledPin1, LOW);
     delay(100);
     
      digitalWrite(ledPin2, HIGH);
       delay(100);
    digitalWrite(ledPin2, LOW);
     delay(100);


      digitalWrite(ledPin3, HIGH);
       delay(100);
    digitalWrite(ledPin3, LOW);
     delay(100);
     
       digitalWrite(ledPin2, HIGH);
       delay(100);
    digitalWrite(ledPin2, LOW);
     delay(100);
}


Arduino教學
https://www.youtube.com/playlist?list=PLXbFMuyNWWqBQxgALwjrDSEC97f4Krq3P