<
ডিসপ্লেটি নষ্ট হয়ে যাবে। ডিসপ্লের জন্য SCL, SDA ২টা GPIO পিন এবং DHT11 এর জন্য ১টা GPIO পিন (GPIO4) ব্যবহার করা হয়েছে। ESP32 এর পিন ডায়াগ্রামের মাধ্যমে খুব সহজেই পিনগুলোকে দেখানো হয়েছে। পিনগুলোর একাধিক কাজের নামও রয়েছে পাশে।
প্রয়োজনীয় কম্পোনেন্টঃ
কম্পোনেন্টের তালিকা নিচে প্রদান করা হলো।
| ক্রমিক নং | কম্পোনেন্টের নাম | মডেল | পরিমাণ | লিংক |
| ১ | ESP32 Development Board 30 Pin | WIR-00072 | ১টি | কম্পোনেন্ট লিংক |
| ২ | Micro USB Data Cable | C&C-00259 | ১টি | কম্পোনেন্ট লিংক |
| ৩ | OLED Display Blue I2C 128×64 0.96 inch | DIS-00079 | ১টি | কম্পোনেন্ট লিংক |
| ৪ | DHT11 Sensor Module | SEN-00236 | ১টি | কম্পোনেন্ট লিংক |
সিলিকন জাম্পার ওয়্যারের ক্ষেত্রে নিচের লিংকগুলো অনুসরণ করতে হবে।
| ১ | Silicone Jumper Wire (Male to Male) | C&C-00245 | প্রয়োজনমত | কম্পোনেন্ট লিংক |
| ২ | Silicone Jumper Wire (Male to Female) | C&C-00246 | প্রয়োজনমত | কম্পোনেন্ট লিংক |
| ৩ | Silicone Jumper Wire (Female to Female) | C&C-00247 | প্রয়োজনমত | কম্পোনেন্ট লিংক |
সার্কিট কানেকশনঃ

ESP32 IOT Board ব্যবহার হলে, উপরোক্ত সার্কিট সংযোগ প্রয়োজন হবে না। বোর্ডের অভ্যন্তরেই উক্ত সার্কিট সংযোগ রয়েছে।

লাইব্রেরীঃ
Adafruit_GFX.h
Adafruit_SSD1306.h
Adafruit_Sensor.h
DHT.h
প্রোগ্রাম আপলোড দেওয়ার পূর্বে অবশ্যই লাইব্রেরীগুলো ইন্সটল করে নিতে হব। যদি পূর্বে থেকে একই লাইব্রেরী ইন্সটল করা থাকে, তাহলে Update করে নেওয়া যেতে পারে। না করলেও সমস্যা নেই।

Library Manager এ সার্চ করলে লাইব্রেরীগুলো নিচের দিকে চলে আসবে। যদি পূর্বে ইন্সটল করা থাকে, তাহলে update এসে থাকলে তা দেখাবে। ইন্সটল করা না থাকলে install দেখাবে।

অনেক সময় লাইব্রেরী ম্যানেজারে যদি না পাওয়া যায় সেক্ষেত্রে সঠিক নাম দিয়ে, গুগলে সার্চ করলে পাওয়া যাবে।

ডেমো কোডঃ
প্রোগ্রামিং করার সময় বোর্ড এবং পোর্ট সিলেকশন অবশ্যই সঠিক হতে হবে। অন্যথা কোড আপলোড হবে না।

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
#define DHTPIN 4 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(1000);
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
delay(2000);
//read temperature and humidity
float t = dht.readTemperature();
float h = dht.readHumidity();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
}
//Clear Display
display.clearDisplay();
//Display Temperature
display.setTextSize(1);
display.setCursor(0,0);
display.print("Temperature: ");
display.setTextSize(2);
display.setCursor(0,10);
display.print(t);
display.print(" ");
display.setTextSize(1);
display.cp437(true);
display.write(167);
display.setTextSize(2);
display.print("C");
//Display Humidity
display.setTextSize(1);
display.setCursor(0, 35);
display.print("Humidity: ");
display.setTextSize(2);
display.setCursor(0, 45);
display.print(h);
display.print(" %");
display.display();
}
ভিডিওঃ
]]>



