(无接触洗手)防疫:
#include <Servo.h> // 声明调用Servo.h库
Servo myservo; //创建一个舵机类,命名为myservo
#define SERVO_PIN 10 //宏定义舵机控制引脚
unsigned int PWM = 90; //变量pwm用来存储舵机角度位置,PWM的500对应0度,2500对应舵机的最大角度
//(180度舵机2500对应180度,270度舵机2500对应270度)
const int TrigPin = 4;
const int EchoPin = 6;
float distance;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin,OUTPUT);
myservo.attach(SERVO_PIN); // 将10引脚与声明的舵机对象连接起来
pinMode(EchoPin,INPUT);
Serial.println(“Ultrasonic sensor:”);
}
void loop()
{
digitalWrite(TrigPin,LOW);
delayMicroseconds(2);
digitalWrite(TrigPin,HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin,LOW);
distance = pulseIn(EchoPin,HIGH)/58.00;
Serial.print(distance);
Serial.print(“cm”);
Serial.println();
delay(100);
if(distance<15 && distance>1)
{
for(PWM = 975; PWM>50; PWM-=5){
myservo.writeMicroseconds(PWM);
delay(10);
}
}
else
{
myservo.writeMicroseconds(PWM);
}
}
基于Arduino的防疫
最新推荐文章于 2022-07-14 06:45:31 发布