2017-11-06

2017-11-06  本文已影响0人  5期刘雪梅

今天我们学习了红外感应器,实现功能:检测红外感应器开关,并发声。#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); // 距离越近,时间间隔越小,声音越急促。

上一篇下一篇

猜你喜欢

热点阅读