微控制器拍板开关

出处:维库电子市场网时间:2024-04-16
  硬件非常简单,只有一个微控制器、一个驻极体麦克风、一个继电器和一些分立元件。微控制器是该项目的大脑,我使用了 atmega8,因为它是我可用的。
  信号由麦克风捕获并由晶体管 (BC548) 放大,该信号通过低通滤波器去除高频并进入 mega8 ADC。为了使电路简单,仅使用一个晶体管进行信号放大。两个按钮用于提高或降低信号的灵敏度。您可以在下面看到完整的示意图。虚线上的组件是可选的。
  该电路可以使用 7 ~ 12V 供电,并且继电器必须适合该电压。
   软件
  该软件是使用 AVR Studio 和WinAVR库用 C 语言编写的。不断读取 ADC,并将返回值与变量进行比较。如果用户按下按钮 S1 或 S2,则可以更改此变量。
  因此,用户可以增加或减少触发电路所需的信号强度。如果 ADC 的值小于变量,则不会发生任何情况,否则定时器0被激活并开始计数。每次定时器溢出时,称为定时器的变量都会递增。
  变量timer的值与三个常量burst_time、ready_time和time_out进行比较。如果变量的值等于常量burst_time,则全局变量burst的值变为1。如果定时器的值等于常量ready_time,则变量burst的值变为0,变量ready变为1。如果定时器的值等于常量ready_time,则变量burst的值变为0,变量ready变为1。time_out所有变量都变为等于 0。
  当检测到另一个拍手时,如果burst = 1,则微控制器清除所有变量并再次启动循环。如果突发 = 0且就绪 = 1,则输出会切换。
  仅当拍手与另拍手之间的时间大致正确时,继电器才会关闭,从而减少了灯意外打开或关闭的机会。

  下面的流程图有助于理解该软件。

  流动
  USART

  USART 用于调试代码并帮助了解软件的工作原理。

 

  超级终端配置

  clapper_hyperterm
上一篇:相移全桥 PWM 控制器模块 – LM5046 分线板
下一篇:带 NRF24L01 RF 模块的双操纵杆 RF 远程发射器 – 2 个操纵杆控制

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关电路图