ماژول میدان مغناطیسی MAG3110
ماژول MAG3110 یک سنسور میدان مغناطیسی 3 محوره (X، Y، Z) با دقت بالا و مصرف کم انرژی است که توسط شرکت NXP Semiconductors تولید شده است. این سنسور برای اندازهگیری میدان مغناطیسی در سه جهت مختلف و در کاربردهای مختلف مانند جهتیابی، ردیابی حرکت، اندازهگیری فاصله و کاربردهای صنعتی استفاده میشود.این ماژول قادر است میدان مغناطیسی را در سه جهت X، Y و Z اندازهگیری کند، که این اندازهگیریها به شما اطلاعات دقیقی در مورد جهت و شدت میدان مغناطیسی محیط اطرافتان میدهد. MAG3110 دارای دقت بالایی در اندازهگیری میدان مغناطیسی است، که این ویژگی آن را برای بسیاری از کاربردهایی که نیاز به دقت و قابلیت اعتماد دارند، مناسب میسازد.این ماژول از رابط I2C برای ارتباط با میکروکنترلر یا سیستمهای مختلف استفاده میکند، که این رابط بسیار شناختهشده و در اکثر سیستمهای الکترونیکی موجود است. MAG3110 از مصرف کم انرژی برخوردار است که باعث افزایش عمر باطری در دستگاههایی که از این ماژول استفاده میکنند میشود.استفادههای اصلی از ماژول میدان مغناطیسی MAG3110 عبارتند از جهتیابی در دستگاههای هوشمند، تشخیص حرکت و جهت در دستگاههای قابل حمل، کاربردهای مکانیکی و اتوماسیون صنعتی، سیستمهای مراقبت از خودرو و بسیاری موارد دیگر.
مشخصات فنی ماژول میدان مغناطیسی MAG3110
- ولتاژ تغذیه: 1.95V تا 3.6V
- محدودهی اندازهگیری میدان مغناطیسی در هر سه محور (X، Y، Z): ±1000 μT (میکروتسلا)
- دقت اندازهگیری: تا ±10 μT
- رزولوشن بیتی: 16 بیت
- رابط I2C (Inter-Integrated Circuit)
- مصرف انرژی در حالت فعال: کمتر از 100 میکروآمپر
- مصرف انرژی در حالت استندبای: کمتر از 1 میکروآمپر
- دمای کاری: -40 درجه سانتیگراد تا +85 درجه سانتیگراد
بررسی پایه های ماژول میدان مغناطیسی MAG3110
ماژول میدان مغناطیسی MAG3110 اغلب در انواع مختلف پکیجهای IC مانند QFN (Quad Flat No-leads) یا SMD (Surface Mount Device) عرضه میشود. هر پکیج میتواند دارای تعداد و ترتیب مختلفی از پایهها باشد. اگرچه ترتیب دقیق پایهها بسته به پکیج مورد استفاده ممکن است تغییر کند، اما در اکثر موارد، پایههای اصلی به شکل زیر خواهند بود:
- VDD: پایه تغذیه. به منبع تغذیه مثبت (3.3V) وصل میشود.
- GND: پایه زمین یا مشترک ارتباطی انرژی.
- SDA: پایه داده (Data) خط I2C. از طریق این پایه، دادهها به و از ماژول ارسال میشوند.
- SCL: پایه ساعت (Clock) خط I2C. این پایه برای هماهنگسازی تراکنشهای دادهها در ارتباط I2C استفاده میشود.
- INT: پایه وقفه (Interrupt). این پایه برای ایجاد وقفه در میکروکنترلر یا سیستمهای مختلف در صورت رخداد یک شرایط خاص مانند تشخیص حرکت یا تغییر قطبیت میدان مغناطیسی استفاده میشود.
به همراه سنسور میدان مغناطیسی MAG3110 چه اقلامی باید خریداری شود؟
- برد آردوینو
- نمایشگر
- کابل فلت
- برد بورد
راه اندازی ماژول میدان مغناطیسی MAG3110 با آردوینو
برای راهاندازی ماژول میدان مغناطیسی MAG3110 با آردوینو، مراحل زیر را میتوانید دنبال کنید.
- اتصال پایه VDD به منبع تغذیه 3.3 ولت.
- اتصال پایه GND به زمین.
- اتصال پایه SDA به پین دیجیتالی آردوینو (پین A4) برای ارتباط I2C داده.
- اتصال پایه SCL به پین دیجیتالی آردوینو (پین A5) برای ارتباط I2C ساعت.
اتصال پایه INT به پین دیجیتالی دیگری از آردوینو (پین 2 یا هر پین دیگری که تمایل دارید برای دریافت وقفه استفاده کنید).برای ارتباط با ماژول MAG3110 از کتابخانه Wire که به صورت پیشفرض در آردوینو وجود دارد، استفاده کنید. این کتابخانه ارتباط I2C را برای شما آسان میکند.در زیر یک نمونه ساده از کد آردوینو برای ارتباط با MAG3110 آمده است:
#include <Wire.h>
#define MAG3110_ADDRESS 0x0E // آدرس I2C ماژول MAG3110
void setup() {
Serial.begin(9600);
Wire.begin();
// تنظیم روشنایی سریع ماژول
Wire.beginTransmission(MAG3110_ADDRESS);
Wire.write(0x10); // آدرس ثبت CTRL_REG1
Wire.write(0x01); // مقدار روشنایی سریع
Wire.endTransmission();
}
void loop() {
int x, y, z;
// خواندن مقادیر میدان مغناطیسی از ماژول
Wire.beginTransmission(MAG3110_ADDRESS);
Wire.write(0x01); // آدرس ثبت OUT_X_MSB
Wire.endTransmission();
Wire.requestFrom(MAG3110_ADDRESS, 6); // درخواست 6 بایت اطلاعات
if (Wire.available() >= 6) {
x = Wire.read() << 8 | Wire.read();
y = Wire.read() << 8 | Wire.read();
z = Wire.read() << 8 | Wire.read();
Serial.print("X: ");
Serial.print(x);
Serial.print(" | Y: ");
Serial.print(y);
Serial.print(" | Z: ");
Serial.println(z);
}
delay(1000);
}
راه اندازی ماژول میدان مغناطیسی MAG3110 با میکروپایتون
برای راهاندازی ماژول میدان مغناطیسی MAG3110 با میکروپایتون، میتوانید از ماژول micropython-i2c استفاده کنید که امکان ارتباط I2C را با این ماژول در میکروپایتون فراهم میکند. در اینجا نحوه راهاندازی ماژول MAG3110 با میکروپایتون آمده است:
import i2c
MAG3110_ADDRESS = 0x0E # آدرس I2C ماژول MAG3110
# تنظیم روشنایی سریع ماژول
i2c.init()
i2c.start()
i2c.writeto(MAG3110_ADDRESS, bytes([0x10, 0x01]))
i2c.stop()
while True:
# خواندن مقادیر میدان مغناطیسی از ماژول
i2c.start()
i2c.writeto(MAG3110_ADDRESS, bytes([0x01]))
values = i2c.readfrom(MAG3110_ADDRESS, 6)
i2c.stop()
x = (values[0] << 8) | values[1]
y = (values[2] << 8) | values[3]
z = (values[4] << 8) | values[5]
print("X:", x, "| Y:", y, "| Z:", z)
مشخصات
- کاربری
- استفاده نیمه صنعتی
- تعداد قطعات
- 14 عدد
- ابعاد فیبر
- 15 * 17 میلی متر
- تعداد فیبر
- 1 عدد
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ولتاژ مورد نياز
- 3.3 و 5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دورو متالیزه
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 6 پایه
- اقلام همراه محصول
- پین هدر نری
- ترتیب پایه ها
- طبق چاپ راهنما و یا مراجعه به دیتاشیت
- کشور سازنده
- چین
- نوع کانکتور
- پین هدر
- سنسور
- MAG3110
- پروتکل ارتباطی
- I2C
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.