2017-11-06

今天我们学习了红外感应器,实现功能:检测红外感应器开关,并发声。#define PIN_IR_IN 7   红外线感应开关引脚  #define PIN_TONE_OUT  8  发声引脚  Serial.begin(9600);pinMode(PIN_IR_IN, INPUT);初始化,if (digitalRead(PIN_IR_IN) == HIGH) {for (int i = 0; i <5 ; i++) {for (int j = 0; j < 1500; j++) {tone(PIN_TONE_OUT, map(j,0,1499,650,1550));delay(1);}for (int j = 0; j < 3500; j++) {

tone(PIN_TONE_OUT, map(j,0,3499,1550,650));delay(1);}}}消防车声音:低频650Hz~750Hz,高频1450~1550, 由低频到高频1.5s, 再由高频降至低频3.5s.

超声波传感器的应用,进行编程,实现对距离测试,从而有不同的提示与操作,digitalWrite(TrigPin, HIGH); //开始发送高电平,US-100开始测量距离,delayMicroseconds(50); // 设置高脉冲宽度为50us (>10us),digitalWrite(TrigPin, LOW); // 结束高脉冲

Time_Echo_us = pulseIn(EchoPin, HIGH);    // 敲击是第一个上升沿,返回波是第二个上升沿,两沿宽度,if((Time_Echo_us < 60000) && (Time_Echo_us > 1))    //有效的宽度范围 (1, 60000).{// 1m->5882us, 10m->58823us

Len_mm = (Time_Echo_us*34/100)/2;      //长度(mm)Len_mm = (Time_Echo_us * 0.34mm/us) / 2 (mm), 最大10.2米

frequence = map(Len_mm, MIN_DISTANCE, MAX_DISTANCE, NOTE_B7, NOTE_C3 );

tone(PIN_TONE_OUT, frequence, DURATION/4);delay(Len_mm/2); // 距离越近,时间间隔越小,声音越急促。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容