1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| -
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
-
-
!
|
|
|
-
!
|
|
|
!
-
-
!
|
-
!
|
-
!
-
!
-
!
-
!
|
|
|
|
-
!
|
|
|
-
!
|
|
-
|
|
!
-
|
|
!
|
|
!
| [#q804dc45]
#include <Wire.h>
#include <ST7032.h>
ST7032 lcd;
int trig = 8; int echo = 9;
int a1=1;
int ledPin=13; int xout=10;
void setup() {
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
lcd.begin(8, 2);
lcd.setContrast(30);
pinMode(ledPin,OUTPUT);
pinMode(xout,OUTPUT);
digitalWrite(ledPin,LOW);
digitalWrite(xout,LOW);
}
void loop() {
digitalWrite(trig,LOW);
delayMicroseconds(1);
digitalWrite(trig,HIGH);
delayMicroseconds(11);
digitalWrite(trig,LOW);
int t = pulseIn(echo,HIGH);
float distance = t*0.017;
String dx=String(distance);
dx=dx+"cm";
lcd.setCursor(0, 0);
lcd.print(dx);
int a1x=analogRead(a1);
float a1f=a1x*300.0/1023;
String ax=String(a1f);
lcd.setCursor(0, 1);
lcd.print(ax);
if(a1f>distance){
digitalWrite(ledPin,HIGH);
digitalWrite(xout,HIGH);
}
else{
digitalWrite(ledPin,LOW);
digitalWrite(xout,LOW);
}
delay(500);
}
|