#include
// SPI functions
#include
// Alphanumeric LCD functions
#include
#include
#include
#include
#include
#include
// Declare your global variables here
Const int Data_rate[] = {0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F};
//600Hz,300Hz,150Hz,75Hz,37Hz,18Hz,9Hz,4.5Hz,2.3Hz,1.2Hz,.6Hz,.3Hz,.015Hz,.075Hz//
//0 1 2 3 4 5 6 7 8 9 10 11 12 13
uint8_t Status=0x00,i,mag[9],page=0;
uint8_t Status_add=0xB4;
int32_t x,y,z;
char x_ch[8],y_ch[8],z_ch[8],sta[8];
float norm;
void uart_putchar(char );
void cycleCount(uint8_t,uint8_t) ;
void reg_write(uint8_t,uint8_t ) ;
uint8_t reg_read(uint8_t );
void uart_print(char *st);
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRA=(0<
سلام
آیا میشود سنسور flc 100 جایگزین سنسور فوق کرد وباید چه تغیراتی را اعمال کرد
با سلام و احترام
خیر امکان پذیر نیست.
سلام. وقت بخیر. ضمن تشکر از آموزش خوبتون …
من این سنسور رو از سایت شما تهیه کردم و سعی داشتم با استفاده از اردوئینو راه اندازیش کنم. علی رغم تلاش بسیار، با اینکه مقادیر رو طبق دیتاشیت در رجیسترهای مربوطه مینویسم و سیکل خواندن و نوشتن رجیسترها رو هم رعایت میکنم (هم خودم کدزدم هم از کدهای اماده استفاده کردم مثل لینک https://github.com/hnguy169/RM3100-Arduino ) سنسور DRDY رو یک نمیکنه (به این معنی که داده امادست) و داده خوانده شده از رجیسترهای هر محور مقدار صفر هست کلا.
از آموزش بالا هم کمک گرفتم و روی ATMEGA8 پیاده کردم کد بالا رو اما اعداد نمایشی برای هر سه محور صفر هستند.
علت رو متوجه نمیشم …
کسی میتونه راهنمایی کنه؟
ضمنا سعی کردم موارد فوق رو با I2C هم انجام بدم. اما علی رغم ادرس دهی درست سنسور، برنامه I2C SCANNER اردوئینو سنسور رو پیدا نمیکنه …
در ادامه پیام قبل باید بپرسم که اصلا مطمئن هستین که این ماژول I2C رو پشتیبانی میکنه؟ به نظر اون ماژولی که علاوه بر I2C، SPI هم داره ماژولی هست که خود شرکت PNICORP زده (که چاپ مشکی داره و کمی هم بزرگتره)، چون پایه I2C ENABLE تراشه اصلی رو ( تراشه MAGI2C) رو بیرون اورده تا کاربر بتونه اینترفیس ارتباطی رو انتخاب کنه. اما این ماژول (که چاپ سبز داره و کوچکتره) چنین پایه ای رو، روی کناره های PCB نداره بدین معنی که طراح بورد پایه I2C ENABLE تراشه اصلی رو ( تراشه MAGI2C) یا به زمین یا به VCC وصل کرده.
ضمنا من بررسی کردم فروشنده های خارجی که این ماژول رو (به شکل تصویر) میفروشن صرفا SPI رو قید کردن به عنوان اینترفیس.