معرفی آی سی ADXL345
این آی سی یکی از سنسورهای شتاب سنج دیجیتال ( Digital Accelerometer ) معروف است که برای تعیین شتاب و زاویه برای سه محور x , y و z و دقت قابل برنامه ریزی ۲±، ۴±، ۸± و ۱۶± (g) می باشد و در انواع پروژه های دانشجویی ، صنعتی ، پزشکی و … به کار می رود . این سنسور هر دو حالت شتاب دینامیک و شتاب استاتیک را اندازه گیری می نماید. بدین معنی که شتاب استاتیک گرانش در کاربردهایی مثل اندازه گیری زاویه کجی(tilt) و همچنین شتاب دینامیک حاصل از حرکت یا تکانهای ناگهانی، در این سنسور قابل اندازه گیری است. همچنین به دلیل ارتباط ریاضی شتاب زاویه ای در فضا با زاویه ای که در جهت محور های X,Y,Z وجود دارد ، می توان توسط این سنسور زاویه نسبت به محورها را نیز محاسبه کرد .
مشخصات سنسور شتاب سنج و زاویه سنج ADXL345
- ولتاژ تغذیه بین ۱٫۸ تا ۳٫۶ ولت
- توان مصرفی پایین: ۲۵ تا ۱۳۰ میکرو آمپر در ولتاژ تغذیه ۲٫۵ ولت
- پشتیبانی از پروتکهای SPI و I2C
- رزولوشن بالای ۱۳ بیت در بازه ۱۶g±
- قابلیت تشخیص و شناسایی single tap و Double tap
- مانیتور حالات Activity و inactivityتشخیص وضعیت سقوط آزاد
معرفی ماژول ADXL345
در این ماژول مدار مورد استفاده برای راه اندازی و استفاده از آی سی ADXL345 تعبیه شده است . ماژول های متنوعی برای آی سی ADXL345 در بازار وجود دارد که یکی از کاملترین آنها که دارای ولتاژ رگولاتور روی آن است مدل GY-291 است که در شکل زیر نیز مشاهده می کنید . بدلیل وجود رگولاتور ولتاژ 3.3 ولت ، تغذیه ماژول ۵ ولت نیز میتواند باشد. همچنین پایه های SCL و SDA در این ماژول از داخل توسط مقاومت PullUp شده است و نیازی به هیچ مقاومت اضافی ندارد.
توضیح پایه های ماژول شتاب سنج و زاویه سنج ADXL345
- پایه GND و VCC : تغذیه ماژول است که بیش از 3.3 ولت ( اکثرا ۵ ولت ) استفاده می شود .
- پایه CS : همان Chip Select است که برای استفاده از رابط I2C از داخل پول آپ شده است.
- پایه های SCL و SDA : به ترتیب سریال کلاک و سریال دیتا برای رابط I2C هستند .( پول آپ شده اند )
- از بقیه پایه ها استفاده نمی گردد.
تذکر : با اتصال پایه CS به زمین ارتباط ماژول قطع می شود و ماژول غیر فعال می گردد.
مدار داخلی ماژول GY-291 ADXL345
راه اندازی ماژول ADXL345
پس از اتصال صحیح ماژول به میکروکنترلر ، برای راه اندازی این ماژول کافی است ابتدا هدر فایل adxl345.h را پس از دانلود ، در کنار دیگر فایل های پروژه ، در پوشه ای که فایل های پروژه در آن قرار دارند کپی کنید . سپس این هدر فایل را در نرم افزار CodeVision به ابتدای برنامه خود include کرده و سپس با اضافه کردن قابلیت I2C نرم افزاری به پروژه از طریق تعریف کردن بیت های SCL و SDA و سپس اضافه کردن هدر فایل i2c.h ، ماژول را توسط توابع مربوطه که در هدر فایل تعریف شده است ، راه اندازی کنید . در پروژه ای که در زیر آورده شده است ، علاوه بر راه اندازی ماژول ، قابلیت نمایش زاویه دریافت شده از ماژول روی LCD و ارسال آن به کامپیوتر نیز وجود دارد.
پروژه راه اندازی ماژول ADXL345 ، نمایش زاویه روی LCD و ارسال آن به کامپیوتر با استفاده از Atmega32
مرحله اول : طراحی سخت افزار
در این مرحله سخت افزار مورد نظر را باید روی کاغذ یا در یک نرم افزار همانند نرم افزار پروتئوس رسم و طراحی کنیم. پایه های LCD را به یک پورت دلخواه و پایه های ماژول را نیز به یک پورت دلخواه دیگر متصل می کنیم. پایه های Rx و Tx از میکروکنترلر هم مخصوص ارسال دیتا به کامپیوتر می باشند که در اینجا چون میخواهیم از یک ماژول USB به سریال PL2303 استفاده کنیم ، به پایه های Rx و Tx ماژول به صورت ضربدری متصل می کنیم. از ماژول USB به سریال میتوان به عنوان منبع تغذیه هم استفاده کرد بنابراین Vcc و Gnd را نیز به آن متصل می کنیم.
نکته : پایه CS از ماژول ADXL345 در صورت زمین شدن باعث غیرفعال شدن ماژول می گردد. میتوان این پایه را نیز به میکرو متصل کرد و توسط برنامه میکرو ، روشن یا خاموش بودن ماژول را کنترل کرد که ما در اینجا با اتصال این پایه به Vcc همیشه ماژول را روشن و فعال نگه می داریم.
مرحله دوم : طراحی نرم افزار
برنامه مورد نظر را در نرم افزار CodeVision به صورت زیر طراحی میکنیم :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
#include <mega32.h> #include <delay.h> #include <stdlib.h> #include <stdio.h> // Alphanumeric LCD Module functions #include <alcd.h> // I2C Bus functions #asm .equ __i2c_port=0x18 .equ __sda_bit=1 .equ __scl_bit=0 #endasm #include <i2c.h> #include "adxl345.h" // Declare your global variables here char str[25],num[25]; void main(void) { // I2C Bus initialization i2c_init(); // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x33; // Alphanumeric LCD initialization // Connections specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTA Bit 0 // RD - PORTA Bit 1 // EN - PORTA Bit 2 // D4 - PORTA Bit 4 // D5 - PORTA Bit 5 // D6 - PORTA Bit 6 // D7 - PORTA Bit 7 // Characters/line: 16 lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf(" ADXL345 Init "); //ADXL345 module initialization ADXL345_Init(); ftoa(GetDeviceID(),0,str); lcd_gotoxy(0,1); lcd_putsf("Decice ID : "); lcd_puts(str); delay_ms(3000); lcd_clear(); //ADXL345_Offset_Calib(); //set offset value of adxl345 Set_X_Offset(0); Set_Y_Offset(0); Set_Z_Offset(0); while (1) { delay_ms(20); Get_Accel_Angles(); lcd_clear(); sprintf(num," X=%3.1f",Accel_XAngle); lcd_gotoxy(0,0); lcd_puts(num); sprintf(num," Y=%3.1f",Accel_YAngle); lcd_gotoxy(8,0); lcd_puts(num); sprintf(num," Z=%3.1f",Accel_ZAngle); lcd_gotoxy(0,1); lcd_puts(num); printf("X=%3.1f,Y=%3.1f,Z=%3.1f\n",Accel_XAngle,Accel_YAngle,Accel_ZAngle); } } |
توضیح مختصر برنامه :
تابع ADXL345_Init در برنامه ماژول را راه اندازی می کند. و تابع GetDeviceID کد منحصر به فرد ماژول را دریافت و روی LCD نمایش می دهد . سپس در ادامه میتوان توسط تابع های موجود آفست زاویه را مشخص کرد و یا ماژول را کالیبره نمود . در حلقه اصلی برنامه ابتدا توسط تابع Get_Accel_Angles زاویه از ماژول خوانه شده و در متغیر های Accel_XAngle,Accel_YAngle,Accel_ZAngle ریخته می شود . سپس در خطوط بعدی این متغیر ها پس از تبدیل به کد اسکی روی LCD نمایش داده می شود و در نهایت توسط تابع printf به پورت سریال ارسال می گردد .
مرحله سوم : پیاده سازی
در هنگام پیاده سازی به نکات زیر توجه کنید :
– فرکانس میکرو را در هنگام پروگرام کردن روی ۸ مگاهرتز داخلی قرار دهید .
– درایور ماژول USB به سریال را قبل از اتصال نصب نمایید .
– پس از اتصال به USB کامپیوتر به Control Panel ویندوز خود رفته و در قسمت Device Manager و سپس در قسمت Port(Com&LPT) پورت سریال مجازی که ماژول دارد را شناسایی کنید. همانطور که در شکل زیر مشاهده می کنید ، پورتی که دراینجا تنظیم شده است COM10 می باشد.
همچنین میتوانید با دوبار کلیک روی گزینه قرمز رنگ فوق وارد Properties شوید و در آنجا تنظیمات پورت سریال را تغییر دهید. برای این منظور در پنجره Properties وارد سربرگ Port Setting شده و تنظیمات آن را همانند زیر تغییر دهید.
همچنین میتوانید با زدن گزینه Advanced شماره پورت سریال را از COM10 به هر شماره دیگری تغییر دهید. توجه کنید که شماره پورتی که انتخاب می کنید حتما خالی باشد یعنی توسط دستگاه یا نرم افزارهای دیگر اشغال نشده باشد.
مدار نهایی تست شده توسط الکترو ولت :
مرحله چهارم : تست برنامه
با اتصال ماژول به پورت USB و برقراری تغذیه ، مدار شروع به کار می کند و پس از اندک زمانی شروع به ارسال دیتا به کامپیوتر می نماید. برای اینکه دیتای دریافتی را مشاهده نمایید نیاز به یک نرم افزار Terminal می باشد. در نرم افزار کد ویژن نیز یک ابزار با همین نام وجود دارد که برای استفاده از آن درون نرم افزار کد ویژن به منوی setting رفته و Terminals را انتخاب نمایید. در این قسمت تنظیمات پورتی که متصل شده را همانند تنظیمات گفته شده در مرحله سه قرار داده و Ok کنید. سپس از منوی Tools ، گزینه ترمینال را زده و با زدن گزینه Connect اتصال برقرار می شود.
برای راحتی کار ابزاری توسط Visual Studio و برنامه نویسی سی شارپ برای دریافت و ذخیره دیتا از پورت سریال طراحی کردیم که همانطور که در شکل زیر مشاهده می کنید ، با انتخاب پورت مورد نظر و زدن گزینه Connect ، دریافت آغاز می شود. قابلیت ذخیره داده ها و مشاهده زمان اتصال نیز در این نرم افزار وجود دارد.
مرحله پنجم : طراحی و ساخت PCB
در این مرحله برای مدار تست شده در نرم افزار Altium فیبر مدار چاپی طراحی می کنیم. شکل زیر شماتیک مدار طراحی شده را نشان می دهد. همانطور که مشاهده می شود ، برای پروگرام کردن میکرو درون مدار از یک رابط استاندارد ISP استفاده شده است که به پروگرامر متصل می شود. برای پروگرام کردن وصل کردن جامپر P4 الزامی است. همچنین از header برای اتصال ماژول ADXL345 و USBtoSerial استفاده شده است. تغذیه مدار از طریق اتصال به همین ماژول مبدل USB به سریال تامین می شود. از دو عدد خازن نیز برای بهبود عملکرد مدار استفاده شده است. میتوانستیم از رگولاتور و یک ورودی آداپتور برای تغذیه مدار استفاده کنیم. همچنین در این طراحی برای سادگی نمایشگر LCD حذف شده است.
سورس کامل این پروژه را میتوانید از الکترو ولت به صورت آنلاین خرید و سپس دانلود نمایید.
محتویات این پروژه :
- گزارش کامل پروژه در قالب PDF
- سورس پروژه در نرم افزار کدویژن
- سورس نرم افزار آلتیوم ( شماتیک + PCB )
- نرم افزار ارتباط با پورت سریال به همراه سورس سی شارپ
دیدگاه (47)
سلام
ممنون که این پروژه رو رو سایتتون گذاشتین
چن تا سوال داشتم که ممنون میشم اگه پاسخ بدید.یکی اینکه اسم ماژول usb2com چیه؟
دوم اینکه الان فقط زاویه رو به ما نشون میده . چیکار کنم که شتاب رو بسنجه؟
سوم اینکه وقت ی مدارشو بستم تمام مراحل بالا رو انجام دادم ولی به جا اینکه اعداد و نتایجو روی کامپیوتر ببینیم فقط علامت سوال نشون میده و چیزی رو نشون نمیده.
مرسی
سلام دوست عزیز خواهش میکنم
ماژول Usb2Com یا USB به سریال با استفاده از آی سی PL2303 ساخته میشه که به همین نام در بازار وجود داره
برای نشان دادن شتاب در برنامه به جای استفاده از تابع Get_Accel_Angles باید از تابع Get_Accel_Values که شتاب لحظه ای و یا تابع Get_Average_Accel_Values که میانگین شتاب در یک بازه زمانی خاص رو نشون میده استفاده کرد
و اما مشکل سوم شما احتمالا به علت تنظیم نبودن زبان سیستمتون باید باشه که از کنترل پنل علاوه بر تنظیم Language باید قسمت Local رو هم به فارسی تغییر بدید و سیستمتون رو ریستارت کنید تا شاید مشکل حل بشه اگه حل نشد اطلاع بدید
سلام
من مدار رو بستم . کد شما را پیاده کردم اما توی ترمینال اعداد شتاب فیکس هستن و تغییر نمی کنند به نظرتون مشکل از کجا می تونه باشه؟
سلام دوست عزیز
آیا روی LCD هم اعداد فیکس هستند ؟؟؟
اگه روی LCD اعداد ثابت باشند مشکل میتونه از پروگرام غیرصحیح میکرو یا سوختن ماژول شتاب سنج یا اتصال بین میکرو و ماژول باشه ولی اگه روی LCD صحیح نشون بده و در کامپیوتر اعداد غلط باشه مشکل از ماژول USB2COM و یا تنظیمات آن است
سلام مهندس خسته نباشید
میتونیم از ماژول usb به اسم cp 2102 استفاده کنیم؟ ممنون
سلام دوست عزیز سلامت باشید
بله از هر ماژول USB به سریال دیگه مثل cp2102 و FT232 میشه استفاده کرد
سلام
الان این پروژه رو انجام دادم اعداد شتاب خیلی بزرگ هستن و تغییر هم نمیکنن ممنون میشم که کمکم کنی
سلام دوست عزیز
این پروژه در واقع زاویه سنجه و اعداد زاویه در سه جهت x,y,z رو نشون میده و بنابراین از -۹۰ تا +۹۰ تغییر می کند. اگر همه موارد گفته شده در بالا از قبیل اتصالات i2c بین میکرو و ماژول و نیز تنظیم فیوز بیتهای میکرو روی فرکانس ۸Mhz را رعایت کرده باشید و باز هم اعداد ثابت نشان می دهد احتمال زیاد ماژول سوخته است و باید عوض شود.
من برنلمه رو واسه شتاب سنح طبق توابعی که در جواب سامان گفته بودین تغییر دادم ولی اعداد شتاب خیلی بزرکن و اول که فعال میشه بدون حرکت ماژول اعداد روی ال سی دی یه مقدار تغییر میکنن و از اون به بعد دیگه تغییر نمیکنن. ماژول هم خیلی داغ میشه.
من روی ویندوز ۸ که تستش میکنم فقط علامت سوال نشون میده، ایا مشکل از ویندزه؟
ممنون که وقت میذارید و جواب میدین
خواهش میکنم دوست عزیز
من که اون توابع رو امتحان نکردم نمیدونم عددش چقدر بزرگه ؟؟
به خاطر لرزش کلا اعداد یکم تغییر میکنند اون مشکلی نداره
ماژول نباید داغ بشه پس احتمال زیاد سوخته که داغ میشه
این ماژول متاسفانه زود میسوزه و باید خیلی با دقت باهاش کار کنید
من که روی ویندوز سون مشکلی باهاش ندارم و درسته
احتمال زیاد از تنظیمات کنترل پنله
سلام اگه مدار resetمیکرو رو نبندم مشکلی پیش میاد؟
سلام نه هیچ مشکلی پیش نمیاد ولی بهتره ببندید
قطعه ای که موازی با خازنه چیه؟
مرسی
این قطعه یک سوئیچ یا دکمه ( Push Button ) برای ریست کردن میکرو است و بهتره که در مدار گذاشته بشه
خواهش میکنم دوست عزیز
سلام
کاری که گفتین رو انجام دادیم
تو ویندوز۸ بازم علامت سوال نشون میده تو ۷ هیچی نشون نمیده
باید چی کار کنیم به نظرتون؟
سلام مجدد سامان عزیز
چند تا نکته بهتون میگم که رعایت کنید امیدوارم مشکل حل بشه
به جای استفاده از نرم افزار ابتدا از خود کدویژن درستی ارتباطات و ماژول ها رو بررسی کنید
دیتای دریافت شده را در نرم افزار CodeVision و در قسمت Terminal چک کنید اگه اونجا هم هیچ دیتایی دریافت نشه پس ارتباطات بین میکرو با ماژول مشکل داره
اگر دیتا در نرم افزار کدویژن دریافت میشه اما نامفهومه یک گزینه داره همونجا داخل Terminal که دیتارو به hex نشون میده
اگر باز هم دیتا مشخص نبود در قسمت Project Configure کدویژن و در سربرگ Code Generation تابع Printf رو باید روی float,width,percision تنظیم کنید
سلام
توی کد ویزن هم هیچی نشون نمیده
ارتباظ مازول و میکرو هم طبق اونی که خودتون گفتین بستم و فک نکنم مشکلی داشته باشه .
لظفا یه راهکار بدین که اعدادو نشون بده …
همون کارایی که گفتینو انجام دادم ولی فایده نداشت.
بازم ممنون که پاسخ میدین.. دمت گرم
سلام سامان جان
خواهش می کنم دوست عزیز
روی LCD درست نشون میده ؟؟ اگه روی LCD درسته و توی کدویژن هیچی نشون نمیده ماژول USB2Com مشکل داره
راهی که به ذهنم میرسه یکی چک کردن پایه Rx و Tx ( جابجا کنید ببینید درست میشه ) و چک کردن مجدد تنظیمات کنترل پنل مطابق توضیحات بالاست. تنظیمات Project Configuration مربوط به printf فراموش نشود.
در صورت درست نشدن اطلاع بدید
دروود بر همه ی اساتید و مهندسین
بنده در avr مبتدی هستم
خواستم بگم من فایل پروژه را در کد ویژن باز کردم اما واسه کاپیل کردنش 3 تا error دارم که نمی تونم حلشون کنم
function parameter #1 incompatible with its declaration
این خطا مربوط به خط 40 ام هست
ممنون میشم اگه کمک کنید
درود بر شما دوست عزیز
من این پروژه را بارها پیاده سازی کردم برنامه کاملا درست کامپایل میشه احتمالا مشکل شما از نسخه قدیمی کد ویژن و یا صحیح کرک نشدن آن است
بسیار ممنون از معرفی این پروژه
ممنون از حسن نظرتون
سلام اقای مهندس.خیلی سایت خوبی دارین و از زحماتتون متشکرم.
من میخام این پروژه زاویه سنجی رو که اینجا معرفی کردید بسازم. ولی دو سه تا سوال برام پیش اومده .
اولی اینکه تو شکل پروتؤس مدار فقط یک خازن100nf و یک مقاومت 10k قرار دادین اما در مدار عملی که ساختین من میبینم که از سه تا مقاومت استفاده کردین. چون منم میخام این پروژه رو بسازم و ازش جواب بگیرم میشه بفرمایید اون دو تا مقاومت دیگه چند اهم هستند و هر کدومشون بین کدوم پایه ها قرار گرقتن؟
سوال دوم این که lcd مقاذیر X,Y,Z رو بدون اعشار نشون داده ولی در ارتباظ با کامپیوتر این X,Y,Z هر کدومشون یک رقم اعشار دارند که دقیقتره. اقای مهندس من چه کار کنم که روی lcd هم زاویه ها رو با یک رقم اعشار نشون بده؟
سلام دوست عزیز تشکر از حسن نظرتون
اون دو تا مقاومت مربوط میشود به پایه تنظیم کنتراست LCD که میتونید مستقیما به زمین وصل کنید اما من با یک تقسیم مقاومتی 1 کیلو و 10 کیلواهم بین Vcc و GND آن را به ولتاژ کمی بالاتر از 0 ولت وصل کردم
بله در اینجا LCD تنها اعداد صحیح را نشان می دهد … در صورتی که بخواهید اعداد اعشاری را نشان دهید باید از تابع sprintf به جای تابع ftoa در برنامه استفاده کنید…
سلام اقای مهندس. تشکر زیاد به خاطر راهنماییهایتون. اقای مهندس در شکل پروتیوس این مدار زاویه سنج ، پایه های
SCL و SDA ماژول به پایه های 1 و 2 میکرو ( پورتB ) متصل شدن در حالی که پایه های 22 و 23 میکرو (پورت C) پایه
های SDA , SCL هستند. ایا اینجا اشتباهاً این پایه های ماژول به پایه 1 و 2 (پورت B) میکرو متصل شدن یا همین جوری
درسته؟ خیلی ممنون.
سلام دوست عزیز ممنونم
نه خیر به همین صورت صحیح است چون ما از واحد TWIسخت افزاری میکرو استفاده نکردیم بلکه از قابلیت I2C به صورت نرم افزاری استفاده کردیم که میتوان SCL و SDA را در برنامه روی هر پایه دلخواهی تنظیم کرد.
دروود بر شما مهندس عزیز
ممنون از زحمتتون بابت پروژه
بنده در code vision مبتدی هستم و خواستم بپرسم من سورس برنامتون را با کدویژن 1 23 7 خواستم کامپایل کنم 3 تا error دارم که میگه Function parametr is incompatible with its declaration
و 9 تا هم warnning تحت عنوان shift result will be 0
آیا این اررور ها مربوط به اضافه نکردن کتابخونه adxl345 میشه یا اشکال دیگه ای تو برنامم هست
در ضمن بجای puts ها putsf میذارم فقط 3 تا اررور پاک میشند
ممنون میشم اگه کمک کنید
احسان
سلام دوست عزیز سپاسگزارم
برنامه و سورس فایل ها تست شده است و مشکل شما از نسخه کدویژنی است که نصب کردید نسخه شما قدیمی است و با دانلود و نصب نسخه 2.5.3 که در سایت ما وجود دارد حتما مشکلتون حل می شود
سلام ممنون از سایت خوبتون.
ایا این ماژول علاوه بر زاویه میتواند مقدار مسافت حرکت را در هر جهت تعیین کند؟مثلا چند واحد بر روی محور ایکس حرکت کردیم؟
ویا ماژول و قطعه دیگری که بتواند مقدار حرکت افقی و عمودی را تشخیص دهد معرفی کنید.ممنون از جمیع مهندسان عزیز
سلام دوست عزیز خواهش می کنم بله با استفاده از همین ماژول میتوان هم زاویه و هم شتاب حرکت را بدست آورد. با داشتن شتاب و زاویه حرکت و با فرض سرعت اولیه صفر هنگام روشن کردن ماژول می توان مقدار جابجایی را بدست آورد.
با سلام و خسته نباشید.
لطفا چگونگی تنظیم offset را برای مقادیر اولیه زیر را توضیح دهید.
x=-3.8 , y==-9.6 , z= 10.4
این مقادیر برای حالت صفر می باشند.
سلام ممنونم
تا بحال این کار را انجام ندادم اما قاعدتا باید قرینه اعداد فوق را درون پرانتز مربوط به تابع تنظیم آفست بنویسید
سلام ممنون بابت مطالبتون
میخواستم بدونم با adxl345 میشه سرعت رو اندازه گیری کرد،چگونه؟؟
سلام دوست عزیز با داشتن شتاب و با توجه به اینکه سرعت مشتق شتاب نسبت به زمان است میتوان سرعت را نیز بدست آورد
با سلام وخسته نباشید
چه طور میشه از یه ماژول شتاب سنج برای تشخیص نقطه ی اوج یه جسم پرتاب شده استفاده کرد. میدونم تو نقطه ی اوج سرعت صفره و با تکیه با این نکته میشه اوج رو تشخیص داد اما ماژول ها شتابسنج مقدار درستی رو در زمانی که همراه جسم چرخش میکنن به دست نمیدم
ممنون میشم راهنمای کنید.
با سلام. ضمن تشکر از پروژه خوبتون
آیا این سنسور زاویه نسبت به سطح افق میده ؟
یعنی مقدار کجی نسبت به سطح افق را میده در ضمن زمان پاسخ گویی چند هرتز هستش با چه دقتی اگر در یک جهت بخواهیم ؟ممنون
سلام
من این مدار رو بستم ولی متاسفانه اعداد ثابت هستند و خیلی برام مهمه که روی ال سی دی بتونم نمایش بدم
۳ تا مازول امتحان کردم چند تا میکر هم دارم ولی اصلا اعداد تغییر نمیکنن
تغذیه مدار هم ایرادی نداره
لطفا راهنمایی کنید از چی میتونه باشه
ممنون میشم زودتر جواب بدید
سلام دوست عزیز میتونید پروژه ساخته شده را از الکترو ولت خریداری کنید
سلام من پروژه رو بستم و جواب گرفتم اگر بخوام شتاب دینامیکی رومحور x رو بدست بیارم چطوری می تونم؟
سلام با استفاده از تابع Get_Accel_Values که در هدر فایل adxl345.h موجود است
با سلام و خسته نباشید. میخواستم بپرسم با این کد میشه ماژول mpu9265 رو هم راه اندازی کرد؟
سلام دوست عزیز ممنونم
با ماژولی که فرمودید کار نکردم اما قاعدتا هر ماژول نحوه کار مخصوص به خود را دارد هر چند ممکنه شباهت هم داشته باشد
با عرض سلام و خسته نباشید.میخواستم بپرسم جریان این ماژول حداکثر برای یک آمپر جواب میده یا ن . با تشکر
سلام ممنونم
متوجه نمیشم سوالتون چیه ؟ از این ماژول که جریان نمیکشن فقط شتاب رو میخونن
سلام مهندس وقتتون به خیر
ببخشید یه سوال داشتم اینکه ماژول adx345 رو چطور در نرم افزار پروتئوس اوردید؟
فایلش رو دارید که به کتابخانه پروتئوس اضافه کنم
ممنون
سلام دوست عزیز
شکل ماژول ADXL345 که در پروتئوس قرار داده شده است فقط ظاهری می باشد و نمیتوان آن را شبیه سازی کرد
سلام
در کتابخانه برنامه آیا توابع تک ضربه ، دو ضربه و سقوط آزاد نوشته شده ؟