সুচিপত্র:
- পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:
- পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:
- ধাপ 3: ত্বরণ পরিমাপের জন্য Arduino কোড:
- ধাপ 4: অ্যাপ্লিকেশন:
ভিডিও: BMA250 এবং Arduino Nano ব্যবহার করে ত্বরণ পরিমাপ: 4 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
BMA250 হল একটি ছোট, পাতলা, অতিবেগুনি শক্তি, 3-অক্ষের অ্যাকসিলরোমিটার যার উচ্চ রেজোলিউশন (13-বিট) পরিমাপ ± 16 গ্রাম পর্যন্ত। ডিজিটাল আউটপুট ডেটা 16-বিট দুইটি পরিপূরক হিসাবে ফরম্যাট করা হয় এবং I2C ডিজিটাল ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য। এটি টিল্ট-সেন্সিং অ্যাপ্লিকেশনগুলিতে মাধ্যাকর্ষণের স্থির ত্বরণ পরিমাপ করে, পাশাপাশি গতি বা শক থেকে সৃষ্ট গতিশীল ত্বরণ। এর উচ্চ রেজোলিউশন (3.9 মিগ্রা/এলএসবি) 1.0 than এর কম প্রবণতা পরিবর্তনের পরিমাপ সক্ষম করে।
এই টিউটোরিয়ালে আমরা BMA250 এবং Arduino Nano ব্যবহার করে তিনটি লম্ব অক্ষের ত্বরণ পরিমাপ করতে যাচ্ছি।
পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:
আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:
1. বিএমএ 250
2. Arduino Nano
3. I2C কেবল
4. Arduino ন্যানোর জন্য I2C শিল্ড
পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:
হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং আরডুইনো এর মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:
BMA250 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।
বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই। আপনার প্রয়োজন শুধু চারটি তারের!
VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।
এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।
ধাপ 3: ত্বরণ পরিমাপের জন্য Arduino কোড:
এখন Arduino কোড দিয়ে শুরু করা যাক।
Arduino এর সাথে সেন্সর মডিউল ব্যবহার করার সময়, আমরা Wire.h লাইব্রেরি অন্তর্ভুক্ত করি। "ওয়্যার" লাইব্রেরিতে ফাংশন রয়েছে যা সেন্সর এবং আরডুইনো বোর্ডের মধ্যে i2c যোগাযোগ সহজ করে।
ব্যবহারকারীর সুবিধার জন্য পুরো Arduino কোড নিচে দেওয়া হল:
#অন্তর্ভুক্ত
// BMA250 I2C ঠিকানা হল 0x18 (24)
#সংযোজনকারী 0x18
অকার্যকর সেটআপ()
{
// মাস্টার হিসাবে 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 বিটে রূপান্তর করুন
float xAccl = ((data [1] * 256.0) + (data [0] & 0xC0)) / 64;
যদি (xAccl> 511)
{
xAccl -= 1024;
}
ভাসা yAccl = ((তথ্য [3] * 256.0) + (তথ্য [2] এবং 0xC0)) / 64;
যদি (yAccl> 511)
{
yAccl -= 1024;
}
float zAccl = ((data [5] * 256.0) + (data [4] & 0xC0)) / 64;
যদি (zAccl> 511)
{
zAccl -= 1024;
}
// সিরিয়াল মনিটরে আউটপুট ডেটা
সিরিয়াল.প্রিন্ট ("এক্স-এক্সিসে এক্সিলারেশন:");
Serial.println (xAccl);
Serial.print ("Y-Axis- এ ত্বরণ:");
Serial.println (yAccl);
সিরিয়াল.প্রিন্ট ("Z-Axis- এ এক্সিলারেশন:");
Serial.println (zAccl);
}
ওয়্যার লাইব্রেরিতে Wire.write () এবং Wire.read () কমান্ড লিখতে এবং সেন্সর আউটপুট পড়তে ব্যবহৃত হয়। Serial.print () এবং Serial.println () Arduino IDE এর সিরিয়াল মনিটরে সেন্সর আউটপুট প্রদর্শন করতে ব্যবহৃত হয়।
উপরের ছবিতে সেন্সর আউটপুট দেখানো হয়েছে।
ধাপ 4: অ্যাপ্লিকেশন:
BMA250 এর মতো অ্যাকসিলরোমিটার বেশিরভাগ গেম এবং ডিসপ্লে প্রোফাইল স্যুইচিংয়ে এর প্রয়োগ খুঁজে পায়। এই সেন্সর মডিউলটি মোবাইল অ্যাপ্লিকেশনের জন্য উন্নত বিদ্যুৎ ব্যবস্থাপনা পদ্ধতিতেও নিযুক্ত করা হয়। BMA250 হল একটি ত্রিমাত্রিক ডিজিটাল ত্বরণ সেন্সর যা একটি বুদ্ধিমান অন-চিপ মোশন ট্রিগারড ইন্টারাপ্ট কন্ট্রোলারের সাথে যুক্ত।
প্রস্তাবিত:
আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং Arduino Nano ব্যবহার করে: 4 টি ধাপ
HIH6130 এবং Arduino Nano ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HIH6130 ডিজিটাল আউটপুট সহ আর্দ্রতা এবং তাপমাত্রা সেন্সর। এই সেন্সরগুলি ± 4% RH এর নির্ভুলতা স্তর প্রদান করে। শিল্প-নেতৃস্থানীয় দীর্ঘমেয়াদী স্থিতিশীলতা, প্রকৃত তাপমাত্রা-ক্ষতিপূরণযুক্ত ডিজিটাল I2C, শিল্প-নেতৃস্থানীয় নির্ভরযোগ্যতা, শক্তি দক্ষতা
HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: 4 টি ধাপ
HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা ও আর্দ্রতার পরিমাপ: HDC1000 হল একটি ডিজিটাল আর্দ্রতা সেন্সর যার সমন্বিত তাপমাত্রা সেন্সর যা খুব কম শক্তিতে চমৎকার পরিমাপ নির্ভুলতা প্রদান করে। ডিভাইসটি একটি নতুন ক্যাপাসিটিভ সেন্সরের উপর ভিত্তি করে আর্দ্রতা পরিমাপ করে। আর্দ্রতা এবং তাপমাত্রা সেন্সর মুখ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ: 6 টি ধাপ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ করা: অ্যাক্সিলারেশন সীমিত, আমি মনে করি পদার্থবিজ্ঞানের কিছু আইন অনুসারে।- টেরি রিলি একটি চিতা তাড়া করার সময় আশ্চর্যজনক ত্বরণ এবং গতিতে দ্রুত পরিবর্তন ব্যবহার করে। দ্রুততম প্রাণীটি একবারে উপকূলে শিকারের জন্য তার সর্বোচ্চ গতি ব্যবহার করে। দ্য
BMA250 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণ পরিমাপ: 4 টি ধাপ
BMA250 এবং রাস্পবেরি পাই ব্যবহার করে ত্বরণ পরিমাপ: BMA250 হল একটি ছোট, পাতলা, অতিবেগুনি শক্তি, 3-অক্ষের অ্যাকসিলরোমিটার যার উচ্চ রেজোলিউশন (13-বিট) পরিমাপ ± 16 গ্রাম পর্যন্ত। ডিজিটাল আউটপুট ডেটা 16-বিট দুইটি পরিপূরক হিসাবে ফরম্যাট করা হয় এবং I2C ডিজিটাল ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য। এটি স্থির পরিমাপ করে
BMA250 এবং কণা ফোটন ব্যবহার করে ত্বরণ পরিমাপ: 4 টি ধাপ
BMA250 এবং কণা ফোটন ব্যবহার করে ত্বরণ পরিমাপ: BMA250 হল একটি ছোট, পাতলা, অতিবেগুনি শক্তি, উচ্চ-রেজোলিউশন (13-বিট) পরিমাপ সহ 3-অক্ষের অ্যাকসিলরোমিটার ± 16 গ্রাম পর্যন্ত। ডিজিটাল আউটপুট ডেটা 16-বিট দুইটি পরিপূরক হিসাবে ফরম্যাট করা হয় এবং I2C ডিজিটাল ইন্টারফেসের মাধ্যমে অ্যাক্সেসযোগ্য। এটি স্থির পরিমাপ করে