这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 风语者1991的功放DIY进程帖

共8条 1/1 1 跳转至

风语者1991的功放DIY进程帖

工程师
2015-04-07 10:45:28     打赏

3月20多号下单,但是多日都没发货,后来看到老王的帖子说深圳的商家没货了,就申请退款,打谁从北京发货的,结果第二天退款被取消了,商家发货了。收到货后,已经快到清明了,趁着放假前在公司把东西焊接出来。

刚收到货,忘拍照了,焊接了一块芯片才想起。


再来张TPA3110的特写



接下来是LM4811



再是单片机



整体合照



接下来是焊接的半成品



经过几天的间断焊接,终于搞定了。在公司只能使用下班时间焊接一会儿了。



在公司就是不方便,缺这样少那样,没办法了,只能找到一个这样的喇叭焊上去了,下次找到好的再换上吧



焊接完后,试了下,一切OK,就是声音太小,看来还是要替换喇叭啊。

这次清明去广州参加一个专业灯光、音响展览,看到那些音响、喇叭,只能徒羡慕了。


再来张特写





关键词: 功放DIY    

菜鸟
2015-04-20 22:57:32     打赏
2楼
我的板子程序烧写成功了。。但是接一个喇叭就是不出声啊 。而且板子也不发烫。。怎么回事啊。。求解释

工程师
2015-04-27 08:39:17     打赏
3楼
是烧的别人的测试程序还是自己写的?首先要保证程序要正确哦。

高工
2015-04-29 13:06:44     打赏
4楼


板子发热,查检是不 是有哪 些地方没焊好或焊错了。


工程师
2015-05-21 18:48:01     打赏
5楼

前段时间在外面实习,手头上没资源。现在趁回学校毕业答辩的空闲把这个东西给结掉。废话不多说,直接上视频,拍照技术不行,大神勿喷啊!



视频地址:http://player.youku.com/player.php/sid/XOTYwOTIzNDE2/v.swf

工程师
2015-05-21 18:55:44     打赏
6楼

没那么多时间去搞扩展功能了,就只是把基本功能完成,其它扩展功能就等以后再添加吧。

对于LM4811芯片,每次时钟的上升沿,声音提高或者降低3dB;UP/DOWN引脚为高电平时,每次上升沿,增加3dB,反之为低电平时,每次上升沿,降低3dB,下面是代码:

//音量增加函数
void Vol_Add(void)
{
    LM4811_UpDown = 1;
    LM4811_CLK = 0;
    Delay_Us(100);
    LM4811_CLK = 1;
    Delay_Us(100);
    LM4811_CLK = 0;
}
//音量减少函数
void Vol_Sub(void)  
{
    LM4811_UpDown = 0;
    LM4811_CLK = 0;
    Delay_Us(100);
    LM4811_CLK = 1;
    Delay_Us(100);
    LM4811_CLK = 0;
}

主函数部分:

void main(void)
{
    unsigned char System_Vol = 11;  //系统音量
    unsigned char Shadow_Vol = 0;   //影子音量
    unsigned char IR_EN = 0;
    unsigned char Key_Val = 0;
    unsigned int System_Time = 0;   //系统运行一遍,变量加1
    UART_Init();
    GPIO_Config();
	Timer0_Init();
	INT0_Init();
    LED = 0;
    while(1)
    {
		if(irreceok)	//接收完成
		{
			irpros();	//解码
			irreceok = 0;
		}
        else
		if(irprosok)	//解码完成
		{
			irprosok = 0;	//显示或者发送码制
            LED = !LED;
            IR_EN = 1;
		}
        else
            IR_EN = 0;
        
        Key_Val = Read_KeyVal();    //读取按键值
                //静音
        if((IR_EN && (ircode[2] == 0x0A || ircode[2] == 0x01)) || (Key_Val & 0x01))
        {
            SendData(System_Vol);
            if(System_Vol != 0)
            {
                Shadow_Vol = System_Vol;    //将系统音量值存入影子音量
                System_Vol = 0;
            }
            else
            {
                System_Vol = Shadow_Vol;    //将影子音量恢复到系统音量值
                Shadow_Vol = 0;
            }
            
        }
        else    //音量+
        if((IR_EN && (ircode[2] == 0x06 || ircode[2] == 0x0E)) || (Key_Val & 0x02))
        {
            
            SendData(System_Vol);
            if(System_Vol < 15)
            {
                System_Vol ++;
                Vol_Add();                            
            }
            System_Time = 0;
        }      
        else    //音量—
        if((IR_EN && (ircode[2] == 0x04 || ircode[2] == 0x09)) || (Key_Val & 0x04))
        {
            if(System_Vol > 0)
            {
                System_Vol--;
                Vol_Sub();
            }
            SendData(System_Vol);
            System_Time = 0;
        }
        
        if(System_Vol == 0 || CHECK == 0)   //静音以及插座退出

        {
            MUTE = 1;
            if(System_Time % 10 == 0)
            {
                LED = !LED;
            }
        }
        else        //返回非静音状态
        {
            MUTE = 0;
            
            if(System_Vol == 15)
            {
                if(System_Time % 20 == 0)
                {
                    LED = !LED;
                }
            }
            else
            if(System_Time % 70 == 0)
            {
                LED = !LED;
            }
        }     
        Delay_Ms(10);
        System_Time++;        
    }
}

 

 




工程师
2015-05-21 18:59:55     打赏
7楼
设想:能不能控制电脑切歌?已知利用PS2协议是可以的,按下遥控器下一首、上一首、暂停按键,电脑播放下一首、上一首或者暂停歌曲。但是,能够通过串口控制吗?

院士
2015-05-22 21:59:10     打赏
8楼
这个功放与电脑通过usb转TTL线连接了,可以实时控制电脑的播放器吗?

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]