2013年11月24日 星期日

Week12上課內容 林佳芳

1.溫度感應
基礎溫度設25度
27左右則亮兩個
30度左右三顆LED亮
程式碼:

const int sensorPin =A0;
const float baselineTemp=25.0;

void setup(){
  Serial.begin(9600);
  for(int pinNumber=2;pinNumber<5;pinNumber++){
    pinMode(pinNumber,OUTPUT);
    digitalWrite(pinNumber,LOW);
  }
}

void loop(){
  int sensorVal=analogRead(sensorPin);
  Serial.print("Sensor Value:");
  Serial.print(sensorVal);

  float voltage=(sensorVal/1024.0)*5.0;
  Serial.print(",Volts:");
  Serial.print(voltage);

  Serial.print(",degrees C:");
  float temperature=(voltage-.5)*100;
  Serial.println(temperature);

  if(temperature<baselineTemp){
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
  }
  else if(temperature>=baselineTemp+2&& temperature<baselineTemp+4){
      digitalWrite(2,HIGH);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
  }
   else if(temperature>=baselineTemp+4&& temperature<baselineTemp+6){
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
  }
   else if(temperature>=baselineTemp+6){
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,HIGH);
  }
  delay(1);
}

影片



2.Color Mixing Lamp

const int greenLEDPin=9;
const int redLEDPin=11;
const int blueLEDPin=10;

const int redSensorPin=A0;
const int greenSensorPin=A1;
const int blueSensorPin=A2;

int redValue=0;
int greenValue=0;
int blueValue=0;

int redSensorValue=0;
int greenSensorValue=0;
int blueSensorValue=0;

void setup(){
  Serial.begin(9600);

  pinMode(greenLEDPin,OUTPUT);
  pinMode(redLEDPin,OUTPUT);
  pinMode(blueLEDPin,OUTPUT);
}

void loop(){
  redSensorValue=analogRead(redSensorPin);
  delay(5);
  greenSensorValue=analogRead(greenSensorPin);
  delay(5);
  blueSensorValue=analogRead(blueSensorPin);

  Serial.print("Raw Sensor Value \t Red");
  Serial.print(redSensorValue);
  Serial.print("\t Green");
  Serial.print(greenSensorValue);
  Serial.print("\t Blue");
  Serial.print(blueSensorValue);

  redValue=redSensorValue/4;
  greenValue=greenSensorValue/4;
  blueValue=blueSensorValue/4;

  Serial.print("Mapped Sensor Value \t Red");
  Serial.print(redValue);
  Serial.print("\t Green");
  Serial.print(greenValue);
  Serial.print("\t Blue");
  Serial.print(blueValue);

  analogWrite(redLEDPin,redValue);
  analogWrite(greenLEDPin,greenValue);
  analogWrite(blueLEDPin,blueValue);
}


影片



3.*測試顏色

void setup(){
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}

void loop(){
  int r=0,g=255,b=0;
  analogWrite(10,r);
  analogWrite(9,g);
  analogWrite(11,b);
}

影片

沒有留言:

張貼留言