ساخت شتاب سنج
در برخی پروژه های آردوینو لازم است تغییرات ناگهانی و یا شتاب حرکت یک جسم که به صورت پیوسته در حال حرکت است را اندازه گیری کنیم. به کمک ماژول اندازه گیری شتاب ADXL345 که یک ماژول شتاب سنج سه محوره است (یعنی می تواند مقدار شتاب را در سه محور X و Y و Z اندازه گیری کند)، می توانید شتاب تغییرات ناگهانی یک جسم را اندازه گیری کنید، به عنوان مثال می توانید توسط این ماژول شتاب سنج متوجه افتادن و یا سقوط آزاد یک جسم شوید و یا اینکه کم و یا زیاد شدن سرعت ناگهانی یک جسم که در حرکت پیوسته و ثابت بوده است را متوجه شوید.
از دیگر ویژگی های بارز این ماژول شتاب سنج، اندازه گیری زاویه کج بودن یک جسم است، از آنجا که این ماژول سه محوره است و می تواند شتاب و تغییرات محورهای X و Y و Z را اندازه گیری کند، به راحتی می توانید از آن برای فهمیدن زاویه کجی نیز استفاده کنید.
ماژول شتاب سنج ADXL345 با ولتاژ تغذیه 3.3 ولت کار می کند و دارای جریان مصرفی بسیار اندکی است. همچنین این ماژول قادر است شتاب 2g± الی 16g± را با رزولوشن بیشتر از 13 بیت محاسبه کند. ماژول شتاب سنج ADXL345 از 2 پروتکل ارتباطی SPI و I2C برای ارتباط با سایر دستگاه ها و میکروکنترلرها بهره می برد، که در این پروژه از مبحث آموزش آردوینو ما از ارتباط I2C این ماژول برای ارتباط با برد آردوینو Arduino استفاده کرده ایم.
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
ماژول سنسور شتاب سنج 3 محوره ADXL345 | 1 عدد |
LCD کاراکتری مدل 16×2 با Backlighting آبی | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
توضیحات ساخت مدار پروژه
برای آزمایش مدار و شروع برنامه نویسی ابتدا لازم است سخت افزار پروژه بسته شود، به همین خاطر ابتدا طبق نقشه شماتیک زیر، LCD کاراکتری و ماژول شتاب سنج ADXL345 را به برد آردوینو Arduino Uno اتصال دهید. همچنین در ادامه می توانید فیلم آموزشی و توضیحات بیشتری در رابطه با نحوه اتصال ال سی دی کاراکتری و ماژول به برد آردوینو مشاهده کنید.
نحوه اتصال LCD کاراکتری به برد آردوینو
نحوه اتصال ماژول شتاب سنج ADXL345 به برد Arduino
ماژول شتاب سنج ADXL345 به صورت کلی دارای 8 پایه است، که در این پروژه برای اتصال آن به برد آردوینو کافی است طبق جدول زیر اتصالات را انجام دهید. همچنین لازم به ذکر است در این پروژه به دلیل اینکه از ارتباط I2C برای اتصال ماژول شتاب سنج به برد آردوینو استفاده کرده ایم، به غیر از دو پایه تغذیه، تنها دو پایه SCL و SDA ماژول به برد آردوینو متصل می شوند و باقی پایه های ماژول به هیچ کجا متصل نمی شوند.
برنامه آردوینو در نرم افزار آردوینو
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 |
#include <LiquidCrystal.h> #include <Adafruit_Sensor.h>; #include <Adafruit_ADXL345_U.h>; LiquidCrystal lcd(8, 9, 10, 4, 5, 6, 7); #define x_up 3 #define x_down 5 #define y_up 6 #define y_down 9 #define z_ 10 float x , y , z; Adafruit_ADXL345_Unified accel (54321); void setup() { lcd.begin(16,2); analogWrite(11, 100); analogWrite(3, 255); pinMode(z_ , 1); if (!accel.begin()) { lcd.print("Error ADXL345!!!"); while (1); } accel.setRange(ADXL345_RANGE_16_G); accel.setDataRate(ADXL345_DATARATE_25_HZ); lcd.print("*electronics 98*"); delay(2000); } void loop() { sensors_event_t event; accel.getEvent(&event); x = event.acceleration.x; y = event.acceleration.y; z = event.acceleration.z; lcd.clear(); lcd.print("X:"); lcd.print(String(x)); lcd.print("/Y:"); lcd.print(String(y)); lcd.setCursor(0, 2); lcd.print("Z:"); lcd.print(String(z)); lcd.print(" m/s^2 "); delay(500); lcd.clear(); } |
نکته مهم در برنامه نویسی راه اندازی ماژول ADXL345
برای راه اندازی ماژول شتاب سنج ADXL345 ابتدا باید دو کتابخانه Adafruit_Sensor و Adafruit_ADXL345_U را که پیوست فایل پروژه شده است را در نرم افزار Arduino نصب کنیم، سپس مطابق نمونه برنامه بالا آن ها را در برنامه فراخوانی و ماژول را راه اندازی می کنیم. اگر با نحوه نصب کتابخانه در نرم افزار Arduino آشنا نیستید، نگران نباشید! می توانید در ادامه فیلم آموزشی ساخته شده برای راه اندازی این پروژه را مشاهده کنید.
از این سنسور میشه برای سنجش شتاب تو سقوط آزاد استفاده کرد؟ منظور از مد های 2و8و16g چیه؟
سلام دوست عزیز
بله می توانید استفاده کنید.
سلام
از این سنسور برای اندازه گیری ارتعاشات هم میشه استفاده کرد؟
سلام دوست عزیز
بله می توانید استفاده کنید اما برای دریافت نتیجه بهتر و دقیق پیشنهاد می کنیم از ماژول های ارتعاش سنج استفاده کنید.
سلام ببخشید .ایا میشه برنامه رو در نرم افزار مطلب نوشت اگه میشه ب چ صورتی . از این نظر میگم ک دیگه احتیاج به LCDنباشه و بتونم نمودار های سه شتاب رو ببینم .
با سلام و احترام
بله می توانید اینکار را انجام دهید.
می توانید داده های اندازه گیری شده توسط برد آردوینو را از طریق ارتباط سریال به کامپیوتر ارسال کنید و سپس در برنامه مطلب یک درگاه سریال ایجاد کنید و داده ها را دریافت و به صورت نمودار یا جدول چاپ کنید.