সুচিপত্র:
- ধাপ 1: BMG160 ওভারভিউ:
- ধাপ 2: আপনার যা প্রয়োজন..
- ধাপ 3: হার্ডওয়্যার সংযুক্তি:
- ধাপ 4: জাভা কোড ব্যবহার করে 3-অক্ষ জাইরোস্কোপ পরিমাপ:
- ধাপ 5: অ্যাপ্লিকেশন:
ভিডিও: রাস্পবেরি পাই দিয়ে 3-অ্যাক্সিস জাইরোস্কোপ সেন্সর BMG160 এর ইন্টারফেসিং: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
আজকের বিশ্বে, অর্ধেকেরও বেশি যুবক এবং শিশুরা গেমিংয়ের প্রতি অনুরক্ত এবং যারা এটির প্রতি অনুরাগী, তারা গেমিংয়ের প্রযুক্তিগত দিকগুলি দেখে মুগ্ধ হয়ে এই ডোমেইনে মোশন সেন্সিংয়ের গুরুত্ব জানে। আমরাও একই জিনিস দেখে বিস্মিত হয়েছি এবং শুধু বোর্ডে এটি আনতে, আমরা একটি জাইরোস্কোপ সেন্সর নিয়ে কাজ করার কথা ভেবেছিলাম যা কোন বস্তুর কৌণিক হার পরিমাপ করতে পারে। সুতরাং, কাজটি মোকাবেলা করার জন্য আমরা যে সেন্সরটি হাতে নিয়েছি তা হল BMG160। বিএমজি 160 একটি 16-বিট, ডিজিটাল, ট্রায়াক্সিয়াল, জাইরোস্কোপ সেন্সর যা তিনটি লম্বকক্ষ কক্ষের কৌণিক হার পরিমাপ করতে পারে।
এই টিউটোরিয়ালে, আমরা জাভাকে প্রোগ্রামিং ভাষা হিসাবে ব্যবহার করে রাস্পবেরি পাই এর সাথে BMG160 এর কাজ প্রদর্শন করতে যাচ্ছি।
হার্ডওয়্যার যে আপনি এই উদ্দেশ্যে প্রয়োজন হতে যাচ্ছে নিম্নরূপ:
1. BMG160
2. রাস্পবেরি পাই
3. I2C কেবল
4. রাস্পবেরি পাই এর জন্য I2C শিল্ড
5. ইথারনেট কেবল
ধাপ 1: BMG160 ওভারভিউ:
সর্বপ্রথম আমরা আপনাকে BMG160 সেন্সর মডিউল এবং যোগাযোগ প্রোটোকলের মৌলিক বৈশিষ্ট্যগুলির সাথে পরিচিত করতে চাই।
BMG160 মূলত একটি 16-বিট, ডিজিটাল, ট্রায়াক্সিয়াল, জাইরোস্কোপ সেন্সর যা কৌণিক হার পরিমাপ করতে পারে। এটি তিনটি লম্ব ঘরের মাত্রা, x-, y- এবং z- অক্ষের মধ্যে কৌণিক হার গণনা করতে এবং সংশ্লিষ্ট আউটপুট সংকেত প্রদান করতে সক্ষম। এটি I2C যোগাযোগ প্রোটোকল ব্যবহার করে রাস্পবেরি পাই বোর্ডের সাথে যোগাযোগ করতে পারে। এই বিশেষ মডিউলটি ভোক্তা অ্যাপ্লিকেশনগুলির পাশাপাশি শিল্পের উদ্দেশ্যে প্রয়োজনীয়তা পূরণের জন্য ডিজাইন করা হয়েছে।
সেন্সর যে কমিউনিকেশন প্রোটোকলের উপর কাজ করে তা হল I2C। I2C মানে ইন্টার-ইন্টিগ্রেটেড সার্কিট। এটি একটি যোগাযোগ প্রোটোকল যেখানে যোগাযোগ SDA (সিরিয়াল ডেটা) এবং এসসিএল (সিরিয়াল ক্লক) লাইনের মাধ্যমে হয়। এটি একই সময়ে একাধিক ডিভাইস সংযুক্ত করার অনুমতি দেয়। এটি একটি সহজ এবং সবচেয়ে কার্যকর যোগাযোগ প্রোটোকল।
ধাপ 2: আপনার যা প্রয়োজন..
আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:
1. BMG160
2. রাস্পবেরি পাই
3. I2C কেবল
4. রাস্পবেরি পাই এর জন্য I2C শিল্ড
5. ইথারনেট কেবল
ধাপ 3: হার্ডওয়্যার সংযুক্তি:
হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং রাস্পবেরি পাই এর মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:
BMG160 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।
বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই। আপনার প্রয়োজন শুধু চারটি তারের!
VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।
এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।
ধাপ 4: জাভা কোড ব্যবহার করে 3-অক্ষ জাইরোস্কোপ পরিমাপ:
রাস্পবেরি পাই ব্যবহারের সুবিধা হল, এটি আপনাকে প্রোগ্রামিং ভাষার নমনীয়তা প্রদান করে যেখানে আপনি সেন্সরকে ইন্টারফেস করার জন্য বোর্ডকে প্রোগ্রাম করতে চান। এই বোর্ডের এই সুবিধা কাজে লাগিয়ে, আমরা এখানে জাভাতে এর প্রোগ্রামিং প্রদর্শন করছি। BMG160 এর জন্য জাভা কোডটি আমাদের গিথুব কমিউনিটি থেকে ডাউনলোড করা যায় যা Dcube Store কমিউনিটি।
পাশাপাশি ব্যবহারকারীদের স্বাচ্ছন্দ্যের জন্য, আমরা এখানে কোডটিও ব্যাখ্যা করছি: কোডিংয়ের প্রথম ধাপ হিসাবে আপনাকে জাভা ক্ষেত্রে pi4j লাইব্রেরি ডাউনলোড করতে হবে, কারণ এই লাইব্রেরি কোডে ব্যবহৃত ফাংশনগুলিকে সমর্থন করে। সুতরাং, লাইব্রেরি ডাউনলোড করতে আপনি নিম্নলিখিত লিঙ্কটি দেখতে পারেন:
pi4j.com/install.html
আপনি এই সেন্সরের জন্য এখানে কাজ করা জাভা কোডটি অনুলিপি করতে পারেন:
আমদানি com.pi4j.io.i2c. I2CBus;
com.pi4j.io.i2c. I2CDevice আমদানি করুন;
আমদানি com.pi4j.io.i2c. I2CFactory;
java.io. IOException আমদানি করুন;
পাবলিক ক্লাস BMG160
{
পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আর্গস ) ব্যতিক্রম ছুঁড়ে দেয়
{
// I2C বাস তৈরি করুন
I2CBus বাস = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C ডিভাইস পান, BMG160 I2C ঠিকানা হল 0x68 (104)
I2CDevice ডিভাইস = bus.getDevice (0x68);
// পরিসীমা নিবন্ধন নির্বাচন করুন
// পূর্ণ স্কেল পরিসীমা কনফিগার করুন, 2000 ডিপিএস
device.write (0x0F, (বাইট) 0x80);
// ব্যান্ডউইথ রেজিস্টার নির্বাচন করুন
// ব্যান্ডউইথ 200 Hz
device.write (0x10, (বাইট) 0x04);
Thread.sleep (500);
// 6 বাইট ডেটা পড়ুন
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
বাইট ডেটা = নতুন বাইট [6];
device.read (0x02, data, 0, 6);
// ডেটা রূপান্তর
int xGyro = ((data [1] & 0xFF) * 256 + (data [0] & 0xFF));
যদি (xGyro> 32767)
{
xGyro -= 65536;
}
int yGyro = ((data [3] & 0xFF) * 256 + (data [2] & 0xFF));
যদি (yGyro> 32767)
{
yGyro -= 65536;
}
int zGyro = ((data [5] & 0xFF) * 256 + (data [4] & 0xFF));
যদি (zGyro> 32767)
{
zGyro -= 65536;
}
// স্ক্রিনে আউটপুট ডেটা
System.out.printf ("ঘূর্ণনের X- অক্ষ: %d %n", xGyro);
System.out.printf ("ঘূর্ণনের Y- অক্ষ: %d %n", yGyro);
System.out.printf ("ঘূর্ণনের Z- অক্ষ: %d %n", zGyro);
}
}
লাইব্রেরি যা সেন্সর এবং বোর্ডের মধ্যে i2c যোগাযোগের সুবিধা দেয় তা হল pi4j, এর বিভিন্ন প্যাকেজ I2CBus, I2CDevice এবং I2CFactory সংযোগ স্থাপনে সাহায্য করে।
আমদানি com.pi4j.io.i2c. I2CBus; আমদানি com.pi4j.io.i2c. I2CDevice; আমদানি com.pi4j.io.i2c. I2CFactory; java.io. IOException আমদানি করুন;
কোডের এই অংশটি সেন্সরকে রাইট () ফাংশন ব্যবহার করে সংশ্লিষ্ট কমান্ড লিখে কৌণিক হার পরিমাপ করে এবং তারপর রিড () ফাংশন ব্যবহার করে ডেটা পড়া হয়।
// পরিসীমা রেজিস্টার নির্বাচন করুন // পূর্ণ স্কেল পরিসীমা কনফিগার করুন, 2000 dps device.write (0x0F, (byte) 0x80); // ব্যান্ডউইথ রেজিস্টার নির্বাচন করুন // Bandwidth 200 Hz device.write (0x10, (byte) 0x04); Thread.sleep (500);
// 6 বাইট ডেটা পড়ুন
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb byte data = new byte [6]; device.read (0x02, data, 0, 6);
সেন্সর থেকে প্রাপ্ত ডেটা নিম্নোক্ত ব্যবহার করে যথাযথ বিন্যাসে রূপান্তরিত হয়:
int xGyro = ((data [1] & 0xFF) * 256 + (data [0] & 0xFF)); যদি (xGyro> 32767) {xGyro -= 65536; } int yGyro = ((data [3] & 0xFF) * 256 + (data [2] & 0xFF)); যদি (yGyro> 32767) {yGyro -= 65536; } int zGyro = ((data [5] & 0xFF) * 256 + (data [4] & 0xFF)); যদি (zGyro> 32767) {zGyro -= 65536; }
আউটপুট নিম্নলিখিত বিন্যাসে System.out.println () ফাংশন ব্যবহার করে মুদ্রিত হয়।
System.out.println ("ঘূর্ণনের X- অক্ষ: %d %n", xGyro); System.out.println ("ঘূর্ণনের Y- অক্ষ: %d %n", yGyro); System.out.println ("ঘূর্ণনের Z- অক্ষ: %d %n", zGyro);
সেন্সরের আউটপুট উপরের ছবিতে দেখানো হয়েছে।
ধাপ 5: অ্যাপ্লিকেশন:
সেল ফোন, হিউম্যান মেশিন ইন্টারফেস ডিভাইসের মতো ডিভাইসে বিএমজি 160 এর বিভিন্ন ধরণের অ্যাপ্লিকেশন রয়েছে। এই সেন্সর মডিউলটি ইমেজ স্টেবিলাইজেশন (ডিএসসি এবং ক্যামেরা-ফোন), গেমিং এবং পয়েন্টিং ডিভাইসের মতো ভোক্তা অ্যাপ্লিকেশনগুলির প্রয়োজনীয়তা পূরণের জন্য ডিজাইন করা হয়েছে। এটি এমন সিস্টেমেও নিযুক্ত করা হয় যার জন্য অঙ্গভঙ্গি স্বীকৃতি এবং অভ্যন্তরীণ নেভিগেশনে ব্যবহৃত সিস্টেমগুলির প্রয়োজন হয়।
প্রস্তাবিত:
রাস্পবেরি পাই দিয়ে জিপিএস মডিউল ইন্টারফেসিং: 10 টি ধাপ
রাস্পবেরি পাই দিয়ে ইন্টারফেসিং জিপিএস মডিউল: আরে বন্ধুরা !! আপনি কি রাস্পবেরি পাই দিয়ে একটি জিপিএস মডিউল ইন্টারফেস করতে চান? কিন্তু এটা করতে কিছু অসুবিধার সম্মুখীন? "চিন্তা করবেন না, আমি আপনাকে সাহায্য করতে এসেছি! আপনি নিম্নলিখিত অংশগুলি ব্যবহার করে শুরু করতে পারেন:
রাস্পবেরি পাই দিয়ে হালকা এবং তাপমাত্রা সেন্সর ডেটা পড়া এবং গ্রাফ করা: 5 টি ধাপ
রাস্পবেরি পাই দিয়ে হালকা এবং তাপমাত্রা সেন্সর ডেটা পড়া এবং গ্রাফ করা: এই নির্দেশাবলীতে আপনি শিখবেন কিভাবে রাস্পবেরি পাই এবং ADS1115 এনালগ থেকে ডিজিটাল কনভার্টার এবং ম্যাটপ্লটলিব ব্যবহার করে গ্রাফের সাথে একটি হালকা এবং তাপমাত্রা সেন্সর পড়তে হয়। প্রয়োজনীয় উপকরণ দিয়ে শুরু করা যাক
Arduino Nano দিয়ে 3-Axis Gyroscope Sensor BMG160 এর ইন্টারফেসিং: 5 টি ধাপ
Arduino Nano দিয়ে 3-Axis Gyroscope Sensor BMG160- এর ইন্টারফেসিং: আজকের পৃথিবীতে, যুব এবং বাচ্চাদের অর্ধেকেরও বেশি গেমিংয়ের প্রতি অনুরক্ত এবং যারা এটির প্রতি অনুরাগী, তারা গেমিংয়ের প্রযুক্তিগত দিকগুলি দেখে মুগ্ধ হয়ে মোশন সেন্সিংয়ের গুরুত্ব জানে এই ডোমেইনে। একই জিনিস দেখে আমরাও বিস্মিত হয়েছিলাম এবং
রাস্পবেরি পাই 3 এ রাস্পবিয়ান বাস্টার ইনস্টল করা রাস্পবেরি পাই 3 বি / 3 বি+: 4 ধাপ সহ রাস্পবিয়ান বাস্টার দিয়ে শুরু করা
রাস্পবেরি পাই 3 তে রাস্পবিয়ান বাস্টার ইনস্টল করা রাস্পবেরি পাই 3b / 3b+দিয়ে রাস্পবিয়ান বাস্টার দিয়ে শুরু করা: হাই বন্ধুরা, সম্প্রতি রাস্পবেরি পাই সংস্থা রাস্পবিয়ান বাস্টার নামে নতুন রাস্পবিয়ান ওএস চালু করেছে। এটি রাস্পবেরি পাই এর জন্য রাস্পবিয়ানের একটি নতুন সংস্করণ। তাই আজ এই নির্দেশাবলীতে আমরা শিখব কিভাবে আপনার রাস্পবেরি পাই 3 এ রাস্পবিয়ান বাস্টার ওএস ইনস্টল করতে হয়
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা - রাস্পবেরি পাই 3B দিয়ে শুরু করা - আপনার রাস্পবেরি পাই 3: 6 ধাপ সেট আপ করা হচ্ছে
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা | রাস্পবেরি পাই 3B দিয়ে শুরু করা | আপনার রাস্পবেরি পাই 3 সেট আপ করা: আপনারা কেউ কেউ জানেন যে রাস্পবেরি পাই কম্পিউটারগুলি বেশ দুর্দান্ত এবং আপনি কেবলমাত্র একটি ছোট বোর্ডে পুরো কম্পিউটারটি পেতে পারেন। 1.2 GHz এ ঘড়ি। এটি পাই 3 কে মোটামুটি 50 রাখে