arduino
传感器拼接
超声波+蜂鸣器+舵机+外部电源
舵机接线:
正极接Vin(以接外部电源的情况下)
负极接GND
剩下一条接7号引脚
超声波接线:
Vcc接5V
Tcig接2号引脚
Echo接3号引脚
GND 接GND
有源蜂鸣器接线:
正极接8号引脚
负极接GND
代码:
// 超声波传感器测距+蜂鸣器报警(buzzer)+舵机(sterring gear)
//注意需加外部电源接Vin
#include<Servo.h>
Servo myservo; //定义Servo对象来控制
const int TrigPin = 2; //trig引脚接2
const int EchoPin = 3; //echo引脚接3
const int buzzer = 8; //蜂鸣器引脚接8
const int gear = 7; //舵机接口
float cm;
void setup()
{
Serial.begin(9600); //串口波特率
pinMode(TrigPin,OUTPUT); //定义trig为输出
pinMode(EchoPin,INPUT); //定义echo为输入
pinMode(buzzer,OUTPUT);
pinMode(gear,INPUT);
myservo.attach(gear);
}
void loop()
{
digitalWrite(buzzer,LOW);
digitalWrite(TrigPin,LOW);
delayMicroseconds(2);
digitalWrite(TrigPin,HIGH);
delayMicroseconds(10); //通过高低电平发射一个短时间脉冲
digitalWrite(TrigPin,LOW);
cm = pulseIn(EchoPin,HIGH)/58; //将回波时间换算成cm
cm = (int(cm * 100))/100; //保留两位小数
myservo.write(0);
if(cm<=10) //当距离小于10cm,工作
{
digitalWrite(buzzer,HIGH);
myservo.write(180);
}
Serial.print(cm);
Serial.print("cm");
Serial.println(); //串口输出
delay(500);
}