#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C mylcd(0x27,16,2);
volatile int juli;
float checkdistance_3_2() {
digitalWrite(3, LOW);
delayMicroseconds(2);
digitalWrite(3, HIGH);
delayMicroseconds(10);
digitalWrite(3, LOW);
float distance = pulseIn(2, HIGH) / 58.00;
delay(10);
return distance;
}
void setup(){
mylcd.init();
mylcd.backlight();
juli = 0;
pinMode(3, OUTPUT);
pinMode(2, INPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}
void loop(){
juli = checkdistance_3_2();
if (juli <= 20) {
mylcd.setCursor(0, 0);
mylcd.print(String("juli") + String(juli));
mylcd.setCursor(0, 1);
mylcd.print("ting!ting!ting!!");
tone(7,3951);
digitalWrite(8,HIGH);
delay(60);
mylcd.clear();
noTone(7);
delay(60);
} else if (juli <= 40) {
mylcd.setCursor(0, 0);
mylcd.print(String("juli") + String(juli));
mylcd.setCursor(0, 1);
mylcd.print("tingche");
tone(7,3951);
delay(100);
noTone(7);
digitalWrite(8,HIGH);
delay(160);
mylcd.clear();
digitalWrite(8,LOW);
delay(160);
} else if (juli <= 60) {
mylcd.setCursor(0, 0);
mylcd.print(String("juli") + String(juli));
mylcd.setCursor(0, 1);
mylcd.print("xiaoxindian");
tone(7,3951);
delay(260);
noTone(7);
digitalWrite(8,HIGH);
delay(330);
digitalWrite(8,LOW);
delay(330);
mylcd.clear();
}
}