用Tinkercad学arduino之 LCD温度显示报警器

项目地址:https://www.tinkercad.com/things/9Yv09OZnrXy-temperature-sensor-with-display

 

 

//CREATED BY GIOVANNI, LUCAS B, LUCAS F & THIAGO.
//WHEN THE TEMPERATURE IS HIGHER THAN 35ºC IT PLAYS ANOTHER SOUND FREQUENCY.

//Include the library code.
#include <LiquidCrystal.h>
//Initialize the library with the numbers of the interface pins.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//This is the Arduino Pin that will read the sensor output.
int sensePin = A0;
//The variable we will use to store the sensor input.
int sensorInput;
//The variable we will use to store temperature in degrees.
double temp;

void setup()
{
  //Pin of the led.
  pinMode(13, OUTPUT);
  
  //Initialize the LCD's number of columns and rows.
  lcd.begin(16, 2);
  
  //Start the Serial Port at 9600 baud (default).
  Serial.begin(9600);
}

void loop()
{  
  //Set the cursor to column 0, line 0
  lcd.setCursor(0, 0);
  
  //Read the analog sensor and store it.
  sensorInput = analogRead(A0);
  //Find percentage of input reading.
  temp = (double)sensorInput / 1024;
  //Multiply by 5V to get voltage.
  temp = temp * 5;
  //Subtract the offset.
  temp = temp - 0.5;
  //Convert to degrees.
  temp = temp * 100;
  
  if (temp > 35)
  {
    //INPUT - FREQUENCY - TIME THAT LASTS
    tone(8, 800, 300);
    delay(250);
    
      digitalWrite(13, HIGH);
      delay(500); // Wait for 500 millisecond(s)
      digitalWrite(13, LOW);
      delay(500); // Wait for 500 millisecond(s)
  }
  
  else if (temp > 25)
  {
    //INPUT - FREQUENCY - TIME THAT LASTS
    tone(8, 500, 300);
    delay(500);

    digitalWrite(13, HIGH);
    delay(500); // Wait for 500 millisecond(s)
    digitalWrite(13, LOW);
    delay(500); // Wait for 500 millisecond(s)
  }  

  lcd.print("Temperature: ");
  
  //Set the cursor to column 0, line 1
  lcd.setCursor(0, 1);
  lcd.print(temp);
  
  lcd.print(" Celsius");

}

 

posted @ 2020-12-08 00:49  meetrice  阅读(1671)  评论(0编辑  收藏  举报