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

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

大家齐动手,跟我来做头部运动传感器。终于成功了,感谢Gale兄的辛苦!

[复制链接]
21
发表于 2008-5-9 20:08 | 只看该作者
这玩意,干吗用?~很感兴趣~

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

22
发表于 2008-5-9 23:43 | 只看该作者
我晕,程序都出来了阿

gale快放出来,我液晶眼镜都到了
23
 楼主| 发表于 2008-5-10 13:26 | 只看该作者
别着急别着急,我的板子还没寄出去呢,总得调试调试吧!
24
发表于 2008-5-10 14:53 | 只看该作者

这个传感器的输出电压线性如何啊?

以前买过一种传感器
线性不是太好
表现就是控制舵角左大右小      不对称啊
25
发表于 2008-5-10 16:02 | 只看该作者
原帖由 gale 于 2008-5-9 16:07 发表


谁说我正在琢磨啊?这个程序有啥子好琢磨的?赶紧发过来给我调试吧。我担心TINY不够用。。。


效率高啊,支持一下!!!!:em15:
26
发表于 2008-5-10 17:25 | 只看该作者
似乎:em22: 这个东西很早以前海豹就做过了。还有视频的。在MOVFILE上面
27
发表于 2008-5-10 18:22 | 只看该作者
要不停地动头吗?
28
 楼主| 发表于 2008-5-11 09:49 | 只看该作者
原帖由 ATF 于 2008-5-10 17:25 发表
似乎:em22: 这个东西很早以前海豹就做过了。还有视频的。在MOVFILE上面

能否给个链接??
29
 楼主| 发表于 2008-5-11 10:03 | 只看该作者
原帖由 110351538 于 2008-5-10 18:22 发表
要不停地动头吗?

:em15: :em15: :em15:
30
发表于 2008-5-11 22:20 | 只看该作者
原帖由 xunicheng 于 2008-5-11 09:49 发表

能否给个链接??

是啊,有人做过我就不做了,偶喜欢创新,不喜欢跟风。。。:em05:
31
 楼主| 发表于 2008-5-12 10:57 | 只看该作者
原帖由 gale 于 2008-5-11 22:20 发表

是啊,有人做过我就不做了,偶喜欢创新,不喜欢跟风。。。:em05:

别啊,有人做过了,可没人发出来分享啊,造福模友的事情,坚持啊!你调好了,我就开送板子,嗬嗬!
32
发表于 2008-5-12 11:23 | 只看该作者
原帖由 xunicheng 于 2008-5-12 10:57 发表

别啊,有人做过了,可没人发出来分享啊,造福模友的事情,坚持啊!你调好了,我就开送板子,嗬嗬!

你有条件开板,不如搞一些这个东西造福大家?
http://bbs.mx3g.com/viewthread.php?tid=18443
33
 楼主| 发表于 2008-5-12 14:12 | 只看该作者
原帖由 gale 于 2008-5-12 11:23 发表

你有条件开板,不如搞一些这个东西造福大家?
http://bbs.mx3g.com/viewthread.php?tid=18443

不搞,不上你的当,万一N多不懂电子的哥们搞了去,我岂不是要被搞死啊。

FPV这个东东做做还可以,线路简单,需要的又不多,基本还能搞定:em15:
34
发表于 2008-5-13 19:41 | 只看该作者
LZ,东西收到了!
35
发表于 2008-5-13 21:04 | 只看该作者
关注,顶一下,gale和lz加油啊
36
发表于 2008-5-13 21:30 | 只看该作者
终于搞定了ISP,NND,一根线焊错了,查了好久。接着开始写程序,刚开头。。。晕,LZ把电压接到6脚了,这个脚可没有ADC功能啊,又要割线飞线了。。。


[ 本帖最后由 gale 于 2008-5-13 21:42 编辑 ]
37
 楼主| 发表于 2008-5-13 22:18 | 只看该作者
嘿嘿嘿,不好意思,布板的时候随手一画…………
38
发表于 2008-5-13 22:32 | 只看该作者
写了一段小程序,基本原理验证过了,现在LED的闪烁占空比跟着Vs1走,转动传感器可以看到LED亮度在变化。
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
typedef unsigned char BYTE;
typedef unsigned int  WORD;
typedef unsigned long DWORD;
#define LEDON()  (PORTB&=~0X10)
#define LEDOFF() (PORTB|=0X10)
#define VS1   1  //ADC1
#define VS2   3  //ADC3
/////////////////////////////////
//延时c个10ms
//如在延时期间有按键按下,则立刻返回1
//否则到时间返回0
void Delay10ms(WORD c)
{
while(c--)
{
  BYTE i,j;
  for(i=0;i<140;i++)
   for(j=0;j<6;j++);
}
}
void Delay1ms(WORD c)
{
while(c--)
{
  BYTE i,j;
  for(i=0;i<14;i++)
   for(j=0;j<6;j++);
}
}
void Delay(WORD c)
{
while(c--)
{
  BYTE i,j;
  for(i=0;i<10;i++);
}
}
int main(void)
{
WORD Vs1,Vs1N;
//关闭中断
cli();
//设置端口
DDRB=0x010;   //端口B 管脚3输出,其他都是输入
//打开ADC
//ADMUX bit6=0->Vref=Vcc bit6=1->Vref=1.1
ADCSRA=(1<<ADEN)|0x06; //使能ADC,时钟64分频      
ADMUX=VS1;     //切换到通道1
ADCSRA|=(1<<ADSC);  //启动第一次AD转换
while(1)
{
  if(ADCSRA&(1<<ADIF)) //如果一次转换结束
  {
   ADCSRA|=(1<<ADIF); //写1清除标志位
   Vs1=ADC;   //读取结果
   Vs1N=1024-Vs1;
   ADCSRA|=(1<<ADSC); //启动下一次AD转换
  }
  LEDON();
  Delay(Vs1>>4);
  LEDOFF();
  Delay(Vs1N>>4);
}
}
39
发表于 2008-5-13 22:38 | 只看该作者
顺便说一句,严重怀疑TINY13能够装下整个程序,现在用了最大尺寸优化已占166字节空间,还有角度加速度计算(乘法啊!),PPM分析与重构。。。

建议LZ赶紧用MEGA8重新做板吧。。。
40
 楼主| 发表于 2008-5-13 23:05 | 只看该作者
gale兄,先试试吧!!tiny13管脚少啊,实在不行再搞mega8,你画图我布板做PCB。呵呵。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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