微控制器拍板开关
出处:维库电子市场网 发布于:2024-04-16 16:38:24 | 367 次阅读
信号由麦克风捕获并由晶体管 (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 用于调试代码并帮助了解软件的工作原理。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。