用户:
活不了了查看:7 回复:7 评论:7 创建时间:2022-08-22T19:03:08
#include <Servo.h>
#define PIN_SERVO 9
int ledPin30 = 6;
int ledPin20 = 5;
int ledPin10 = 4;
const int TrigPin = 2;
const int EchoPin = 3;
const int LedPin = 17;
float distance;
Servo myservo;
void setup() {
// put your setup code here, to run once:
myservo.attach(9);
Serial.begin(9600);
pinMode(TrigPin,OUTPUT);
pinMode(TrigPin,OUTPUT);
pinMode(EchoPin,INPUT);
pinMode( ledPin30, OUTPUT);
pinMode( ledPin20, OUTPUT);
pinMode( ledPin10, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LedPin,HIGH);
delayMicroseconds(2);
digitalWrite(TrigPin,HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin,LOW);
distance = pulseIn(EchoPin,HIGH);
Serial.print(distance);
Serial.println("ms");
distance = distance/58;
distance = (int(distance*100.0))/100.0;
Serial.print(distance);
Serial.print("cm");
Serial.println();
delay(200);
if (distance <= 30)
{
digitalWrite(ledPin30, HIGH);
}
else
{
digitalWrite(ledPin30, LOW);
myservo.write(0);
}
if (distance <= 20)
{
digitalWrite(ledPin20, HIGH);
}
else
{
digitalWrite(ledPin20, LOW);
}
if (distance <= 10)
{
digitalWrite(ledPin10, HIGH);
myservo.write(180);
}
else
{
digitalWrite(ledPin10, LOW);
}
}