نمایش نتایج: از 1 به 9 از 9
Like Tree3 لایک
  • 1 Post By hesam.time
  • 2 Post By engamanc

موضوع: ماژول شتاب سنج سه محوره دیجیتال adxl345

  1. #1
    Senior Member
    تاریخ عضویت
    Mar 2013
    محل سکونت
    Iran
    نوشته ها
    138

    Lightbulb ماژول شتاب سنج سه محوره دیجیتال adxl345

    ماژول شتاب سنج سه محوره دیجیتال ADXL345
    این ماژول یک شتاب سنج سه جهته MEMS با دقت زیاد 13 بیت و مصرف کم است. دیتا دیجیتال خروجی این ماژول دارای فرمت 16 بیتی مکمل 2 (twos complement) می باشد و اینترفیس ارتباطی آن SPI و I2C است.ماژول ADXL345 مناسب برای اندازه گیری شتاب استاتیک گرانش در هنگام سنجش شیب و همچنین شتاب دینامیک که حاصل از حرکت یا شوک می باشد. دقت اندازه گیری بالا 4mg/LSB امکان اندازه گیری تغییر زاویه کمتر از 1.0 درجه را برای این ماژول فراهم می آورد. از قابلیتهای این ماژول می توان وجود و عدم حرکت و همچنین شتاب در هر جهتی که از سطح تنظیم شده باشد،تشخیص ضربات آهسته و تشخیص سقوط آزاد در هنگام سقوط دستگاه را نام برد.این ماژول دارای 32 سطح بافر بصورت FIFO است که می تواند برای ذخیره دیتا و حداقل رساندن پردازش مورد استفاده قرار گیرد. مد Low Power این ماژول قادر به تشخیص هوشمندحرکت مبتنی بر مدیریت مصرف انرژی با تشخیص آستانه سنجش و اندازه گیری شتاب فعال با کمترین اتلاف مصرف انرژی است.این ماژول را به راحتی می توان به وسیله آردوینو راه اندازی کرد.

    acceleration_sensor_adxl345_3-500x500.jpg

    ویژگی ها
    تغذیه: 2.0-3.6VDC
    صرف انرژی فوق العاده پایین: 4uA در مد اندازه گیری و 0.1uA در حالت استندبای
    قابلیت تشخیص ضربات آهسته
    قابلیت تشخیص سقوط آزاد
    دارای رابط SPI و I2C

    مثال
    مثال زیر چگونگی اتصال ماژول ADXL345 به آردوینو و نحوه راه اندازی آن را نشان می دهد.

    adxl345-accelerometer_fritzing_bb.jpg

    کد:
    #include <Wire.h> #include <ADXL345.h> ADXL345 adxl; //variable adxl is an instance of the ADXL345 library void setup(){ Serial.begin(9600); adxl.powerOn(); //set activity/ inactivity thresholds (0-255) adxl.setActivityThreshold(75); //62.5mg per increment adxl.setInactivityThreshold(75); //62.5mg per increment adxl.setTimeInactivity(10); // how many seconds of no activity is inactive? //look of activity movement on this axes - 1 == on; 0 == off adxl.setActivityX(1); adxl.setActivityY(1); adxl.setActivityZ(1); //look of inactivity movement on this axes - 1 == on; 0 == off adxl.setInactivityX(1); adxl.setInactivityY(1); adxl.setInactivityZ(1); //look of tap movement on this axes - 1 == on; 0 == off adxl.setTapDetectionOnX(0); adxl.setTapDetectionOnY(0); adxl.setTapDetectionOnZ(1); //set values for what is a tap, and what is a double tap (0-255) adxl.setTapThreshold(50); //62.5mg per increment adxl.setTapDuration(15); //625μs per increment adxl.setDoubleTapLatency(80); //1.25ms per increment adxl.setDoubleTapWindow(200); //1.25ms per increment //set values for what is considered freefall (0-255) adxl.setFreeFallThreshold(7); //(5 - 9) recommended - 62.5mg per increment adxl.setFreeFallDuration(45); //(20 - 70) recommended - 5ms per increment //setting all interupts to take place on int pin 1 //I had issues with int pin 2, was unable to reset it adxl.setInterruptMapping( ADXL345_INT_SINGLE_TAP_BIT, ADXL345_INT1_PIN ); adxl.setInterruptMapping( ADXL345_INT_DOUBLE_TAP_BIT, ADXL345_INT1_PIN ); adxl.setInterruptMapping( ADXL345_INT_FREE_FALL_BIT, ADXL345_INT1_PIN ); adxl.setInterruptMapping( ADXL345_INT_ACTIVITY_BIT, ADXL345_INT1_PIN ); adxl.setInterruptMapping( ADXL345_INT_INACTIVITY_BIT, ADXL345_INT1_PIN ); //register interupt actions - 1 == on; 0 == off adxl.setInterrupt( ADXL345_INT_SINGLE_TAP_BIT, 1); adxl.setInterrupt( ADXL345_INT_DOUBLE_TAP_BIT, 1); adxl.setInterrupt( ADXL345_INT_FREE_FALL_BIT, 1); adxl.setInterrupt( ADXL345_INT_ACTIVITY_BIT, 1); adxl.setInterrupt( ADXL345_INT_INACTIVITY_BIT, 1); } void loop(){ //Boring accelerometer stuff int x,y,z; adxl.readAccel(&x, &y, &z); //read the accelerometer values and store them in variables x,y,z // Output x,y,z values - Commented out //Serial.print(x); //Serial.print(y); //Serial.println(z); //Fun Stuff! //read interrupts source and look for triggerd actions //getInterruptSource clears all triggered actions after returning value //so do not call again until you need to recheck for triggered actions byte interrupts = adxl.getInterruptSource(); // freefall if(adxl.triggered(interrupts, ADXL345_FREE_FALL)){ Serial.println("freefall"); //add code here to do when freefall is sensed } //inactivity if(adxl.triggered(interrupts, ADXL345_INACTIVITY)){ Serial.println("inactivity"); //add code here to do when inactivity is sensed } //activity if(adxl.triggered(interrupts, ADXL345_ACTIVITY)){ Serial.println("activity"); //add code here to do when activity is sensed } //double tap if(adxl.triggered(interrupts, ADXL345_DOUBLE_TAP)){ Serial.println("double tap"); //add code here to do when a 2X tap is sensed } //tap if(adxl.triggered(interrupts, ADXL345_SINGLE_TAP)){ Serial.println("tap"); //add code here to do when a tap is sensed } }
    مرجع:
    https://www.sparkfun.com/tutorials/240
    bildr

    جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط hesam.time : 11-20-2013 در ساعت 02:31 PM
    لایک کردن

  2. #2
    Junior Member
    تاریخ عضویت
    Jun 2016
    نوشته ها
    5
    سلام دوستان .این ماژول رگولاتور داخلی داره؟

  3. #3
    Member
    تاریخ عضویت
    Oct 2013
    نوشته ها
    70
    نقل قول نوشته اصلی توسط mehdi.haji نمایش پست ها
    سلام دوستان .این ماژول رگولاتور داخلی داره؟
    با سلام
    تو دیتاشیت سنسور قید شده رنج ولتاژ تغذیه سنسور 2 تا 3.6 ولت هستش و همچنین در ویژگیهای این ماژول هم قید شده تغذیه همین رنج رو داره و این یعنی رگولاتور داخلی نداره.پس بهتره با 3.3 ولت تغذیه بشه.

  4. #4
    Junior Member
    تاریخ عضویت
    Jun 2016
    نوشته ها
    5
    سلام
    جریان ورودی این ماژول چه مقدار هست تو دیتا شیت هیچی ننوشته

  5. #5
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mehdi.haji نمایش پست ها
    سلام
    جریان ورودی این ماژول چه مقدار هست تو دیتا شیت هیچی ننوشته
    طبق توضیحات محصول:
    صرف انرژی فوق العاده پایین: 4uA در مد اندازه گیری و 0.1uA در حالت استندبای

    شما باید پاور رو جوری به ماژول بدید که این جریان فراهم بشه
    که با آردوینو به راحتی فراهم میشه

  6. #6
    Junior Member
    تاریخ عضویت
    Jun 2016
    نوشته ها
    5
    مرسی اما دارم مدار طراحی میکنم میخوام پورت واسش بزارم و جریان اختصاصی

  7. #7
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط mehdi.haji نمایش پست ها
    مرسی اما دارم مدار طراحی میکنم میخوام پورت واسش بزارم و جریان اختصاصی
    جریان زیر رو باید در نظر بگیرید و لین که تریس هاتون نیازی نیست زیاد ضخیم باشن چون دیتا هست و آمپرش هم خیلی پایینه

  8. #8
    Junior Member
    تاریخ عضویت
    Apr 2017
    نوشته ها
    2
    سلام با این ماژول می توان سرعت حرکت رو هم گرفت؟؟
    چطوری می شه؟؟؟
    ممنون

  9. #9
    Junior Member
    تاریخ عضویت
    May 2018
    نوشته ها
    1
    نقل قول نوشته اصلی توسط mehdi.haji نمایش پست ها
    سلام دوستان .این ماژول رگولاتور داخلی داره؟

    بله داره؛ می تونی 5 ولت وصل کنی

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO