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);
}
影片
沒有留言:
張貼留言