فهرست مطالب:
تصویری: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python آموزش: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
ADXL345 یک شتاب سنج کوچک ، باریک ، فوق العاده کم ، 3 محور با اندازه گیری وضوح بالا (13 بیت) تا 16 گرم پوند است. داده های خروجی دیجیتال به صورت مکمل 16 بیتی دو فرمت شده و از طریق رابط دیجیتال I2 C قابل دسترسی است. شتاب ثابتی گرانش را در برنامه های حسگر شیب و همچنین شتاب پویا ناشی از حرکت یا ضربه اندازه گیری می کند. وضوح بالا (3.9 میلی گرم/LSB) اندازه گیری تغییرات شیب کمتر از 1.0 درجه را امکان پذیر می کند. در اینجا این نمایش با تمشک pi با استفاده از کد پایتون است.
مرحله 1: آنچه شما نیاز دارید..
1. تمشک پای
2. ADXL345
3. کابل I²C
4. I²C Shield برای رزبری پای
5. کابل اترنت
مرحله 2: اتصال:
یک سپر I2C برای تمشک pi بگیرید و آن را به آرامی روی پایه های gpio تمشک pi فشار دهید.
سپس یک سر کابل I2C را به سنسور ADXL345 و سر دیگر را به سپر I2C وصل کنید.
همچنین کابل اترنت را به pi وصل کنید یا می توانید از ماژول WiFi استفاده کنید.
اتصالات در تصویر بالا نشان داده شده است.
مرحله 3: کد:
کد پایتون ADXL345 را می توانید از مخزن GitHub ما بارگیری کنید- فروشگاه Dcube
در اینجا پیوند مربوط به آن است:
github.com/DcubeTechVentures/ADXL345..
ما از کتابخانه SMBus برای کد پایتون استفاده کرده ایم ، مراحل نصب SMBus بر روی تمشک pi در اینجا شرح داده شده است:
pypi.python.org/pypi/smbus-cffi/0.5.1
همچنین می توانید کد را از اینجا کپی کنید ، به صورت زیر آمده است:
# توزیع شده با مجوز اراده آزاد.
# از آن به هر نحوی که می خواهید استفاده کنید ، سودمند یا رایگان ، مشروط بر اینکه در مجوز آثار مرتبط با آن متناسب باشد.
# ADXL345
# این کد برای کار با ADXL345_I2CS I2C Mini Module موجود در فروشگاه Dcube طراحی شده است.
smbus وارد کنید
زمان واردات
# اتوبوس I2C بگیرید
bus = smbus. SMBus (1)
آدرس # ADXL345 ، 0x53 (83)
# ثبت نرخ پهنای باند ، 0x2C (44)# 0x0A (10) حالت عادی ، نرخ داده خروجی = 100 هرتز
bus.write_byte_data (0x53 ، 0x2C ، 0x0A)
آدرس # ADXL345 ، 0x53 (83)
# ثبت کنترل قدرت ، 0x2D (45)
# 0x08 (08) خواب خودکار غیرفعال می شود
bus.write_byte_data (0x53 ، 0x2D ، 0x08)
آدرس # ADXL345 ، 0x53 (83)
# ثبت فرمت داده را انتخاب کنید ، 0x31 (49)
# 0x08 (08) خودآزمایی غیرفعال ، رابط 4 سیم
# وضوح کامل ، محدوده = +/- 2g
bus.write_byte_data (0x53 ، 0x31 ، 0x08)
زمان خواب (0.5)
آدرس # ADXL345 ، 0x53 (83)
# داده ها را از 0x32 (50) ، 2 بایت برگردانید
# X-Axis LSB ، X-Axis MSB
data0 = bus.read_byte_data (0x53 ، 0x32)
data1 = bus.read_byte_data (0x53 ، 0x33)
# داده ها را به 10 بیت تبدیل کنید
xAccl = ((data1 & 0x03) * 256) + data0
اگر xAccl> 511:
xAccl -= 1024
آدرس # ADXL345 ، 0x53 (83)
# خواندن داده ها از 0x34 (52) ، 2 بایت
# Y-Axis LSB ، Y-Axis MSB
data0 = bus.read_byte_data (0x53 ، 0x34)
data1 = bus.read_byte_data (0x53 ، 0x35)
# داده ها را به 10 بیت تبدیل کنید
yAccl = ((data1 & 0x03) * 256) + data0
اگر yAccl> 511:
yAccl -= 1024
آدرس # ADXL345 ، 0x53 (83)
# داده ها را از 0x36 (54) ، 2 بایت برگردانید
# Z-Axis LSB ، Z-Axis MSB
data0 = bus.read_byte_data (0x53 ، 0x36)
data1 = bus.read_byte_data (0x53 ، 0x37)
# داده ها را به 10 بیت تبدیل کنید
zAccl = ((data1 & 0x03) * 256) + data0
اگر zAccl> 511:
zAccl -= 1024
# خروجی داده ها به صفحه
print "Acceleration in X-Axis:٪ d"٪ xAccl
print "Acceleration in Y-Axis:٪ d"٪ yAccl
print "Acceleration in Z-Axis:٪ d"٪ zAccl
مرحله 4: برنامه های کاربردی:
ADXL345 یک شتاب سنج کوچک ، باریک ، فوق العاده کم ، سه محور است که می تواند در گوشی ها ، ابزار پزشکی و غیره استفاده شود. برنامه کاربردی آن همچنین شامل دستگاه های بازی و اشاره ، ابزارهای صنعتی ، دستگاه های ناوبری شخصی و حفاظت از هارد دیسک (HDD) است.
توصیه شده:
سه مدار بلندگو -- آموزش مرحله به مرحله: 3 مرحله
سه مدار بلندگو || آموزش گام به گام: مدار بلندگو سیگنال های صوتی دریافت شده از محیط را بر روی MIC تقویت می کند و از محل تولید صدای تقویت شده به بلندگو ارسال می کند. در اینجا ، من سه روش مختلف برای ساخت این مدار بلندگو با استفاده از موارد زیر را به شما نشان خواهم داد
آموزش Arduino Hang Guardian - آموزش تایمر نگهبان Arduino: 6 مرحله
Arduino Hang Guardian - آموزش تایمر نگهبان Arduino: سلام به همه ، برای همه ما اتفاق می افتد. شما یک پروژه می سازید ، با اشتیاق تمام سنسورها را به هم وصل می کنید ، و ناگهان ، آردوینو متوقف می شود و هیچ ورودی پردازش نمی شود. "چه اتفاقی می افتد؟" ، شما می پرسید و شروع به کاوش در کد خود می کنید ، تا دوباره
Raspberry Pi - TSL45315 Ambient Light Sensor Python آموزش: 4 مرحله
Raspberry Pi - TSL45315 Ambient Light Sensor پایتون آموزش: TSL45315 یک سنسور دیجیتال نور محیط است. این واکنش چشم انسان را در شرایط مختلف نوری تقریبی می کند. دستگاه ها دارای سه زمان ادغام قابل انتخاب بوده و خروجی لوکس 16 بیتی مستقیم را از طریق رابط گذرگاه I2C ارائه می دهند. دستگاه همکاری
Raspberry Pi - TCN75A Temperature Sensor Python آموزش: 4 مرحله
Raspberry Pi-TCN75A Temperature Sensor Python Tutorial: TCN75A یک سنسور دمای سریال دو سیمه است که با مبدل دما به دیجیتال ترکیب شده است. این دستگاه با رجیسترهای قابل برنامه ریزی کاربر که انعطاف پذیری را برای برنامه های سنجش دما ایجاد می کند ، گنجانده شده است. تنظیمات ثبت به کاربران امکان می دهد
Raspberry Pi TMP112 Temperature Sensor Python آموزش: 4 مرحله
Raspberry Pi TMP112 Temperature Sensor Python: TMP112 ماژول I2C MINI با دقت بالا ، کم مصرف ، سنسور دما دیجیتال. TMP112 برای اندازه گیری دمای طولانی ایده آل است. این دستگاه دقت ± 0.5 درجه سانتی گراد را بدون نیاز به کالیبراسیون یا تهویه سیگنال جزء خارجی ارائه می دهد