2012年11月30日 星期五

Week12, HW10

1.1 全開全關(來回),使用旋鈕調整速度


int sensorPin = A0;
int ledPin;
int sensorValue = 0;

void setup() {
  for(ledPin=7;ledPin<=13;ledPin++)
    pinMode(ledPin, OUTPUT);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  for(ledPin=7;ledPin<=13;ledPin++){
    digitalWrite(ledPin, HIGH);
    delay(sensorValue);
  }
  for(ledPin=7;ledPin<=13;ledPin++){
    digitalWrite(ledPin, LOW);
    delay(sensorValue);
  }
  for(ledPin=13;ledPin>=7;ledPin--){
    digitalWrite(ledPin, HIGH);
    delay(sensorValue);
  }  
  for(ledPin=13;ledPin>=7;ledPin--){
    digitalWrite(ledPin, LOW);
    delay(sensorValue);
  }
}

1.2 單顆開關(來回),使用旋鈕調整速度


int sensorPin = A0;
int ledPin;
int sensorValue = 0;

void setup() {
  for(ledPin=7;ledPin<=13;ledPin++)
    pinMode(ledPin, OUTPUT);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  for(ledPin=7;ledPin<=13;ledPin++){
    digitalWrite(ledPin, HIGH);
    delay(sensorValue);
    digitalWrite(ledPin, LOW);
    delay(sensorValue);
  }
  for(ledPin=12;ledPin>=8;ledPin--){
    digitalWrite(ledPin, HIGH);
    delay(sensorValue);
    digitalWrite(ledPin, LOW);
    delay(sensorValue);
  }  
}

1.3 多顆開關(來回) ,使用旋鈕調整速度


int sensorPin = A0;
int ledPin;
int sensorValue = 0;

void setup() {
  for(ledPin=7;ledPin<=13;ledPin++)
    pinMode(ledPin, OUTPUT);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  for(ledPin=7;ledPin<=11;ledPin++){
    digitalWrite(ledPin, HIGH);
    digitalWrite(ledPin+1, HIGH);
    digitalWrite(ledPin+2, HIGH);
    delay(sensorValue);
    digitalWrite(ledPin, LOW);
    digitalWrite(ledPin+1, LOW);
    digitalWrite(ledPin+2, LOW);
    delay(sensorValue);
  }
  for(ledPin=12;ledPin>=10;ledPin--){
    digitalWrite(ledPin, HIGH);
    digitalWrite(ledPin-1, HIGH);
    digitalWrite(ledPin-2, HIGH);
    delay(sensorValue);
    digitalWrite(ledPin, LOW);
    digitalWrite(ledPin-1, LOW);
    digitalWrite(ledPin-2, LOW);
    delay(sensorValue);
  }
}

1.4 使用旋鈕開關(單顆)


int sensorPin = A0;
int ledPin;
int sensorValue = 0;
float width=1023/6;

void setup() {
  for(ledPin=7;ledPin<=13;ledPin++)
    pinMode(ledPin, OUTPUT);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  ledPin=sensorValue/width+7;
  digitalWrite(ledPin-1, LOW);
  if(ledPin<13) digitalWrite(ledPin+1, LOW);
  digitalWrite(ledPin, HIGH);
}



沒有留言:

張貼留言