用PIC16F676制作声控彩灯,PIC16F676 LIGHT CONTROOLER
关键字:用PIC16F676制作声控彩灯
用PIC16F676制作声控彩灯
作者:崔月
一、电路原理 电路原理如附图所示。发光二极管L1l—L4显示声音的频率。当声频为低、中、高、特高时,分别点亮L1~L4。若无声。L1—L4均熄灭。
声音幅度显示在L5~L7上。3只发光管在无声时以15秒为周期循环点亮。即每只发光管依次点亮5秒。当有声时。循环点亮周期减少,声越大周期越短。
IC2为PICl6F676单片机。主时钟采用内部的自带4MHz振荡器。Ic2的⑩脚为计数输入。
把IC1l放大的声音信号经R4、V1送入该脚。在单位时间里,IC2计数越多,表示声频越高,反之,声频就低。同时,声音经Dl检波,C2、R3积分,在IC2的(12)脚得到的电压便可反映出声幅的大小。此电压经单片机内部A/D转换成数据处理后,去改变L5~L7的循环点亮周期。由于IC2的(12)脚只需要声音的上半周,所以,用于将驻极体话筒MIC的信号放大的运放IC1在电路设计时,只放大上半周声音信号。为了使IC1的⑦脚在无信号时,能有0.6V电压,以便给D1一个起始导通电压。所以加入了D2。这样,小信号时,IC2的(12)脚也能采集到信号电压。
二、编程思路 TMR1为计时器。TMR0在TMR1计时时,开始对IC2的⑩脚计数,所计值多少,反映出声频的高低。L5~L7依次点亮的时间用软件查询,查询次数又受控于A/D值的大小。为增强L5~L7点亮的动感。在程序中还插入一段程序。用于判别目前A/D值与前一次MD值的大小。若值大。则将下一个灯点亮。并让软件查询重新开始。
三、调试步骤 在确保IC2外围电路正常后。通电几十秒,保持外界无声音,将图中的“调试点”短路。让IC2复位脚与GND短路一下。此时,L1~L4全部点亮;拆除“调试点”短路,重新上电,调试完成。以上调试过程,是让IC2记住在无信号时其(12)脚的电压值,并将此值存进内部的EEPROM中。以后IC2所测的A/D值都将减去该电压值后才去进行数据处理。
四、视听感受 L1~L4采用超高亮发光二极管。颜色分别为白、红、绿、蓝。L5~L7只为了调试时用。所以颜色可随便选择。RL1~RL3为彩灯串,将彩灯串摆成“T”字形。让音乐响起,超高亮发光二极管照在室内的白色墙面上,其颜色随音乐节奏而变,很有动感;3串彩灯随音乐相互追逐,很好看。如果亮度不够,可以增加几个。附图中采用4只三极管作射随。就是为增加发光二极管准备的。
|