সুচিপত্র:

H3LIS331DL এবং কণা ফোটন ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ
H3LIS331DL এবং কণা ফোটন ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ

ভিডিও: H3LIS331DL এবং কণা ফোটন ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ

ভিডিও: H3LIS331DL এবং কণা ফোটন ব্যবহার করে ত্বরণের পরিমাপ: 4 টি ধাপ
ভিডিও: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, জুলাই
Anonim
Image
Image

H3LIS331DL, ডিজিটাল I²C সিরিয়াল ইন্টারফেস সহ "ন্যানো" পরিবারের অন্তর্গত একটি নিম্ন-শক্তি উচ্চ-কর্মক্ষমতা 3-অক্ষ রৈখিক অ্যাকসিলরোমিটার। H3LIS331DL ব্যবহারকারীর select 100g/± 200g/± 400g এর পূর্ণাঙ্গ স্কেল রয়েছে এবং এটি 0.5 Hz থেকে 1 kHz পর্যন্ত আউটপুট ডেটা রেটের সাথে ত্বরণ পরিমাপ করতে সক্ষম। H3LIS331DL -40 ° C থেকে +85 ° C পর্যন্ত বর্ধিত তাপমাত্রার পরিসরে কাজ করার নিশ্চয়তা দেওয়া হয়।

এই টিউটোরিয়ালে আমরা কণা ফোটনের সাথে H3LIS331DL এর ইন্টারফেসিং প্রদর্শন করতে যাচ্ছি।

পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:

হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন

আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:

1. H3LIS331DL

2. কণা ফোটন

3. I2C কেবল

4. কণা ফোটনের জন্য I2C ieldাল

পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:

হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি

হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং কণা ফোটনের মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:

H3LIS331DL I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।

বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই। আপনার প্রয়োজন শুধু চারটি তারের!

VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।

এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।

ধাপ 3: ত্বরণ পরিমাপের জন্য কোড:

ত্বরণ পরিমাপের জন্য কোড
ত্বরণ পরিমাপের জন্য কোড

এখন কণা কোড দিয়ে শুরু করা যাক।

Arduino এর সাথে সেন্সর মডিউল ব্যবহার করার সময়, আমরা application.h এবং spark_wiring_i2c.h লাইব্রেরি অন্তর্ভুক্ত করি। "application.h" এবং spark_wiring_i2c.h লাইব্রেরিতে ফাংশন রয়েছে যা সেন্সর এবং কণার মধ্যে i2c যোগাযোগ সহজ করে।

ব্যবহারকারীর সুবিধার জন্য সম্পূর্ণ কণা কোড নিচে দেওয়া হল:

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

// H3LIS331DL I2C ঠিকানা হল 0x18 (24)

#সংযোজনকারী 0x18

int xAccl = 0, yAccl = 0, zAccl = 0;

অকার্যকর সেটআপ()

{

// পরিবর্তনশীল সেট করুন

Particle.variable ("i2cdevice", "H3LIS331DL");

Particle.variable ("xAccl", xAccl);

Particle.variable ("yAccl", yAccl);

Particle.variable ("zAccl", zAccl);

// মাস্টার হিসাবে I2C যোগাযোগ শুরু করুন

Wire.begin ();

// সিরিয়াল যোগাযোগ শুরু করুন, বড রেট = 9600 সেট করুন

Serial.begin (9600);

// I2C ট্রান্সমিশন শুরু করুন

Wire.beginTransmission (Addr);

// নিয়ন্ত্রণ রেজিস্টার নির্বাচন করুন 1

Wire.write (0x20);

// X, Y, Z অক্ষ, পাওয়ার অন মোড, ডেটা আউটপুট রেট 50Hz সক্ষম করুন

Wire.write (0x27);

// I2C ট্রান্সমিশন বন্ধ করুন

Wire.endTransmission ();

// I2C ট্রান্সমিশন শুরু করুন

Wire.beginTransmission (Addr);

// নিয়ন্ত্রণ রেজিস্টার নির্বাচন করুন 4

Wire.write (0x23);

// সম্পূর্ণ স্কেল সেট করুন, +/- 100g, ক্রমাগত আপডেট

Wire.write (0x00);

// I2C ট্রান্সমিশন বন্ধ করুন

Wire.endTransmission ();

বিলম্ব (300);

}

অকার্যকর লুপ ()

{

স্বাক্ষরবিহীন int ডেটা [6];

জন্য (int i = 0; i <6; i ++)

{

// I2C ট্রান্সমিশন শুরু করুন

Wire.beginTransmission (Addr);

// ডাটা রেজিস্টার নির্বাচন করুন

Wire.write ((40 + i));

// I2C ট্রান্সমিশন বন্ধ করুন

Wire.endTransmission ();

// 1 বাইট ডেটা অনুরোধ করুন

Wire.requestFrom (Addr, 1);

// 6 বাইট ডেটা পড়ুন

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

যদি (Wire.available () == 1)

{

ডেটা = ওয়্যার.রেড ();

}

বিলম্ব (300);

}

// তথ্য রূপান্তর

int xAccl = ((data [1] * 256) + data [0]);

যদি (xAccl> 32767)

{

xAccl -= 65536;

}

int yAccl = ((data [3] * 256) + data [2]);

যদি (yAccl> 32767)

{

yAccl -= 65536;

}

int zAccl = ((data [5] * 256) + data [4]);

যদি (zAccl> 32767)

{

zAccl -= 65536;

}

// ড্যাশবোর্ডে আউটপুট ডেটা

Particle.publish ("এক্স-এক্সিসে এক্সিলারেশন হল:", স্ট্রিং (xAccl));

Particle.publish ("Y-Axis- এ এক্সিলারেশন হল:", স্ট্রিং (yAccl));

Particle.publish ("Z-Axis- এ ত্বরণ হল:", স্ট্রিং (zAccl));

বিলম্ব (300);

}

Particle.variable () ফাংশন সেন্সরের আউটপুট সংরক্ষণ করার জন্য ভেরিয়েবল তৈরি করে এবং Particle.publish () ফাংশন সাইটের ড্যাশবোর্ডে আউটপুট প্রদর্শন করে।

আপনার রেফারেন্সের জন্য উপরের ছবিতে সেন্সর আউটপুট দেখানো হয়েছে।

ধাপ 4: অ্যাপ্লিকেশন:

অ্যাপ্লিকেশন
অ্যাপ্লিকেশন

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

প্রস্তাবিত: