
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36


BMA250 হল একটি ছোট, পাতলা, অতিবেগুনি শক্তি, 3-অক্ষের অ্যাকসিলরোমিটার যার উচ্চ রেজোলিউশন (13-বিট) পরিমাপ ± 16 গ্রাম পর্যন্ত। ডিজিটাল আউটপুট ডেটা 16-বিট দুইটি পরিপূরক হিসাবে ফরম্যাট করা হয় এবং I2C ডিজিটাল ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য। এটি টিল্ট-সেন্সিং অ্যাপ্লিকেশনগুলিতে মাধ্যাকর্ষণের স্থির ত্বরণ পরিমাপ করে, পাশাপাশি গতি বা শক থেকে সৃষ্ট গতিশীল ত্বরণ। এর উচ্চ রেজোলিউশন (3.9 মিগ্রা/এলএসবি) 1.0 than এর কম প্রবণতা পরিবর্তনের পরিমাপ সক্ষম করে।
এই টিউটোরিয়ালে আমরা BMA250 এবং কণা ফোটন ব্যবহার করে তিনটি লম্ব অক্ষের ত্বরণ পরিমাপ করতে যাচ্ছি।
পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:



আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:
1. বিএমএ 250
2. কণা ফোটন
3. I2C কেবল
4. কণা ফোটনের জন্য I2C শিল্ড
পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:


হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং কণা ফোটনের মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:
BMA250 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।
বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই। আপনার প্রয়োজন শুধু চারটি তারের!
VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।
এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।
ধাপ 3: ত্বরণ পরিমাপ করার কোড:

এখন কণা কোড দিয়ে শুরু করা যাক।
Arduino এর সাথে সেন্সর মডিউল ব্যবহার করার সময়, আমরা application.h এবং spark_wiring_i2c.h লাইব্রেরি অন্তর্ভুক্ত করি। "application.h" এবং spark_wiring_i2c.h লাইব্রেরিতে ফাংশন রয়েছে যা সেন্সর এবং কণার মধ্যে i2c যোগাযোগ সহজ করে।
ব্যবহারকারীর সুবিধার জন্য সম্পূর্ণ কণা কোড নিচে দেওয়া হল:
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
// BMA250 I2C ঠিকানা হল 0x18 (24)
#সংযোজনকারী 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
অকার্যকর সেটআপ()
{
// পরিবর্তনশীল সেট করুন
Particle.variable ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// মাস্টার হিসাবে I2C যোগাযোগ শুরু করুন
Wire.begin ();
// সিরিয়াল যোগাযোগ শুরু করুন, বড রেট = 9600 সেট করুন
Serial.begin (9600);
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// পরিসীমা নির্বাচন রেজিস্টার নির্বাচন করুন
Wire.write (0x0F);
// সেট পরিসীমা +/- 2g
Wire.write (0x03);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ব্যান্ডউইথ রেজিস্টার নির্বাচন করুন
Wire.write (0x10);
// সেট ব্যান্ডউইথ 7.81 Hz
Wire.write (0x08);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
বিলম্ব (300);}
অকার্যকর লুপ ()
{
স্বাক্ষরবিহীন int ডেটা [0];
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডাটা রেজিস্টার নির্বাচন করুন (0x02 - 0x07)
Wire.write (0x02);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// অনুরোধ 6 বাইট
Wire.requestFrom (Addr, 6);
// ছয় বাইট পড়ুন
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
যদি (Wire.available () == 6)
{
ডেটা [0] = ওয়্যার.রেড ();
ডেটা [1] = ওয়্যার.রেড ();
ডেটা [2] = ওয়্যার.রেড ();
ডেটা [3] = ওয়্যার.রেড ();
তথ্য [4] = Wire.read ();
তথ্য [5] = ওয়্যার.রেড ();
}
বিলম্ব (300);
// ডেটাকে 10 বিটে রূপান্তর করুন
xAccl = ((data [1] * 256) + (data [0] & 0xC0)) / 64;
যদি (xAccl> 511)
{
xAccl -= 1024;
}
yAccl = ((data [3] * 256) + (data [2] & 0xC0)) / 64;
যদি (yAccl> 511)
{
yAccl -= 1024;
}
zAccl = ((data [5] * 256) + (data [4] & 0xC0)) / 64;
যদি (zAccl> 511)
{
zAccl -= 1024;
}
// ড্যাশবোর্ডে আউটপুট ডেটা
Particle.publish ("এক্স-এক্সিসে এক্সিলারেশন:", স্ট্রিং (xAccl));
বিলম্ব (1000);
Particle.publish ("Y-Axis- এ এক্সিলারেশন:", স্ট্রিং (yAccl));
বিলম্ব (1000);
Particle.publish ("Z-Axis- এ ত্বরণ:", স্ট্রিং (zAccl));
বিলম্ব (1000);
}
Particle.variable () ফাংশন সেন্সরের আউটপুট সংরক্ষণ করার জন্য ভেরিয়েবল তৈরি করে এবং Particle.publish () ফাংশন সাইটের ড্যাশবোর্ডে আউটপুট প্রদর্শন করে।
আপনার রেফারেন্সের জন্য উপরের ছবিতে সেন্সর আউটপুট দেখানো হয়েছে।
ধাপ 4: অ্যাপ্লিকেশন:

BMA250 এর মতো অ্যাকসিলরোমিটার বেশিরভাগ গেম এবং ডিসপ্লে প্রোফাইল স্যুইচিংয়ে এর প্রয়োগ খুঁজে পায়। এই সেন্সর মডিউলটি মোবাইল অ্যাপ্লিকেশনের জন্য উন্নত বিদ্যুৎ ব্যবস্থাপনা পদ্ধতিতেও নিযুক্ত করা হয়। BMA250 হল একটি ত্রিমাত্রিক ডিজিটাল ত্বরণ সেন্সর যা একটি বুদ্ধিমান অন-চিপ মোশন ট্রিগারড ইন্টারাপ্ট কন্ট্রোলারের সাথে যুক্ত।
প্রস্তাবিত:
BMA250 এবং Arduino Nano ব্যবহার করে ত্বরণ পরিমাপ: 4 টি ধাপ

BMA250 এবং Arduino Nano ব্যবহার করে ত্বরণ পরিমাপ: BMA250 হল একটি ছোট, পাতলা, অতিবেগুনি শক্তি, 3-অক্ষের অ্যাকসিলরোমিটার যার উচ্চ রেজোলিউশন (13-বিট) পরিমাপ ± 16 গ্রাম পর্যন্ত। ডিজিটাল আউটপুট ডেটা 16-বিট দুইটি পরিপূরক হিসাবে ফরম্যাট করা হয় এবং I2C ডিজিটাল ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য। এটি স্থির পরিমাপ করে
BMA250 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণ পরিমাপ: 4 টি ধাপ

BMA250 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণ পরিমাপ: BMA250 হল একটি ছোট, পাতলা, অতিবেগুনি শক্তি, 3-অক্ষের অ্যাকসিলরোমিটার যার উচ্চ রেজোলিউশন (13-বিট) পরিমাপ ± 16 গ্রাম পর্যন্ত। ডিজিটাল আউটপুট ডেটা 16-বিট দুইটি পরিপূরক হিসাবে ফরম্যাট করা হয় এবং I2C ডিজিটাল ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য। এটি স্থির পরিমাপ করে
আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং কণা ফোটন ব্যবহার করে: 4 টি ধাপ

HIH6130 এবং কণা ফোটন ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HIH6130 ডিজিটাল আউটপুট সহ আর্দ্রতা এবং তাপমাত্রা সেন্সর। এই সেন্সরগুলি ± 4% RH এর নির্ভুলতা স্তর প্রদান করে। শিল্প-নেতৃস্থানীয় দীর্ঘমেয়াদী স্থিতিশীলতা, প্রকৃত তাপমাত্রা-ক্ষতিপূরণযুক্ত ডিজিটাল I2C, শিল্প-নেতৃস্থানীয় নির্ভরযোগ্যতা, শক্তি দক্ষতা
HDC1000 এবং কণা ফোটন ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: 4 টি ধাপ

HDC1000 এবং কণা ফোটন ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: HDC1000 হল একটি ডিজিটাল আর্দ্রতা সেন্সর সহ সমন্বিত তাপমাত্রা সেন্সর যা খুব কম শক্তিতে চমৎকার পরিমাপ নির্ভুলতা প্রদান করে। ডিভাইসটি একটি নতুন ক্যাপাসিটিভ সেন্সরের উপর ভিত্তি করে আর্দ্রতা পরিমাপ করে। আর্দ্রতা এবং তাপমাত্রা সেন্সর মুখ
HTS221 এবং কণা ফোটন ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ

HTS221 এবং কণা ফোটন ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রার জন্য একটি অতি কম্প্যাক্ট ক্যাপাসিটিভ ডিজিটাল সেন্সর। ডিজিটাল সিরিয়ালের মাধ্যমে পরিমাপের তথ্য প্রদানের জন্য এটি একটি সেন্সিং উপাদান এবং একটি মিশ্র সংকেত অ্যাপ্লিকেশন নির্দিষ্ট সমন্বিত সার্কিট (ASIC) অন্তর্ভুক্ত করে