সুচিপত্র:

BMP এবং SPI বা I2C OLED ব্যবহার করে Arduino Altimeter: 5 টি ধাপ
BMP এবং SPI বা I2C OLED ব্যবহার করে Arduino Altimeter: 5 টি ধাপ

ভিডিও: BMP এবং SPI বা I2C OLED ব্যবহার করে Arduino Altimeter: 5 টি ধাপ

ভিডিও: BMP এবং SPI বা I2C OLED ব্যবহার করে Arduino Altimeter: 5 টি ধাপ
ভিডিও: How to use SSD1306 128x32 OLED Display I2C with Arduino code 2024, নভেম্বর
Anonim
BMP এবং SPI বা I2C OLED ব্যবহার করে Arduino Altimeter
BMP এবং SPI বা I2C OLED ব্যবহার করে Arduino Altimeter

দীর্ঘদিন ধরে আমি একক সেন্সর ব্যবহার করে অ্যালটিমিটার এবং তাপমাত্রা অনুসন্ধান করছি এবং এটি SPI ভিত্তিক OLED এ প্রদর্শন করছি। যেহেতু আমি সুনির্দিষ্ট কিছু খুঁজে পাইনি, ভেবেছিলাম আমি U8glib লাইব্রেরি ব্যবহার করে নিজের তৈরি করব। ইউটিউবে একটি টিউটোরিয়াল আছে কিন্তু আমি সত্যিই ভিডিও টিউটোরিয়ালগুলি ঘৃণা করি, আমি সরাসরি নির্দেশাবলী এবং কোন বাণিজ্যিক লিঙ্ক সহ লেখা পছন্দ করি।

ধাপ 1: প্রথম জিনিস প্রথম

এই প্রকল্পটি করার আগে, আমি আপনাকে দৃ strongly়ভাবে সুপারিশ করছি যে আপনি I2C বা SPI (যেটি ব্যবহার করতে চান) এর জন্য SSD1306/OLED টিউটোরিয়ালটি সম্পূর্ণ করুন। এটি নিশ্চিত করবে যে আপনি কীভাবে আপনার ডিসপ্লেকে সংযুক্ত/তারের সাথে সংযুক্ত করতে জানেন, সেইসাথে আপনার ডিসপ্লে কাজ করছে। Adafruit টিউটোরিয়াল এবং/অথবা u8glib উদাহরণ টিউটোরিয়াল করুন। আমরা এখানে u8glib ব্যবহার করব যাতে উন্নত ব্যবহারকারীর জন্য সুপারিশ করা হয়।

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

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

1. Arduino UNO বা Nano বা অনুরূপ।

2. BMP085 বা BMP180 ব্যারোমেট্রিক প্রেসার সেন্সর।

3. SSD1306 I2C বা SPI বাস (স্কেচে কনফিগারযোগ্য)।

4. সংযোগের জন্য জাম্পার তার এবং ব্রেডবোর্ড বা ভেরো বোর্ড।

ধাপ 3: কম্পাইল করার জন্য Arduino IDE লাইব্রেরি

1. ওয়্যার.এইচ

2. Adafruit_BMP085.h (BMP180 এর জন্যও কাজ করবে)

3. U8glib.h

ধাপ 4: সংযোগ

I2C এবং SPI OLED ডিসপ্লে উভয়ের জন্যই কানেকশন একই। শুধুমাত্র প্রদর্শনের সংযোগ ভিন্ন হবে।

1. BMP থেকে Arduino:

VCC> 3.3V

GND> স্থল

এসসিএল> এ 5/এসসিএল

SDA> A4/SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, রিসেট = 13

2. Arduino থেকে SPI OLED

VDD> 5V

GND> স্থল

SCK/D0> D12 (ডিজিটাল 12)

SDA/D1/Mosi> D11

সিএস/চিপ নির্বাচন করুন> D10

A0/DC> D9

RES/রিসেট> D13

(যদি আপনার SPI OLED- এ রিসেট পিন না থাকে তবে স্কেচ ডিসপ্লে নির্বাচন প্যারামিটার থেকে রিসেট সরান এবং পিন রিসেট করুন)

3. I2C OLED

বিএমপি তারের মতোই, তারা একই পোর্ট এবং বাসের ধরন ব্যবহার করে।

ধাপ 5: স্কেচ আপলোড করা

অনেকটাই অকপট. শুধু জিপ ফাইলটি ডাউনলোড করুন এবং Arduino IDE তে খুলুন। সবকিছুই স্কেচে কনফিগার করা আছে। এসপিআই ওএলইডি ব্যবহারকারীরা কেবল কোনও সম্পাদনা ছাড়াই স্কেচ আপলোড করতে পারে এবং এটি কাজ করবে। I2C OLED ব্যবহারকারীদের জন্য, স্কেচের ডিসপ্লে সিলেক্ট অপশন থেকে শুধু আপনার ডিসপ্লে নাম/অপশনটি কমেন্ট করুন এবং মন্তব্য করুন এবং SPI OLED অক্ষম করতে SPI ডিসপ্লে মডেল/প্যারামিটার বন্ধ করুন।

এসপিআই ডিসপ্লে প্যারামিটার:

// U8GLIB_SSD1306_128X64 u8g (12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

I2C ডিসপ্লে প্যারামিটার:

// U8GLIB_SSD1306_128X64 u8g (U8G_I2C_OPT_NO_ACK); // ডিসপ্লে যা এসি পাঠায় না

একটি প্যারামিটার সক্ষম করতে, শুধু আন-মন্তব্য করতে শুরুতে // চিহ্নটি সরান। নিশ্চিত করুন যে শুধুমাত্র একটি ডিসপ্লে নির্বাচন করা হয়েছে/মন্তব্য করা হয়নি।

ইঙ্গিত:

1. BMP সেন্সর বাতাস, তাপ এবং লাইটের প্রতি সংবেদনশীল। এটি coverেকে রাখতে ভুলবেন না, এটিতে সঠিক বায়ুচলাচল সহ একটি ফোম সংযুক্ত করার মাধ্যমে সর্বোত্তম ফলাফল পাওয়া যায়। হাঁসের টেপের মতো জিনিসগুলিও কাজ করবে তবে সুনির্দিষ্ট হবে না।

2. বিএমপি সাধারণত 3.3V ব্যবহার করে যদি না আপনার নির্মাতা অন্যথায় বলেন। OLED 3.3v-5.5V থেকে কাজ করতে পারে (4-5V প্রস্তাবিত)

3. প্রথমে রুটিবোর্ডে সবকিছু সেট করার জোরালো সুপারিশ করা হয়।

4. যদি আপনি OLED- এ নতুন হন তাহলে অনুগ্রহ করে আপনার ডিসপ্লে কাজ করছে এবং আপনার সংযোগগুলি সঠিক কিনা তা নিশ্চিত করার জন্য প্রথমে টেক্সট এবং ডামি বাফারের মতো সাধারণ জিনিসগুলি ব্যবহার করে দেখুন।

প্রস্তাবিত: