找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8184|回复: 10
收起左侧

HMC5883L电子指南针单片机程序

  [复制链接]
ID:127035 发表于 2016-12-19 21:19 | 显示全部楼层 |阅读模式
HMC5883L电子指南针
完整的单片机源程序下载:
2014年6月7日 指南针 1602.rar (45.92 KB, 下载次数: 184)
回复

使用道具 举报

ID:1 发表于 2017-1-3 00:01 | 显示全部楼层
51黑有你更精彩!!!
回复

使用道具 举报

ID:198094 发表于 2017-5-8 14:58 | 显示全部楼层
大神您好,能帮忙解释一下如下程序中,角度值为什么这样设置吗?

angle= atan2((double)y,(double)x) * (180 / 3.14); // angle in degrees
                jiadu = angle;
                write_jiaodu(2,6,angle);        //显示角度
                if((angle >= 3380) || (angle <= 220))          //北 N
                        write_string(2,0,"  N  ");        
                if((angle >= 230) && (angle <= 670))          //东 北
                        write_string(2,0," E N ");        
                if((angle >= 680) && (angle <= 1120))          //东 E
                        write_string(2,0,"  E  ");        
                if((angle >= 1130) && (angle <= 1570))          //东 南
                        write_string(2,0," E S ");        
                if((angle >= 1580) && (angle <= 2010))          //南  S
                        write_string(2,0,"  S  ");        
                if((angle >= 2020) && (angle <= 2460))          //西 南  
                        write_string(2,0," W S ");        
                if((angle >= 2470) && (angle <= 2910))          //西  W  
                        write_string(2,0,"  W  ");        
                if((angle >= 2920) && (angle <= 3360))          //西  北  
                        write_string(2,0," W N  ");        
                delay_1ms(300);
回复

使用道具 举报

ID:198094 发表于 2017-5-8 15:02 | 显示全部楼层
大神麻烦解释一下如下程序中,东西南北角度值为何这样设呢?

angle= atan2((double)y,(double)x) * (180 / 3.14); // angle in degrees
                jiadu = angle;
                write_jiaodu(2,6,angle);        //显示角度
                if((angle >= 3380) || (angle <= 220))          //北 N
                        write_string(2,0,"  N  ");        
                if((angle >= 230) && (angle <= 670))          //东 北
                        write_string(2,0," E N ");        
                if((angle >= 680) && (angle <= 1120))          //东 E
                        write_string(2,0,"  E  ");        
                if((angle >= 1130) && (angle <= 1570))          //东 南
                        write_string(2,0," E S ");        
                if((angle >= 1580) && (angle <= 2010))          //南  S
                        write_string(2,0,"  S  ");        
                if((angle >= 2020) && (angle <= 2460))          //西 南  
                        write_string(2,0," W S ");        
                if((angle >= 2470) && (angle <= 2910))          //西  W  
                        write_string(2,0,"  W  ");        
                if((angle >= 2920) && (angle <= 3360))          //西  北  
                        write_string(2,0," W N  ");        
                delay_1ms(300);
回复

使用道具 举报

ID:204529 发表于 2017-5-24 22:37 | 显示全部楼层
貌似这个程序不好用!
回复

使用道具 举报

ID:229064 发表于 2017-9-12 19:55 | 显示全部楼层
感谢 您对资源的分享!!!!!
回复

使用道具 举报

ID:225984 发表于 2018-3-31 11:27 | 显示全部楼层
非常66666,正好用得到
回复

使用道具 举报

ID:316962 发表于 2018-5-6 17:34 | 显示全部楼层
为什么那个显示的角度不会变呢
回复

使用道具 举报

ID:326147 发表于 2018-5-9 18:12 | 显示全部楼层
有用!
回复

使用道具 举报

ID:63090 发表于 2020-4-12 13:58 | 显示全部楼层
角度竟然是固定的18度,怎么转动传感器都不会变啊,这程序有问题啊
回复

使用道具 举报

ID:348295 发表于 2020-5-11 16:50 | 显示全部楼层
请问我按上面程序载入,只显示 18度,值不会变
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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