旋转LED——飘在空中的文字
2012-09-04
章健(闪电侠)
标签: LED 单片机

一.效果:

二.整体结构:

三.制作方法:

1.电机的改装

电路的供电和LED

的定位是本制作的一个难点。装在电机上的电路始终在高速旋转,我们就无法使用通常的方法来给电路供电。但我们可以通过对电机的改造来解决。我们都知道,一般的直流电机是线圈作为转子,而永磁体作为定子的。他是通过电刷来实现给线圈供电的,而且直流电机的旋转需要交变的电流,这是由固定在转子轴上的换向器来巧妙的实现直流变为交流的。我们的电路是固定在电机的转子上的,它和转子是保持相对静止的。因此,我们可以从电机的转子中取得电源。方法很简单,也就是从电机的换向器上用漆包线把电引到电路板上,经整流,滤波后给单片机电路供电。换向器上的每个电极什么时候变化,是和电机转子的位子有关的,我们正好可以使用其中的一路信号来给LED

显示的起始位置定位。

具体改装过程如下:

1)拆开电机(我使用的是录音机上的12V直流电机),注意拆的时候别弄坏了电机的电刷!

2)小心地从电机换向器上的三个电极引出三条漆包线

(由于我改装到这步时忘了拍照了,此图略)

3)取下电机外壳的含油轴承

4)我用原来装在电机上的皮带轮试了一下,正好可以放进拆掉含油轴承的地方,而且可以和外壳之间灵活旋转(运气不错!大家也可以试试别的)。于是我在这个上面钻了几个小孔,把那三条漆包线从小孔里穿出来。从而可以用来保护漆包线在转子和定子结合出的安全。(注意:替代上去的部分是和转子保持固定,和外壳之间是可以旋转的)。

5)组装回整个电机,电机改装至此结束

2.电路

电路结构的安排见上面整体结构图,需要注意的是要安排好电机轴两边的电路重量尽量相近。

3.程序

程序很简单,我这里给出一个C51

的示例程序,大家可以按自己的需要来改,做成旋转时钟等什么的。

/*******************************************************************
名称:旋转LED
作者:章健
日期:2006.1.5
*******************************************************************/
#include<REG2051.H>
#define
uchar unsigned char
void delay();
uchar
zimo[16] = {0xff, 0x7d, 0x00, 0x7d, 0xff, //字母“I”
            0xc7, 0x83, 0xc1, 0x83, 0xc7, //心形图案
            0xff, //用来搁开心形图案和字母U
            0x03, 0xfd, 0xfd, 0xfd, 0x03
           };
//字母“U”
//0xc9,0xb6,0xb6,0xb6,0xc9};
void main()
{
    TCON |= 0x01; //外部中断0,下降沿触发
    IE = 0x81; //开中断
    while (1);
}
//延时子程序,延时长短请根据的你的电机转速进行调整
void delay()
{
    uchar j;
    for (j = 0; j < 255; j++)
    {;}
}
//中断处理
void display() interrupt 0
{
    uchar i;
    for (i = 0; i < 16; i++) {
        P1 = zimo[i];
        delay();
    }
    P1 = 0xff;
}

四.最后祝大家制作成功!

可能会用到的工具/仪表
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号