ماژول ahrs نه محوره bno055 دارای فیلتر کالمن ( دقت اندازه گیری 0.01 درجه )
ماژول ahrs نه محوره bno055 دارای فیلتر کالمن ( دقت اندازه گیری 0.01 درجه )
نرم افزار ویندوز
نمونه کد آردوینو
سلام،این برنامه ای که برای تست ماژول قرار دادین به نظر مشکل داره،چون اصلا خروجی نمیده...
اگه امکان داره یه توضیح کوتاه در مورد راه اندازی ماژوال بدید و در صورت امکان شماتیک هم قرار بدین...متشکر
سلام برنامه ی دیگه ایی قرار دهید. تشکر
سلام هرکاری میکنم چیزی نشون نمیده اگه کسی کدی داره برای اردینو بزاره تشکر.
سلام دوستان،بلاخره بعد از کلی سر و کله زدن با این سنسور تونستم راه بندازمش...
اگه میخواید از نرم افزار خود سنسور استفاده کنید که بخش گرافیکی هم داره،باید حتما از یه مبدل usb به ttl استفاده کنین و بادریت هم ححتما باید روی 115200 باشه...(بلافاصله بعد نصب شروع به کار میکنه)
اما اگه بخواید از آردوینو برا راه اندازیش استفاده کنین،باید حتما آردوینویی داشته باشین که حداقل 2 تا پورت سریال داشته باشه(یکی برای ارتباط با سنسور و یکی برای دیدن مقادیر سنسور در آردوینو)
مثلا mega2560 خیلی خوبه و من با این برد سنسور رو تست کردم...
و این که باید از کد زیر بدون هیچ کتابخونه ای استفاده کنین:
(کپی و پیست و ران کردن برنامه)
unsigned char Re_buf[30],counter=0;
unsigned char sign=0;
float ROLL,PITCH,YAW;
float Q4[4];
void setup() {
Serial.begin(115200);
Serial1.begin(115200);
delay(1);
Serial1.write(0XAA);
Serial1.write(0X38);
Serial1.write(0XE2);
}
void loop() {
unsigned char i=0,sum=0;
int16_t DATA[7];
if(sign)
{
for(i=0;i<19;i++)
sum+=Re_buf[i];
if(sum==Re_buf[i] )
{
DATA[0]=(Re_buf[4]<<8)|Re_buf[5];
DATA[1]=(Re_buf[6]<<8)|Re_buf[7];
DATA[2]=(Re_buf[8]<<8)|Re_buf[9];
DATA[3]=(Re_buf[10]<<8)|Re_buf[11];
DATA[4]=(Re_buf[12]<<8)|Re_buf[13];
DATA[5]=(Re_buf[14]<<8)|Re_buf[15];
DATA[6]=(Re_buf[16]<<8)|Re_buf[17];
YAW= (float)((uint16_t)DATA[0])/100;
ROLL=(float)DATA[1]/100;
PITCH= (float)DATA[2]/100;
Q4[0]= (float)DATA[3]/10000;
Q4[1]= (float)DATA[4]/10000;
Q4[2]= (float)DATA[5]/10000;
Q4[3]= (float)DATA[6]/10000;
Serial.print("RPY: ");
Serial.print( ROLL);
Serial.print(",");
Serial.print( PITCH);
Serial.print(",");
Serial.println( YAW);
Serial.print("Q4: ");
Serial.print( Q4[0]);
Serial.print(",");
Serial.print( Q4[1]);
Serial.print(",");
Serial.print( Q4[2]);
Serial.print(",");
Serial.print( Q4[3]);
Serial.print(";");
sign=0;
}
}
}
void serialEvent() {
while (Serial1.available()) {
Re_buf[counter]=(unsigned char)Serial1.read();
if(counter==0&&Re_buf[0]!=0x5A) return;
counter++;
if(counter==20)
{
counter=0;
sign=1;
}
}
}
سلام
rx و tx رو به چی باید وصل کنیم؟
tx رو وصل کن به GND و rx رو هم وصل کن به 220V!! یعنی واقعا نمیدونی؟!!!
سلام دوستان
توی توضیحاتش نوشته Output update frequency 100HZ,
ولی من نهایتا 30Hz میگیرم
واسه شما هم همینطوره؟!