دوستان سلام من از یک کتاب برنامه قطب نما با ماژول CMPs03 رو دیدم ، اما چون این ماژول گران قیمت هست به جاش ماژول GY-271 را از ECA خریدم ، حالا ظاهرا این ماژول با این برنامه راه اندازی نمیشود ! (مگه چه فرقی داره هر دو تاش با پروتکل دو سیمه وصل میشن اما این ماژول ارزون قیمته امکاناتش کمتره ) برنامه رو گذاشتم اما یک سری اطلاعات از http://www.electrodragon.com/w/index.php?title=HMC5883L_Three-Axis_Compass_Magneticfield_Module در باره ی این ماژول گرفتم ولی نفهمیدم !
دیتا شیت ماژول GY-271
http://bit.ly/1fjrurf
سورس برنامه قطب نما با ماژول CMPS03
http://bit.ly/1fjrBTU
دیتا شیت ماژول GY-271
http://bit.ly/1fjrurf
سورس برنامه قطب نما با ماژول CMPS03
http://bit.ly/1fjrBTU
کد:
#include <mega16.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
// I2C Bus functions
#asm
.equ __i2c_port=0x18 ;PORTB
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <i2c.h>
// Alphanumeric LCD Module functions
#include <alcd.h>
unsigned char compass_data;
void compass_read(void);
void main(void)
{
char str[20],str1[20];
float point;
// TWI initialization
// TWI disabled
TWCR=0x00;
// I2C Bus initialization
i2c_init();
// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTD Bit 0
// RD - PORTD Bit 1
// EN - PORTD Bit 2
// D4 - PORTD Bit 4
// D5 - PORTD Bit 5
// D6 - PORTD Bit 6
// D7 - PORTD Bit 7
// Characters/line: 16
lcd_init(16);
while (1)
{
compass_read();
point=(float)compass_data*1.41176;
ftoa(point,1,str1);
sprintf(str,"point:%s ",str1);
lcd_gotoxy(0,0);
lcd_puts(str);
if (point<45 || point>315)
{
lcd_gotoxy(5,1);
lcd_putsf("NORTH");
}
else if (point<135 && point>=45)
{
lcd_gotoxy(5,1);
lcd_putsf("EAST");
}
else if (point<215 && point>=135)
{
lcd_gotoxy(5,1);
lcd_putsf("SOUTH");
}
else if (point<315 && point>=215)
{
lcd_gotoxy(5,1);
lcd_putsf("WEST");
}
delay_ms(100);
};
}
void compass_read()
{
i2c_start();
i2c_write(0xC0);
i2c_write(0x01);
i2c_start();
i2c_write(0xC1);
compass_data=i2c_read(0);
i2c_stop();
}




oo: این ماژول مگر با اون ماژولیکه گرفتم چه فرقی داره که اذیت میکنه ؟











دیدگاه