Arduino学习笔记—超简单以超声波为主的报警电路
本文是个人学习心得,供新人参考,老鸟可瞬间飘过···{:soso_e113:}
本文很简单,需要用到的材料:adruino uno一块(其他也可),面保线若干条,蜂鸣器或小喇叭一个,超声波模块一个
连接方法自己看定义的输入输出口即可- int inputPin=4; // 定义超声波信号接收接口
- int outputPin=7; // 定义超声波信号发出接口
- int ledpin1=13; //定义灯的接口
- int tower=9;//蜂鸣器的pin
- void setup()
- {
- Serial.begin(9600);
- pinMode(ledpin1,OUTPUT);
- pinMode(inputPin, INPUT);
- pinMode(outputPin, OUTPUT);
- pinMode(tower,OUTPUT);//设置数字IO脚模式,OUTPUT为输出
- }
- void loop()
- {
- unsigned char i,j;
- digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平2μs
- delayMicroseconds(2);
- digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs
- delayMicroseconds(10);
- digitalWrite(outputPin, LOW); // 保持发出超声波信号接口低电平
- int distance = pulseIn(inputPin, HIGH); // 读出脉冲时间
- distance= distance/58; // 将脉冲时间转化为距离(单位:厘米)
- Serial.println(distance); //输出距离值
- delay(50);
- if (distance >=10) //当距离大于10cm(这个数据可以在超声波测量的范围内随意改,3cm~450cm )
- {
- digitalWrite(ledpin1,HIGH);//灯亮
- digitalWrite(tower,LOW);//不发声
- }
- else//否则
- {
- for(int i=0;i<80;i++)//输出一个频率的声音
- {
- digitalWrite(tower,HIGH);//发声音
- delay(2);
- digitalWrite(tower,LOW);//不发声音
- delay(2);
- }
- for(int i=0;i<100;i++)//输出另一个频率的声音
- {
- digitalWrite(tower,HIGH);//发声音
- delay(1);
- digitalWrite(tower,LOW);//不发声音
- delay(1);
- }
- digitalWrite(ledpin1,LOW);//灯灭
- delay(200);//延时
- digitalWrite(ledpin1,HIGH);//灯亮
- delay(30);//延时
- }
- }
复制代码 后记:记得小时候看的电子电路书,尤其对里面的报警电路很感兴趣。像“断线报警器”“感应型报警器”终究只停留在书面上。没有任何的实际小电路做出来~{:soso_e121:}
今天看了几个超声波程序,搜索了下警笛的声音输出程序。就搭建了个报警电路~
把这个很简单的程序给更多和我一样的小白参考下~
继续侃哈~arduino这么多io口,可以完全做一个以其为核心的功能完善的报警系统了。例如定义在五米内检测到有物体闯入,开启摄像头对门或者其他需要监控的地方录像(省去了一直开着的麻烦),再进一步2米可以开启警报声,震慑不法分子······如果再强悍一些,可以和大菠萝相连(rpk也行)自动射击···秒杀一切烦恼~~~
太多啦~~~剩下yy的主角就是你了 |