手机蓝牙控制氛围灯 (手机蓝牙控制led显示屏)

概述

蓝牙广州塔,受音乐控制的小蛮腰,能随音乐翩翩起舞,无线遥控,蓝牙*放播**音乐,25种动画,采用插件底板,为节省时间有的从网上买的模块

说明:因为大都是从网上买的模块拼接的,所以其实没有什么技术难度,就是写代码稍微有些难度。

直接上实物图

手机蓝牙控制led,手机蓝牙控制氛围灯

手机蓝牙控制led,手机蓝牙控制氛围灯

手机蓝牙控制led,手机蓝牙控制氛围灯

手机蓝牙控制led,手机蓝牙控制氛围灯

手机蓝牙控制led,手机蓝牙控制氛围灯

一、主板调试

1、焊接检查

(1)虚焊短接这方面需要自己检查,请亲耐心检查哦!

(2)注意芯片的方向为芯片1号脚和缺口方向,焊反将直接烧坏芯片,请看下面箭头指示!

(3)供电检查,用万用表的电压档接到丝印为x,测试VCC,GND之间是否短路,是否为5V左右。若供电正常。

2、驱动电路检查

(1)简单测试

拿一个LED,长脚接在J17到J32任意一孔,短脚接到旁边一圈的任意一孔,通电,LED有发光效果,说明单片机,驱动电路大概正常。

(2)具体测试

根据制作步骤,制作出广州塔塔身第一层LED,层焊接上一根跳线,将制作好的LED,直接插进J1到J16,不用焊接,直接插进去有接触就行了,通电,跳线一端焊接在层,另一端依次接触到J17到J25,层的LED有变化,说明J1到J32输出正常,没有虚焊或者短路。测试的过程中,如果发现接到J17到J32中的任意输出时,没反应,说明相应的输出连接到芯片端有虚焊,请参考原理图对相应的输出进行补焊。比如,我们发现,接到J18的时候,层的LED一点没反应,这个时候,通过原理图,我们知道J18是连接到单片机的38脚,我们要对单片机的38脚进行补焊。出现类似问题,都用这个方法排查!

4、LED好坏检查

(1)每个LED重复驱动电路检查中的(1)简单测试,这种方法是利用主板将每个LED测试完成。

(2)利用万用表测试,将万用表拨到通断档或者LED测试档,总之是测试LED的档,红表笔接LED的正极,黑表笔接负极,LED能发光的说明LED是好的。

5、塔身有些层不亮

(1)遥控进入调试模式的,竖调试

(2)仔细观察之前灯不亮的那一层,在这个模式下到底哪颗灯不亮,换掉它即可。

单片机源程序参考C代码:

#include <stc12c5a60s2.h>

#define uchar unsigned char

#define uint unsigned int

#define LongToBin(n) (((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01))

#define BIN(n) LongToBin(0x##n##)

sbit anjian=P4^5;

sbit P0_0=P0^0;//层

sbit P0_1=P0^1;

sbit P0_2=P0^2;

sbit P0_3=P0^3;

sbit P0_4=P0^4;

sbit P0_5=P0^5;

sbit P0_6=P0^6;

sbit P0_7=P0^7;

sbit P4_6=P4^6;

sbit P1_1=P1^1;

sbit P1_2=P1^2;

sbit P1_3=P1^3;

sbit P1_4=P1^4;

sbit P1_5=P1^5;

sbit P1_6=P1^6;

sbit P1_7=P1^7;

sbit P3_0=P3^0;//竖

sbit P3_1=P3^1;

sbit P3_2=P3^2;

sbit P3_3=P3^3;

sbit P3_4=P3^4;

sbit P3_5=P3^5;

sbit P3_6=P3^6;

sbit P3_7=P3^7;

sbit P2_0=P2^0;

sbit P2_1=P2^1;

sbit P2_2=P2^2;

sbit P2_3=P2^3;

sbit P2_4=P2^4;

sbit P2_5=P2^5;

sbit P2_6=P2^6;

sbit P2_7=P2^7;

sbit P4_4=P4^4;

char moshi=1;

char h=0,v=0;

int t=0;

char zy=0,sj=0,jz=0;

bit ly_flag=0; //成功接收标志

void delay_1ms(uint q)

{

uint i,j;

for(i=0;i<q;i++)

for(j=0;j<110;j++);

}

void key()

{

if(anjian==0)

{

delay_1ms(5);

if(anjian==0)

{

while(anjian==0);

jz++;

if(jz==2)jz=0;

if(jz==0){moshi=1;TR0=0;ET0=0;};

if(jz==1){moshi=0;ly_flag=1;TR0=1;ET0=1;}

}

}

}

void dh1()

{

char i,j;

P3_0=0;//J1

P3_1=0;//J2

P3_3=0;//J3

P3_4=0;//J4

P3_5=0;//J5

P3_6=0;//J6

P3_7=0;//J7

P2_0=0;//J8

P2_1=0;//J9

P2_2=0;//J10

P2_3=0;//J11

P2_4=0;//J12

P2_5=0;//J13

P2_6=0;//J14

P2_7=0;//J15

P4_4=0;//J16

P1_7=0;

P1_6=0;

P1_5=0;

P1_4=0;

P1_3=0;

P1_2=0;

P1_1=0;

P4_6=0;

P0=0X01;

delay_1ms(10);

for(j=0;j<7;j++)

{

P0=(P0<<1)|0x01;

delay_1ms(10);

}

P4_6=1;

delay_1ms(10);

P1_1=1;

delay_1ms(10);

P1_2=1;

delay_1ms(10);

P1_3=1;

delay_1ms(10);

P1_4=1;

delay_1ms(10);

P1_5=1;

delay_1ms(10);

P1_6=1;

delay_1ms(10);

P1_7=1;

for(i=0;i<2;i++)

{

P1_7=0;

…………限于本文篇幅 仅能写部分代码…………

最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,

如果需要 完整代码或设计文件,请在下方留言或者私信我,看到后会第一时间回复。

谢谢!、虽然是现成模块拼接的但是做出来效果还是不错的,喜欢的小伙伴可以试一下哦!

喜欢请评论转发加关注哦!