5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 9061|回复: 23
打印 上一主题 下一主题

DIY寻机BB响,finder

[复制链接]
跳转到指定楼层
楼主
发表于 2015-10-10 16:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
新学单片机,现学现卖,程序是参考了摩友的,自己小改了一下。


三极管可能有误





先弄3个试试

8050不够了


----------------------------------------------------------------------------------
//STC15F104W晶振选择12M.
//说明:1000us=1ms,1500=1.5ms,2000=2.0ms.
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sfr AUXR = 0x8E;
unsigned int a=0;
sbit spk=P3^3;//为了方便布线,可改变IC的引脚3.1/3.0
bit HL;

void Timer0Init(void)               
{
        AUXR &= 0x7F;               
        TMOD &= 0xF0;       
        TL0 = 0x00;               
        TH0 = 0x00;               
        TF0 = 0;       
        TR0 = 0;               
}
/*1MS为单位的延时程序*/
void delay(uint x)
{
    uchar j;
    while(x--){
        for(j=0;j<125;j++)
            {;}
        }   
}
void main()
{   
    EA   = 1;
        INT0 = 1;
        EX0  = 1;
        IT0  = 0;                    
    Timer0Init();
    while(1)
        {  
                         if(a>1480&&a<1520)//调整里面的数值,改变摇杆位置,大小范围可百度参考舵机驱动数值的范围。
                         {
                          uint i;
                          for(i=600;i<2000;i=i+300)
                          {
                          spk = 0;
                          delay(i);//改变i的大小可以改变响声
                          spk = 1;
                          delay(i);
                          spk = 0;
                          delay(i);
                          spk = 1;
                          delay(i);
                          }
                         }
                         else spk=0;//不响
        }
}

void INT_0 (void) interrupt 0  using 2
{
   HL = INT0;
   if(HL==1)
   TR0 = 1;
   if(HL==0)
   {
           TR0 = 0;
           a   = TH0;
           a   = a*256+TL0;
           TL0 = 0x00;
           TH0 = 0x00;
   }
}

--------------------------------------------------------
参数需要使用的时候再进行具体调整

160540dr9d9xslzsbql1ds.jpg (45.87 KB, 下载次数: 205)

160540dr9d9xslzsbql1ds.jpg

160540zqfbfp20zcxxgj0w.jpg (73.86 KB, 下载次数: 196)

160540zqfbfp20zcxxgj0w.jpg

评分

参与人数 1威望 +2 收起 理由
Unkow + 2 很给力!

查看全部评分

欢迎继续阅读楼主其他信息

沙发
发表于 2015-10-10 16:54 | 只看该作者
动手能力强,咋个用法
3
发表于 2015-10-10 17:14 | 只看该作者
利害,很敬佩有動手能力自寫自制电子元件玩机的人!
4
发表于 2015-10-10 17:14 | 只看该作者
利害,很敬佩有動手能力自寫自制电子元件玩机的人!
5
发表于 2015-10-10 17:17 | 只看该作者
该设备的原理是否是没有遥控信号后,该设备就发出声响?
6
发表于 2015-10-10 18:19 | 只看该作者
我也想过自己做,但最后还是没动手。。。
7
发表于 2015-10-10 18:26 | 只看该作者
本帖最后由 q748169667 于 2015-10-10 18:29 编辑

我的想法是让BB响单独工作,x宝上卖的基本上是要和舵机相连然后工作,我怕万一BB响坏了影响舵机工作。。。所以想单独接动力电工作~可以分5分钟后响的,10分钟后响的。。。。或者根据用户自定义时间,不过在x宝上我看到可以用遥控器通道控制的,貌似还有灯光。。。不过略贵。。。对了~关键是声音要尖,要响!不然白搭~~

8
 楼主| 发表于 2015-10-10 18:51 | 只看该作者
q748169667 发表于 2015-10-10 18:26
我的想法是让BB响单独工作,x宝上卖的基本上是要和舵机相连然后工作,我怕万一BB响坏了影响舵机工作。。。 ...

我这个是并在某个通道上的。什么时候响就看你怎么设置。比如想要在通道为50%的时候响,通道设50%,调整程序里面的数值直到能响。

9
发表于 2015-10-10 22:07 | 只看该作者
请问,孔是如何打的?
10
发表于 2015-10-10 22:27 | 只看该作者
建议学会用定时器,可以利用该单片机的定时器2给蜂鸣器产生驱动频率,这样蜂鸣器就不会受while内部程序的长度影响,方便在while里面添加其它判断。
11
发表于 2015-10-17 20:48 | 只看该作者
不懂电路,学习
12
发表于 2015-10-21 09:31 | 只看该作者

13
发表于 2015-10-31 20:55 | 只看该作者

14
发表于 2015-11-2 13:20 | 只看该作者
15
发表于 2015-11-2 20:49 | 只看该作者
这不是电子CAD么    电容  二极管  三极管  电阻....  我学这专业的
16
发表于 2015-11-2 20:50 | 只看该作者
大神啊  能加个QQ吗?  沟通沟通  以后有啥问题请教里  我今年才学这个的

17
发表于 2015-11-18 15:20 | 只看该作者
牛人佩服
18
发表于 2015-12-17 16:50 | 只看该作者
利害,很敬佩有動手能力自寫自制电子元件玩机的人!
19
发表于 2015-12-18 17:29 | 只看该作者
我用SOT23的MOS管来控制蜂鸣器,不吃IO口电流,不用考虑单级三极管放大倍数不足问题,因为还集合电压检测&低压报警功能,IO口电流大影响单片机ADC精度。

20
发表于 2016-4-2 14:48 | 只看该作者
skypup 发表于 2015-10-10 22:07
请问,孔是如何打的?

一般的单双面板自己做的话, 都可以用小的台转打孔, 手持式电转也行, 就是不太稳.

评分

参与人数 1威望 +2 收起 理由
skypup + 2 感谢分享经验。

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表