用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");

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM