03 LOVE-O-METER
會依溫度不同而亮一顆燈、兩顆燈、三顆燈(!)
程式碼
const float baselineTemp = 20.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(" , degree 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);
}
會不斷跑出來現在的溫度~~~~~
照片
影片
04 COLOR MIXING LAMP
會依感光不同,LED燈泡產生不同的顏色
程式碼
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 Values \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 Values \t Red:");
Serial.print(redValue);
Serial.print("\t Green:");
Serial.print(greenValue);
Serial.print("\t Blue:");
Serial.println(blueValue);
analogWrite(redLEDPin,redValue);
analogWrite(greenLEDPin,greenValue);
analogWrite(blueLEDPin,blueValue);
沒有留言:
張貼留言