【声控灯】运用pic单片机和一个声音传感器,声音超过一定值时灯变暗,没有超过这个值时,灯正常发光

【声控灯】运用pic单片机和一个声音传感器,声音超过一定值时灯变暗,没有超过这个值时,灯正常发光,第1张

//Demo Program

while(1)

{

  if(sound>threshold)

  {

    LED_Close()

  }

  升粗else

  {

    LED_Open()

  }

  delay_second(10)

}

你的声音过来是指唯什么值,AD采集到的模拟量还是IIS之类的数字量,驱动那部分肯定要你自己写,官吵逗镇网里面肯定有例程,MPLAB里面应该也有驱动生成工具。

灯是开关量控制,IO口高低电平驱动三极管或者MOS或者继电器来驱动灯。

假设你有XPT2046的或绝困源程序,且上面这段代码可以正常采集AD

则只需修改宏隐main函数

sbit led=//引脚定义

#define VALUE//某个经验值

void main(void)

{

uint temp,count

while(1)

{

if(count==50)

{

count=0

temp = Read_AD_Data(0xE4) // AIN3 外部输入

if(temp>VALUE)led=0;//判断大于某个分贝衫念则led亮,否则灭

else led=1;

}

count++

DisplayData[0]=DIG_CODE[0]

DisplayData[1]=DIG_CODE[0]

DisplayData[2]=DIG_CODE[0]

DisplayData[3]=DIG_CODE[0]

DisplayData[4]=DIG_CODE[temp%10000/1000]

DisplayData[5]=DIG_CODE[temp%1000/100]

DisplayData[6]=DIG_CODE[temp%100/10]

DisplayData[7]=DIG_CODE[temp%10/1]

DigDisplay()

}

}

 I0.0按下,启动,三灯依次点亮,把网络1中T37设定的300改为30即为3s。

对于TON模块而言,有两个输入和两个输戚孝出,IN:布尔值没做(上升沿启动定时器,下降沿重置定时器),PT:时间类型(定时的时间间隔),Q:布尔值(当到达定时时间,则为TRUE),ET:时间类型(周期内用掉的枯仔衡时间)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12333930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存