laurenkoi
Published

Arduino Project 3: Love-O-Meter

Learning about analog inputs.

BeginnerProtip1 hour124
Arduino Project 3: Love-O-Meter

Things used in this project

Story

Read more

Schematics

Love-O-Meter Video

LoveOMeter Fritzing

Schematics

Code

Love-O-Meter Code

Arduino
Touch the sensor and it changes light based on temperature change.
const int sensorPin = A0;
// room temperature in Celsius
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(", degrees C: ");
  float temperature = (voltage - .5) * 100;
  Serial.println(temperature);

  // if the current temperature is lower than the baseline turn off all LEDs
  if (temperature < baselineTemp + 2) {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }  // if the temperature rises 2-4 degrees, turn an LED on
  else if (temperature >= baselineTemp + 2 && temperature < baselineTemp + 4) {
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }  // if the temperature rises 4-6 degrees, turn a second LED on
  else if (temperature >= baselineTemp + 4 && temperature < baselineTemp + 6) {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
  }  // if the temperature rises more than 6 degrees, turn all LEDs on
  else if (temperature >= baselineTemp + 6) {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
  }
  delay(1);
}

Credits

laurenkoi

laurenkoi

13 projects • 1 follower

Comments