সুচিপত্র:

এলসিডি ডিসপ্লে সহ ESP8266 ডিজিটাল থার্মোমিটার: 7 টি ধাপ
এলসিডি ডিসপ্লে সহ ESP8266 ডিজিটাল থার্মোমিটার: 7 টি ধাপ

ভিডিও: এলসিডি ডিসপ্লে সহ ESP8266 ডিজিটাল থার্মোমিটার: 7 টি ধাপ

ভিডিও: এলসিডি ডিসপ্লে সহ ESP8266 ডিজিটাল থার্মোমিটার: 7 টি ধাপ
ভিডিও: 7 Segment lcd 2024, নভেম্বর
Anonim
Image
Image
LCD গ্রাফিক মডিউল 128x128 RGB TFT ILI 9163C
LCD গ্রাফিক মডিউল 128x128 RGB TFT ILI 9163C

আজ, আমি আপনাকে দেখাবো কিভাবে ESP8266 NodeMCU- এ একটি TFT LCD ডিসপ্লে ব্যবহার করতে হবে একটি প্রদত্ত রিয়েল-টাইম পরিবেশের জন্য তাপমাত্রা এবং আর্দ্রতার তথ্য প্রদর্শন করতে। আমি DHT22 এর সাথে ডিসপ্লে ব্যবহার করার একটি উদাহরণ তৈরি করি, যা তাপমাত্রা এবং আর্দ্রতা পরিমাপক। এই ভিডিওতে, বিশেষ করে, আমি আমাদের ডিজিটাল থার্মোমিটারের জন্য একটি কমপ্যাক্ট ডিসপ্লে ব্যবহার করি, যা গ্রাফিক এবং সিস্টেমে নিজেই পর্যবেক্ষণের অনুমতি দেয়। আজকের উদ্দেশ্য, তাই ESP8266 ব্যবহার করে তরল ক্রিস্টাল ডিসপ্লে পরিচালনা করা সম্পর্কে জানা।

ধাপ 1: LCD গ্রাফিক মডিউল 128x128 RGB TFT ILI 9163C

এই প্রজেক্টে আমরা যে ডিসপ্লে ব্যবহার করি তা হল 128x128 পিক্সেল। 0, 0 উপরের বাম কোণে, এবং এই মডেলটিতে পাঠ্য-মুদ্রণ এবং গ্রাফিক-মুদ্রণ উভয় ফাংশন রয়েছে, যা আমরা পরে মোকাবেলা করব।

ধাপ 2: আর্দ্রতা এবং তাপমাত্রা সেন্সর AM2302 DHT22

আর্দ্রতা এবং তাপমাত্রা সেন্সর AM2302 DHT22
আর্দ্রতা এবং তাপমাত্রা সেন্সর AM2302 DHT22

আমরা আমাদের সমাবেশে AM2302 DHT22 ব্যবহার করব, যা একটি সেন্সর যা আমি সত্যিই পছন্দ করি, কারণ এটি খুব সুনির্দিষ্ট।

ধাপ 3: সার্কিট

সার্কিট
সার্কিট

প্রকল্পে, আমাদের একটি ESP8266 আছে যা ইতিমধ্যে প্রোগ্রাম করা হয়েছে এবং USB শক্তি ব্যবহার করছে। DHT22 ডেটা এবং পুল-আপ প্রতিরোধককে ESP8266 এর সাথে সংযুক্ত করা হয়েছে, যা LCD ডিসপ্লে নিয়ন্ত্রণ করে।

ধাপ 4: সমাবেশ

সমাবেশ
সমাবেশ

এখানে, আমাদের সমাবেশের বৈদ্যুতিক চিত্র রয়েছে, যা নোডএমসিইউ, সেন্সর এবং ডিসপ্লে দেখায়। মনে রাখবেন এটি একটি সিরিয়াল ডিসপ্লে, i2c, যা ব্যবহার করা সহজ কারণ এতে আরো পিন রয়েছে।

ধাপ 5: লাইব্রেরি

গ্রন্থাগার
গ্রন্থাগার
গ্রন্থাগার
গ্রন্থাগার

যেহেতু আমরা Arduino C ভাষা দিয়ে ডিসপ্লে প্রোগ্রাম করতে যাচ্ছি, তাই আমাদের DHT22 লাইব্রেরির পাশাপাশি LCD প্রয়োজন।

প্রথমে আর্দ্রতা এবং তাপমাত্রা সেন্সরের সাথে যোগাযোগের জন্য নিম্নলিখিত "DHT সেন্সর লাইব্রেরি" লাইব্রেরি যুক্ত করুন।

কেবল অ্যাক্সেস করুন "স্কেচ >> লাইব্রেরি অন্তর্ভুক্ত করুন >> লাইব্রেরি পরিচালনা করুন …"

এখন, নিম্নলিখিত লাইব্রেরি যোগ করুন, "Adafruit-GFX-Library-master।"

কেবল অ্যাক্সেস করুন "স্কেচ >> লাইব্রেরি অন্তর্ভুক্ত করুন >> লাইব্রেরি পরিচালনা করুন …"

এছাড়াও, LCD গ্রাফিক মডিউলের সাথে যোগাযোগের জন্য "TFT_ILI9163C" লাইব্রেরি যোগ করুন।

লিংকে প্রবেশ করুন (((((((https://github.com/sumotoy/TFT_ILI9163C))))) এবং লাইব্রেরি ডাউনলোড করুন।

ফাইলটি আনজিপ করুন এবং Arduino IDE এর লাইব্রেরি ফোল্ডারে পেস্ট করুন।

সি: / প্রোগ্রাম ফাইল (x86) / আরডুইনো / লাইব্রেরি

ধাপ 6: কোড

প্রথমে লাইব্রেরি যোগ করা যাক যা আমাদের কোডে ব্যবহৃত হবে।

#অন্তর্ভুক্ত // ইউটিলিজাদা প্যারা সে কমিউনিকার কম ও মডুলো এলসিডি

সংজ্ঞা

আমরা প্রোগ্রামের সময় যে ভেরিয়েবল ব্যবহার করব, এবং বস্তুর উদাহরণ নিচে দেখব।

#DHTPIN D6 // pino que conectaremos o sensor DHT22#সংজ্ঞায়িত করুন DHTTYPE DHT22 // DHT22 // construtor না objeto কী utilizaremos পাড়া SE comunicar কম ণ সেন্সর // রঙ সংজ্ঞা কালো # define 0x0000 # define নীল 0x001F # define লাল 0xF800 # define সবুজ 0x07E0 # define সায়ান 0x07FF # define ম্যাজেন্টা 0xF81F # define হলুদ 0xFFE0 # define সাদা 0xFFFF # _CS D1 // pino que conectaremos o CS do módulo LCD #define _DC D4 // pino que conectaremos o RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // construtor do objeto que utilizaremos para se comunicar com o módulo LCD

সেটআপ

সেটআপ () ফাংশনে, আমরা ভেরিয়েবল "dht" আরম্ভ করি, যা আর্দ্রতা সেন্সর এবং তাপমাত্রার সাথে যোগাযোগের জন্য দায়ী।

স্ক্রিনে অঙ্কন শুরু করার জন্য আমরা বস্তুটি কনফিগার করব।

অকার্যকর সেটআপ (অকার্যকর) {dht.begin (); // inicialização para se comunicar com o sensor display.begin (); // inicialização para se comunicar com o módulo LCD display.clearScreen (); // limpa a tela, removendo todos os desenhos display.fillScreen (BLACK); // pinta a tela toda de preto display.setTextSize (2); // configura o tamanho do texto com o tamanho 2 display.setTextColor (GREEN); // configura a cor do texto como verde display.setCursor (5, 10); // posiciona o cursor para começar a escrita a partir do (x, y) display.print ("TEMPERATUR"); // escreve em tela display.setCursor (22, 70); // reposiciona o কার্সার display.print ("UMIDADE"); // escreve em tela display.setTextColor (সাদা); // configura a cor do texto como branco (a partir de agora) বিলম্ব (1000); // espera de 1 segundo}

লুপ

লুপ () ফাংশনে, আমরা সেন্সর দ্বারা পড়া এবং নির্দিষ্ট স্থানে স্ক্রিনে লেখা আর্দ্রতা এবং তাপমাত্রা পুনরুদ্ধার করব। 5 সেকেন্ডের প্রতিটি ব্যবধানে, মানটি সেন্সর থেকে পড়ে এবং স্ক্রিনে লেখা হয়।

অকার্যকর লুপ () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // faz a leitura da temperatura do sensor // as 2 linhas seguintes utilizando o método “fillRect”, s parao para fazer a limpeza do local onde escreveremos a umidade e a temperatura, apagaremos o valor atual para escrever novamente atualizado। display.fillRect (5, 32, 120, 20, কালো); // fillRect (x, y, প্রস্থ, উচ্চতা, রঙ); display.fillRect (5, 92, 120, 20, কালো); display.setCursor (40, 35); // reposiciona o cursor para escrever display.print (t); // escreve a temperatura em tela display.print ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o “C” para indicar que é graus Celcius display.setCursor (40, 95); // reposiciona o cursor para escrever display.print (h); // escreve a umidade em tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade বিলম্ব (5000); }

ধাপ 7: কিছু অন্যান্য আকর্ষণীয় কাজ

// পর্দার বিষয়বস্তু ঘোরায় (প্যারামিটার 0, 1, 2 বা 3)

display.setRotation (uint8_t);

// প্রদর্শন রং বিপরীত (একটি নেতিবাচক করে তোলে)

display.invertDisplay (বুলিয়ান);

// অবস্থানে (x, y) স্ক্রিনে একটি একক পিক্সেল আঁকে

display.drawPixel (x, y, color);

// অবস্থানে একটি উল্লম্ব রেখা আঁকে

display.drawFastVLine (x, y, প্রস্থ, রঙ);

// নির্দিষ্ট অবস্থানে একটি উল্লম্ব রেখা আঁকে

display.drawFastHLine (x, y, প্রস্থ, রঙ);

// নির্দিষ্ট অবস্থানে একটি অনুভূমিক রেখা আঁকে

display.drawRect (x, y, width, heigh, color);

// নির্দিষ্ট অবস্থানে একটি বৃত্ত আঁকে

display.drawCircle (x, y, ব্যাসার্ধ, রঙ);

প্রস্তাবিত: