BH1715 এবং রাস্পবেরি পাই ব্যবহার করে হালকা তীব্রতা পরিমাপ: 5 টি ধাপ
BH1715 এবং রাস্পবেরি পাই ব্যবহার করে হালকা তীব্রতা পরিমাপ: 5 টি ধাপ
Anonim
Image
Image

গতকাল আমরা এলসিডি ডিসপ্লেতে কাজ করছিলাম, এবং তাদের উপর কাজ করার সময় আমরা হালকা তীব্রতা গণনার গুরুত্ব উপলব্ধি করেছি। আলোর তীব্রতা শুধু এই পৃথিবীর ভৌত ক্ষেত্রেই গুরুত্বপূর্ণ নয়, জৈবিক ক্ষেত্রেও এর সুস্পষ্ট ভূমিকা রয়েছে। আলোর তীব্রতার সঠিক অনুমান আমাদের বাস্তুতন্ত্র, উদ্ভিদের বৃদ্ধি ইত্যাদিতে গুরুত্বপূর্ণ ভূমিকা পালন করে, সুতরাং, এই উদ্দেশ্যে পরিবেশন করার জন্য আমরা এই সেন্সর BH1715 অধ্যয়ন করেছি, যা একটি 16-বিট সিরিয়াল আউটপুট টাইপ পরিবেষ্টিত আলো সেন্সর।

এই টিউটোরিয়ালে, আমরা জাভাকে প্রোগ্রামিং ভাষা হিসাবে ব্যবহার করে রাস্পবেরি পাই দিয়ে BH1715 এর কাজ প্রদর্শন করতে যাচ্ছি।

হার্ডওয়্যার যে আপনি এই উদ্দেশ্যে প্রয়োজন হতে যাচ্ছে নিম্নরূপ:

1. BH1715 - পরিবেষ্টিত আলো সেন্সর

2. রাস্পবেরি পাই

3. I2C কেবল

4. রাস্পবেরি পাই এর জন্য I2C শিল্ড

5. ইথারনেট কেবল

ধাপ 1: BH1715 সংক্ষিপ্ত বিবরণ:

তুমি কি চাও..!!
তুমি কি চাও..!!

প্রথমত, আমরা আপনাকে সেন্সর মডিউলের মৌলিক বৈশিষ্ট্যগুলির সাথে পরিচিত করতে চাই যা BH1715 এবং যোগাযোগ প্রোটোকল যার উপর এটি কাজ করে।

BH1715 একটি I digitalC বাস ইন্টারফেস সহ একটি ডিজিটাল অ্যাম্বিয়েন্ট লাইট সেন্সর। BH1715 সাধারণত মোবাইল ডিভাইসের জন্য এলসিডি এবং কীপ্যাড ব্যাকলাইট পাওয়ার অ্যাডজাস্ট করার জন্য পরিবেষ্টিত আলো ডেটা পেতে ব্যবহৃত হয়। এই ডিভাইসটি একটি 16-বিট রেজোলিউশন এবং একটি সামঞ্জস্যযোগ্য পরিমাপ পরিসীমা প্রদান করে, যা.23 থেকে 100, 000 লাক্স সনাক্ত করার অনুমতি দেয়।

সেন্সর যে কমিউনিকেশন প্রোটোকলের উপর কাজ করে তা হল I2C। I2C মানে ইন্টার-ইন্টিগ্রেটেড সার্কিট। এটি একটি যোগাযোগ প্রোটোকল যেখানে যোগাযোগ SDA (সিরিয়াল ডেটা) এবং এসসিএল (সিরিয়াল ক্লক) লাইনের মাধ্যমে হয়। এটি একই সময়ে একাধিক ডিভাইস সংযুক্ত করার অনুমতি দেয়। এটি একটি সহজ এবং সবচেয়ে কার্যকর যোগাযোগ প্রোটোকল।

ধাপ 2: আপনার যা প্রয়োজন..

তুমি কি চাও..!!
তুমি কি চাও..!!
তুমি কি চাও..!!
তুমি কি চাও..!!
তুমি কি চাও..!!
তুমি কি চাও..!!

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

1. BH1715 - অ্যাম্বিয়েন্ট লাইট সেন্সর

2. রাস্পবেরি পাই

3. I2C কেবল

4. রাস্পবেরি পাই এর জন্য I2C শিল্ড

5. ইথারনেট কেবল

ধাপ 3: হার্ডওয়্যার সংযুক্তি:

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

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

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

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

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

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

ধাপ 4: জাভা কোড ব্যবহার করে হালকা তীব্রতা পরিমাপ:

জাভা কোড ব্যবহার করে হালকা তীব্রতা পরিমাপ
জাভা কোড ব্যবহার করে হালকা তীব্রতা পরিমাপ
জাভা কোড ব্যবহার করে হালকা তীব্রতা পরিমাপ
জাভা কোড ব্যবহার করে হালকা তীব্রতা পরিমাপ

রাস্পবেরি পাই ব্যবহার করার সুবিধা হল, এটি আপনাকে প্রোগ্রামিং ভাষার নমনীয়তা প্রদান করে যেখানে আপনি সেন্সরকে ইন্টারফেস করার জন্য বোর্ডকে প্রোগ্রাম করতে চান। এই বোর্ডের এই সুবিধাটি কাজে লাগিয়ে, আমরা এখানে দেখিয়ে দিচ্ছি এটি জাভাতে প্রোগ্রামিং করছে। BH1715 এর জন্য জাভা কোডটি আমাদের GitHub সম্প্রদায় থেকে ডাউনলোড করা যেতে পারে যা Dcube স্টোর।

পাশাপাশি ব্যবহারকারীদের স্বাচ্ছন্দ্যের জন্য, আমরা এখানে কোডটি ব্যাখ্যা করছি:

কোডিং এর প্রথম ধাপ হিসাবে, আপনাকে জাভা ক্ষেত্রে pi4j লাইব্রেরি ডাউনলোড করতে হবে, কারণ এই লাইব্রেরি কোডে ব্যবহৃত ফাংশনগুলিকে সমর্থন করে। সুতরাং, লাইব্রেরি ডাউনলোড করতে আপনি নিম্নলিখিত লিঙ্কটি দেখতে পারেন:

pi4j.com/install.html

আপনি এই সেন্সরের জন্য এখানে কাজ করা জাভা কোডটি অনুলিপি করতে পারেন:

// একটি স্বাধীন ইচ্ছা লাইসেন্স দিয়ে বিতরণ করা হয়।

// এটি যে কোন উপায়ে ব্যবহার করুন, মুনাফা বা বিনামূল্যে, যদি এটি তার সংশ্লিষ্ট কাজের লাইসেন্সের সাথে খাপ খায়।

// বিএইচ 1715

// এই কোডটি BH1715_I2CS I2C মিনি মডিউল দিয়ে কাজ করার জন্য ডিজাইন করা হয়েছে যা ControlEverything.com থেকে পাওয়া যায়।

//

আমদানি com.pi4j.io.i2c. I2CBus;

com.pi4j.io.i2c. I2CDevice আমদানি করুন;

আমদানি com.pi4j.io.i2c. I2CFactory;

java.io. IOException আমদানি করুন;

পাবলিক ক্লাস BH1715

{

পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আর্গস ) ব্যতিক্রম ছুঁড়ে দেয়

{

// I2C বাস তৈরি করুন

I2CBus বাস = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C ডিভাইস পান, BH1715 I2C ঠিকানা হল 0x23 (35)

I2CDevice ডিভাইস = bus.getDevice (0x23);

// কমান্ডে পাওয়ার পাঠান

device.write ((বাইট) 0x01);

// ক্রমাগত পরিমাপ কমান্ড পাঠান

device.write ((বাইট) 0x10);

Thread.sleep (500);

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

// luminance msb, luminance lsb

বাইট ডেটা = নতুন বাইট [2];

device.read (data, 0, 2);

// ডেটা রূপান্তর

ডাবল লুমিনেন্স = ((ডেটা [0] এবং 0xFF) * 256 + (ডেটা [1] এবং 0xFF)) / 1.20;

// স্ক্রিনে আউটপুট ডেটা

System.out.printf ("পরিবেষ্টিত আলো Luminance: %.2f lux %n", luminance);

}

}

লাইব্রেরি যা সেন্সর এবং বোর্ডের মধ্যে i2c যোগাযোগের সুবিধা দেয় তা হল pi4j, এর বিভিন্ন প্যাকেজ I2CBus, I2CDevice এবং I2CFactory সংযোগ স্থাপনে সাহায্য করে।

আমদানি com.pi4j.io.i2c. I2CBus; আমদানি com.pi4j.io.i2c. I2CDevice; আমদানি com.pi4j.io.i2c. I2CFactory; java.io. IOException আমদানি করুন;

কোডের এই অংশটি সেন্সরকে রাইট () ফাংশন ব্যবহার করে সংশ্লিষ্ট কমান্ড লিখে আলোর তীব্রতা পরিমাপের জন্য কাজ করে এবং তারপর রিড () ফাংশন ব্যবহার করে ডেটা পড়া হয়।

device.write ((বাইট) 0x01); // কমান্ড পাওয়ার

device.write ((বাইট) 0x10); // ক্রমাগত পরিমাপ কমান্ড

বাইট ডেটা = নতুন বাইট [2]; // 2 বাইট ডেটা পড়ুন

device.read (data, 0, 2);

সেন্সর থেকে প্রাপ্ত ডেটা নিম্নোক্ত ব্যবহার করে যথাযথ বিন্যাসে রূপান্তরিত হয়:

ডাবল লুমিনেন্স = ((ডেটা [0] এবং 0xFF) * 256 + (ডেটা [1] এবং 0xFF)) / 1.20;

আউটপুট নিম্নলিখিত বিন্যাসে System.out.println () ফাংশন ব্যবহার করে মুদ্রিত হয়।

System.out.printf ("পরিবেষ্টিত আলো Luminance: %.2f lux %n", luminance);

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

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

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

BH1715 একটি ডিজিটাল আউটপুট অ্যাম্বিয়েন্ট লাইট সেন্সর যা মোবাইল ফোন, এলসিডি টিভি, নোট পিসি ইত্যাদিতে সংযোজিত হতে পারে। দক্ষ আলো সেন্সিং অ্যাপ্লিকেশন।

প্রস্তাবিত: