ماژول GY-61 شتاب سنج سه محوره ADXL335
ماژول ADXL335 GY-61 یک سنسور شتابسنج است که از تکنولوژی MEMS (سیستم میکروالکترومکانیکی) استفاده میکند. این سنسور میزان شتاب خطی در سه جهت مختصاتی (به بالا و پایین، چپ و راست، جلو و عقب) را اندازهگیری میکند.ADXL335 یک سنسور سه محوره است که شتاب خطی را با دقت بالا اندازهگیری میکند. این سنسور از تکنولوژی میکروالکترومکانیکی استفاده میکند تا تغییرات نیروهای مربوط به شتاب را در سه جهت مختلف اندازهگیری کند. ویژگی مهم این سنسور این است که به طور مستقیم خروجی آن ولتاژ متناسب با شتاب است که دریافت میکند.ماژول GY-61 یک پردازنده کوچک است که سیگنالهای خروجی از سنسور ADXL335 را تقویت و تفسیر میکند. این ماژول از ولتاژ کاری 3.3 ولت تا 5 ولت پشتیبانی میکند و امکان اتصال آسان به میکروکنترلرها و سیستمهای الکترونیکی را فراهم میکند.با استفاده از این ماژول، میتوانید شتاب خطی در سه جهت را اندازهگیری کرده و از آن در پروژهها و سیستمهایی که نیاز به اندازهگیری و کنترل شتاب دارند، استفاده کنید. مثالهای کاربردی این سنسور شامل اندازهگیری شتاب در رباتیک، پروژههای مبتنی بر IoT (اینترنت اشیاء)، ابزارهای پوشیدنی و دستگاههای جانبی موبایل و تلفن همراه است.
ویژگی های ماژول GY-61 شتاب سنج سه محوره ADXL335
- نوع سنسور: سنسور شتابسنج سه محوره
- فرکانس کاری: 0.5 هرتز تا 1 کیلوهرتز
- ولتاژ کاری: 3.3 ولت تا 5 ولت
- خروجی: ولتاژ متناسب با شتاب در سه جهت مختلف (X، Y و Z)
- دقت: 10 بیت (بیت بر اینچ)
- رنج اندازهگیری شتاب: ±3 گرم (±29.4 متر بر ثانیه مربع)
- رابط ارتباطی: آنالوگ
بررسی پایه های ماژول GY-61 شتاب سنج سه محوره ADXL335
- VCC: این پین برای تغذیه ماژول استفاده میشود. ولتاژ کاری این ماژول بین 3.3 ولت تا 5 ولت است. این پین به یک منبع تغذیه مثبت متصل میشود.
- GND: این پین به منبع تغذیه منفی (زمین) متصل میشود تا برقهای اضافی خارج شوند و مرجع زمین برای ماژول ایجاد شود.
- XOUT: این پین خروجی آنالوگ برای شتاب در جهت X (از سمت چپ به راست) است. میزان ولتاژ خروجی به مقدار شتاب خطی در این جهت مربوط میشود.
- YOUT: این پین نیز خروجی آنالوگ است که شتاب در جهت Y (به بالا و پایین) را نشان میدهد. مقدار ولتاژ خروجی با میزان شتاب خطی در این جهت تغییر میکند.
- ZOUT: این پین خروجی آنالوگ برای شتاب در جهت Z (جلو و عقب) است. میزان ولتاژ خروجی این پین نیز با شتاب خطی در این جهت متغیر است.
به همراه ماژول ADXL335 چه اقلامی باید خریداری شود؟
- برد آردوینو یا سایر میکروها مانند ESP
- نمایشگر OLED
- برد بورد
- کابل فلت
- تغذیه
راه اندازی ماژول GY-61 شتاب سنج سه محوره ADXL335 با آردوینو
در این کد آردوینو به شما امکان میدهد تا مقادیر شتاب خطی در سه جهت X، Y و Z را از سنسور ADXL335 خوانده و در مانیتور سریال چاپ کنید. در ادامه تحلیل کد به طور مرحله به مرحله آمده است:در بخش setup()، ابتدا ارتباط سریال با سرعت 9600 بیت بر ثانیه را آغاز میکنیم.در بخش loop()، عملکرد اصلی برنامه قرار دارد که به صورت مکرر تکرار میشود.
در ابتدا از طریق دستور analogRead()، مقادیر آنالوگ موجود در پینهای A0، A1 و A2 را خوانده و در متغیرهای xValue، yValue و zValue ذخیره میکنیم.سپس، با استفاده از فرمول، مقادیر آنالوگ را به مقادیر شتاب خطی تبدیل میکنیم. فرمول مبتنی بر ولتاژ مرجع 3.3 ولت و فرمول خاصی که بر اساس محدوده مقادیر شتابسنج ADXL335 تعیین شده است، است.سپس مقادیر شتاب در جهتهای X، Y و Z را با استفاده از دستور Serial.print() در مانیتور سریال چاپ میکنیم. از عبارت \t برای ایجاد یک تب بین مقادیر استفاده میکنیم.
در نهایت، با استفاده از دستور delay(500)، برنامه را به مدت ۵۰۰ میلیثانیه تاخیر میدهیم تا بین هر دو خواندن و چاپ مقادیر شتاب، فاصلهای ایجاد شود.با اجرای این کد، مقادیر شتاب در جهتهای X، Y و Z را میتوانید به صورت عددی در مانیتور سریال مشاهده کنید.
// کد آردوینو برای سنسور شتابسنج ADXL335
// پینها
const int xPin = A0; // ورودی آنالوگ محور X
const int yPin = A1; // ورودی آنالوگ محور Y
const int zPin = A2; // ورودی آنالوگ محور Z
void setup() {
Serial.begin(9600); // شروع ارتباط سریال
}
void loop() {
// خواندن مقادیر آنالوگ
int xValue = analogRead(xPin);
int yValue = analogRead(yPin);
int zValue = analogRead(zPin);
// تبدیل مقادیر آنالوگ به مقادیر شتاب
float xAcc = (xValue - 512) * (3.3 / 512);
float yAcc = (yValue - 512) * (3.3 / 512);
float zAcc = (zValue - 512) * (3.3 / 512);
// چاپ مقادیر شتاب
Serial.print("محور X: ");
Serial.print(xAcc);
Serial.print(" g\t");
Serial.print("محور Y: ");
Serial.print(yAcc);
Serial.print(" g\t");
Serial.print("محور Z: ");
Serial.print(zAcc);
Serial.println(" g");
delay(500); // تاخیر برای استقرار
}
راه اندازی ماژول ADXL335 با میکروپایتون ESP32, RP2040
بطور خلاصه، این کد MicroPython به شما امکان میدهد تا مقادیر شتاب خطی در سه جهت X، Y و Z را از سنسور ADXL335 خوانده و آنها را چاپ کنید. ابتدا، ماژول ADC را با استفاده از from machine import ADC وارد میکنیم. این ماژول امکان خواندن مقادیر آنالوگ را از پینهای ورودی ADC بر روی برد ماکروکنترلر را فراهم میکند. سپس، پینهای ADC مورد استفاده را تعریف میکنیم با استفاده از xPin = ADC(0)، yPin = ADC(1) و zPin = ADC(2).در حلقه اصلی while True، برنامه به صورت مداوم تکرار میشود.
در هر تکرار حلقه، ابتدا مقادیر آنالوگ موجود در پینهای ADC را با استفاده از read() خوانده و در متغیرهای xValue، yValue و zValue ذخیره میکنیم.سپس، با استفاده از فرمول مشابه به آردوینو، مقادیر آنالوگ را به مقادیر شتاب خطی تبدیل میکنیم. فرمول بر اساس محدوده مقادیر شتابسنج ADXL335 و ولتاژ مرجع 3.3 ولت تنظیم شده است.
سپس مقادیر شتاب در جهتهای X، Y و Z را با استفاده از دستور print() چاپ میکنیم.در انتها، با استفاده از time.sleep(0.5)، برنامه را به مدت ۰.۵ ثانیه تاخیر میدهیم تا بین هر دو خواندن و چاپ مقادیر شتاب، فاصلهای ایجاد شود.با اجرای این کد، مقادیر شتاب در جهتهای X، Y و Z را میتوانید در خروجی MicroPython (مانند REPL یا مانیتور سریال) مشاهده کنید.
from machine import ADC
import time
# ADC pins
xPin = ADC(0)
yPin = ADC(1)
zPin = ADC(2)
# Main loop
while True:
# Read analog values
xValue = xPin.read()
yValue = yPin.read()
zValue = zPin.read()
# Convert analog values to acceleration values
xAcc = (xValue - 512) * (3.3 / 1023)
yAcc = (yValue - 512) * (3.3 / 1023)
zAcc = (zValue - 512) * (3.3 / 1023)
# Print acceleration values
print("X-Axis:", xAcc, "g")
print("Y-Axis:", yAcc, "g")
print("Z-Axis:", zAcc, "g")
time.sleep(0.5) # Delay for stability
مشخصات
- نوع ماژول
- شتاب و ژایرو
- تعداد قطعات
- 8 عدد
- ابعاد فیبر
- 1.5 * 2 سانتی متر
- ولتاژ مورد نياز
- 1.8 تا 3.6 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دو رو
- توان
- تشخیص شتاب های حرکتی، لرزش ها و شوک های مکانیکی
- ظرفیت
- تشخیص سه محوری X , Y , Z
- چاپ مس
- دارای چاپ آبی
- کشور سازنده
- چین
- نوع کانکتور
- پین هدر
- نوع سنسور
- شتاب سنج
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.