基于arduino的简易警报器

基于arduino的简易警报器
材料:
1、hc_sr04(超声波模块)
2、arduino uno
3、蜂鸣器(有源,无源都行)
4、LED灯

#define Trig 2
#define Echo 3
float cm;
float temp;
void setup() {
 pinMode(2,OUTPUT);
 pinMode(3,INPUT);
 pinMode(13,OUTPUT);
 pinMode(12,OUTPUT);
 Serial.begin(9600);
}

void loop() {
 Serial.println(cm);
 digitalWrite(2,LOW);
 delayMicroseconds(2);
 digitalWrite(2,HIGH);
 delayMicroseconds(10);
 temp=float(pulseIn(3,HIGH));
 cm=(temp*17)/1000;
  if(cm>200){     //大于两米
  digitalWrite(13,LOW);
  digitalWrite(12,LOW);
 }
 delay(1000);
 if(cm<200 and cm>100){        //1米到2米之间
    digitalWrite(12,HIGH);
    delay(1000);
    digitalWrite(12,LOW);
    delay(1000);
    digitalWrite(13,HIGH);
    delay(100);
    digitalWrite(13,LOW);
    delay(100);
 }
  if(cm<100){     //小于1米
    digitalWrite(12,HIGH);
    digitalWrite(13,HIGH);

    }
}

cm=(temp*17)/1000 这个是arduino计算距离的公式

这里的警报距离是小于1米、1米到2米和大于2米,如果想设置别的距离可以在if函数里面改。

关于接线问题

hcsr04 arduino uno
Trig 2号脚位
Echo 3号脚位
GND GND
VCC 3.3V
蜂鸣器 arduino uno
黑线 GND
红线 12号脚位
LED arduino uno
长脚 13号脚位
短脚 GND

arduino uno的GND脚位可能不够,可以引一条线到面包板上。

你可能感兴趣的:(基于arduino的简易警报器)