#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
LiquidCrystal_I2C lcd(0x27,1,2);
#define NOTE_C1 33
#define NOTE_A1 55
#define BUTTON_PIN 12
const float BETA = 3950;
int ledPinr = 11; // choose the pin for the LED
int ledPint = 10;
int ledPinw = 9;
int inputPin = 13;
int bz=8; // choose the input pin (for PIR sensor)
int bzz=7;
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPinr,OUTPUT); // declare LED as output
pinMode(ledPint,OUTPUT);
pinMode(ledPinw,OUTPUT);
pinMode(inputPin, INPUT); // declare sensor as input
pinMode(BUTTON_PIN, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
val = digitalRead(inputPin); // read input value
int analogValue = analogRead(A5);
float wendu = 1 / (log(1 / (1023. /analogValue - 1)) / BETA + 1.0/298.15)-273.15;
int value = digitalRead((BUTTON_PIN));
if (val == HIGH) { // check if the input is HIGH
digitalWrite(ledPinr,HIGH); // turn LED ON
if (pirState == LOW) {
// we have just turned on
Serial.println("Motion detected!");
// We only want to print on the output change, not state
lcd.init();
lcd.backlight();
lcd.setCursor(4,0);
lcd.print("weixian!!");
lcd.setCursor(4,1);
lcd.print("youren!!");
pirState = HIGH;
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);/*
tone(8,1319,300);
delay(300);
tone(8,NOTE_C1,300);
delay(300);
tone(8,988,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,1319,300);
delay(300);
tone(8,NOTE_C1,300);
delay(300);
tone(8,988,300);
delay(300);
tone(8,3729,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,1319,300);
delay(300);
tone(8,NOTE_C1,300);
delay(300);
tone(8,988,300);
delay(300);*/
}
} else {
digitalWrite(ledPinr, LOW); // turn LED OFF
if (pirState == HIGH) {
// we have just turned of
Serial.println("Motion ended!");
// We only want to print on the output change, not state
pirState = LOW;
}
}
if(wendu>30)
{
Serial.println("tmp:");
Serial.println(wendu);
digitalWrite(ledPint,HIGH);
lcd.init();
lcd.backlight();
lcd.setCursor(4,0);
lcd.print("hot!hot!");
lcd.setCursor(5,1);
lcd.print(wendu);
tone(7,1319,300);
delay(300);
tone(7,NOTE_C1,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,1319,300);
delay(300);
tone(7,NOTE_C1,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,1319,300);
delay(300);
tone(7,NOTE_C1,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,1319,300);
delay(300);
tone(7,NOTE_C1,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,1319,300);
delay(300);
}
else{
noTone(7);
digitalWrite(ledPint, LOW);
}
if(value == LOW)
{
/*Serial.println(" pressed");*/
digitalWrite(ledPinr,HIGH);
digitalWrite(ledPint,HIGH);
digitalWrite(ledPinw,HIGH);
lcd.init();
lcd.backlight();
lcd.setCursor(4,0);
lcd.print("weixian!");
lcd.setCursor(4,1);
lcd.print("qiujiu!!");
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(8,NOTE_A1,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
tone(7,988,300);
delay(300);
}
else{
digitalWrite(ledPinr, LOW);
digitalWrite(ledPint, LOW);
digitalWrite(ledPinw, LOW);
}
}