فهرست مطالب:
تصویری: ADXL345 با استفاده از Arduino Uno R3: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
در این درس نحوه استفاده از سنسور شتاب ADXL345 را می آموزیم.
مرحله 1: اجزاء
- برد Arduino Uno * 1
- کابل USB * 1
- ADXL345 *1
- تخته نان * 1
- سیم های بلوز
مرحله 2: اصل
شتاب سنج برای اندازه گیری نیروی تولید شده در طول شتاب استفاده می شود. اساسی ترین شتاب گرانش رایج است که 1 گرم است.
با اندازه گیری شتاب ناشی از گرانش ، می توانید زاویه شیب دستگاه را به سطح تراز محاسبه کنید. از طریق تجزیه و تحلیل شتاب پویا ، می توانید نحوه حرکت دستگاه را بیان کنید. به عنوان مثال ، تخته خودکار یا هاوربرد سنسور شتاب و ژیروسکوپ را برای تصفیه فیلتر کالمن و اصلاح وضعیت استفاده می کند.
ADXL345
ADXL345 یک شتاب سنج کوچک ، نازک ، کم قدرت ، 3 محور با اندازه گیری وضوح بالا (13 بیت) تا 16 گرم است. داده های خروجی دیجیتال به عنوان مکمل 16 بیتی دو فرمت شده و از طریق رابط دیجیتال SPI (3 یا 4 سیم) یا I2C قابل دسترسی است. در این آزمایش ، رابط دیجیتال I2C استفاده شده است.
برای اندازه گیری شتاب ایستایی گرانش در برنامه های حسگر شیب و همچنین شتاب پویا ناشی از حرکت یا ضربه مناسب است. وضوح بالا (4 میلی گرم/LSB) اندازه گیری تغییر شیب را کمتر از 1.0 درجه امکان پذیر می کند. و حساسیت عالی (3.9mg/LSB @2g) خروجی با دقت بالا تا 16g پوند را فراهم می کند.
نحوه کار ADXL345
ADXL345 شتاب را با جزء حسگر در جلو تشخیص می دهد و سپس جزء حسگر سیگنال الکتریکی آن را به سیگنال الکتریکی تبدیل می کند که آنالوگ است. در مرحله بعد ، آداپتور AD یکپارچه شده روی ماژول ، سیگنال آنالوگ را به دیجیتال تبدیل می کند.
مقادیر X_OUT ، Y_OUT و Z_OUT در محور X ، Y و Z هستند. ماژول را رو به بالا قرار دهید: Z_OUT حداکثر می تواند به +1 گرم برسد ، حداقل X_OUT -1g به جهت Ax و حداقل Y_OUT -1g به جهت Ay است. از طرف دیگر ، ماژول را وارونه کنید: حداقل Z_OUT -1 گرم ، حداکثر X_OUT 1g +جهت Ax و حداکثر Y_OUT 1g +جهت Ay است. ، همانطور که در زیر نشان داده شده است. ماژول ADXL345 را بچرخانید و تغییر سه مقدار را مشاهده خواهید کرد.
وقتی کانال A از سطح بالا به سطح پایین تغییر می کند ، اگر کانال B سطح بالا باشد ، نشان می دهد که رمزگذار چرخشی در جهت عقربه های ساعت (CW) می چرخد. اگر در آن لحظه کانال B سطح پایینی داشته باشد ، به این معنی است که خلاف جهت عقربه های ساعت (CCW) می چرخد. بنابراین اگر مقدار کانال B را در زمانی که کانال A سطح پایینی است بخوانیم ، می توانیم بدانیم که رمزگذار دوار در کدام جهت می چرخد.
اصل: نمودار شماتیک ماژول Rotary Encoder را در زیر مشاهده کنید. از آنجا می توانیم ببینیم که پین 3 رمزگذار چرخشی ، یعنی CLK روی ماژول ، کانال B. است. پین 5 ، که DT است ، کانال A است. برای اطلاع از جهت چرخشی دستگاه ضبط ، فقط مقدار CLK و DT
یک تراشه تنظیم کننده ولتاژ 3.3 ولت در مدار وجود دارد ، بنابراین می توانید ماژول را با 5 ولت یا 3.3 ولت تغذیه کنید.
از آنجا که SDO به GND متصل شده است ، آدرس I2C ADXL345 0x53 ، 0xA6 برای نوشتن ، 0xA7 برای خواندن است
عملکرد پین ماژول ADXL345.
مرحله 3: روش ها
مرحله 1. مدار را بسازید.
گام 2:
کد را از https://github.com/primerobotics/Arduino بارگیری کنید
مرحله 3:
طرح را روی برد Arduino Uno بارگذاری کنید
برای بارگذاری کد در صفحه کنترل ، روی نماد بارگذاری کلیک کنید.
اگر "بارگذاری انجام شد" در پایین پنجره ظاهر شد ، به این معنی است که طرح با موفقیت بارگذاری شده است.
پس از بارگذاری ، Serial Monitor را باز کنید ، در آنجا می توانید داده های شناسایی شده را مشاهده کنید. هنگامی که شتاب ماژول تغییر می کند ، شکل مطابق با آن در پنجره تغییر می کند.
مرحله 4: کد
// ADXL335
/********************************
ADXL335
توجه: vcc5v
، اما ADXL335 Vs 3.3V است
مدار:
5 ولت: VCC
آنالوگ 0: محور x
آنالوگ 1: محور y
آنالوگ 2: محور z
پس از سوزاندن
برنامه ، پنجره اشکال زدایی مانیتور سریال را باز کنید ، جایی که می توانید داده های تشخیص داده شده را در حال نمایش نشان دهید. وقتی شتاب متغیر است ، بر این اساس شکل تغییر می کند.
*********************************
/پست الکترونیک:
// وب سایت: www.primerobotics.in
const int xpin =
A0 ؛ // محور x شتاب سنج
const int ypin =
A1 ؛ // محور y
const int zpin =
A2 ؛ // محور z (فقط در مدلهای 3 محوره)
void setup ()
{
// راه اندازی ارتباطات سریال:
Serial.begin (9600)؛
}
حلقه خالی ()
{
int x = analogRead (xpin) ؛ // از xpin بخوانید
تأخیر (1) ؛ //
int y = analogRead (ypin) ؛ // از ypin بخوانید
تأخیر (1) ؛
int z = analogRead (zpin) ؛ // از zpin بخوانید
شناور zero_G = 338.0 ؛ // منبع تغذیه ADXL335
توسط Vs 3.3V: 3.3V/5V*1024 = 676/2 = 338
//Serial.print(x)؛
//Serial.print("\t ")؛
//Serial.print(y) ؛
//Serial.print("\t ")؛
//Serial.print(z) ؛
//Serial.print("\n ")؛
شناور
zero_Gx = 331.5 ؛ // خروجی zero_G محور x: (x_max + x_min)/2
شناور
zero_Gy = 329.5 ؛ // خروجی zero_G محور y: (y_max + y_min)/2
شناور zero_Gz = 340.0 ؛ // the
zero_G خروجی محور z: (z_max + z_min)/2
مقیاس شناور =
67.6 ؛ // منبع تغذیه Vs 3.3V: 3.3v/5v *1024/3.3v *330mv/g = 67.6g
float scale_x =
65 ؛ // مقیاس محور x: x_max/3.3v*330mv/g
float scale_y =
68.5 ؛ // مقیاس محور y: y_max/3.3v*330mv/g
float scale_z =
68 ؛ // مقیاس محور z: z_max/3.3v*330mv/g
Serial.print ((((float) x
- zero_Gx)/scale_x) ؛ // مقدار x را در مانیتور سریال چاپ کنید
Serial.print ("\ t")؛
Serial.print ((((float) y
- zero_Gy)/scale_y) ؛ // مقدار y را در مانیتور سریال چاپ کنید
Serial.print ("\ t")؛
Serial.print ((((float) z
- zero_Gz)/scale_z) ؛ // مقدار z را روی مانیتور سریال چاپ کنید
Serial.print ("\ n")؛
تاخیر (1000) ؛ // 1 ثانیه صبر کنید
}
مرحله 5: تجزیه و تحلیل کد
کد آزمایش ADXL345 شامل 3 قسمت است: راه اندازی هر پورت و دستگاه ، جمع آوری و ذخیره داده های ارسال شده از حسگرها و تبدیل داده ها.
توصیه شده:
DIY -- چگونه یک ربات عنکبوتی بسازیم که با استفاده از تلفن هوشمند با استفاده از Arduino Uno قابل کنترل است: 6 مرحله
DIY || نحوه ساخت یک ربات عنکبوتی که با استفاده از گوشی هوشمند با استفاده از Arduino Uno قابل کنترل است: در هنگام ساخت یک ربات عنکبوتی ، می توانید چیزهای زیادی در مورد رباتیک بیاموزید. مانند ساختن روبات ها سرگرم کننده و همچنین چالش برانگیز است. در این ویدئو ما قصد داریم نحوه ساخت ربات عنکبوت را به شما نشان دهیم ، که می توانیم از آن با استفاده از تلفن هوشمند خود استفاده کنیم (Androi
اندازه گیری شتاب با استفاده از ADXL345 و ذره فوتون: 4 مرحله
اندازه گیری شتاب با استفاده از ADXL345 و ذره فوتون: ADXL345 یک شتاب سنج کوچک ، نازک ، فوق العاده کم قدرت ، 3 محوره با اندازه گیری وضوح بالا (13 بیتی) تا 16 گرم است. داده های خروجی دیجیتال به صورت مکمل 16 بیتی دو فرمت شده و از طریق رابط دیجیتال I2 C قابل دسترسی است. اندازه گیری
اندازه گیری شتاب با استفاده از ADXL345 و Raspberry Pi: 4 مرحله
اندازه گیری شتاب با استفاده از ADXL345 و Raspberry Pi: ADXL345 یک شتاب سنج کوچک ، باریک ، فوق العاده کم قدرت ، 3 محوره با اندازه گیری وضوح بالا (13 بیتی) تا 16 گرم است. داده های خروجی دیجیتال به صورت مکمل 16 بیتی دو فرمت شده و از طریق رابط دیجیتال I2 C قابل دسترسی است. اندازه گیری
نحوه ساخت هواپیمای بدون سرنشین با استفاده از Arduino UNO - ساخت کوادکوپتر با استفاده از میکروکنترلر: 8 مرحله (همراه با تصاویر)
نحوه ساخت هواپیمای بدون سرنشین با استفاده از Arduino UNO | ساخت کوادکوپتر با استفاده از میکروکنترلر: مقدمه دیدن کانال یوتیوب من یک پهپاد یک ابزار (محصول) بسیار گران قیمت برای خرید است. در این پست من قصد دارم در مورد اینکه چگونه آن را با قیمت ارزان تهیه کنم بحث کنم؟ و چگونه می توانید چنین چیزی را با قیمت ارزان تهیه کنید … خوب در هند همه مواد (موتورها ، ESC ها
نحوه استفاده از برد سازگار Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE با استفاده از Blynk: 10 مرحله
نحوه استفاده از برد سازگار با Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE با استفاده از Blynk: برد سازگار Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE توضیحات: تابلوی توسعه WiFi ESP8266 WEMOS D1. WEMOS D1 یک برد توسعه WIFI بر اساس ESP8266 12E است. عملکرد مشابه NODEMCU است ، با این تفاوت که سخت افزار در حال ساخت است