সুচিপত্র:

ESP8266: 6 ধাপ সহ ইনফ্রারেড সেন্সর
ESP8266: 6 ধাপ সহ ইনফ্রারেড সেন্সর

ভিডিও: ESP8266: 6 ধাপ সহ ইনফ্রারেড সেন্সর

ভিডিও: ESP8266: 6 ধাপ সহ ইনফ্রারেড সেন্সর
ভিডিও: How to Build LDmicro Arduino PLC (Part 1) 2024, নভেম্বর
Anonim
Image
Image
ওয়াইফাই ESP8266 NodeMcu ESP-12E
ওয়াইফাই ESP8266 NodeMcu ESP-12E

এই সময় আমাদের উদ্দেশ্য হল এমন একটি প্রোগ্রাম তৈরি করা যা আমাদের সেন্সরের দিকে নির্দেশ করা যেকোনো বস্তুর পরিবেষ্টিত তাপমাত্রা পড়বে। এটি করার জন্য, আমরা এই প্রকল্পে একটি ESP8266 nodeMCU, একটি MLX90614 ইনফ্রারেড সেন্সর এবং একটি OLED 96 ডিসপ্লে ব্যবহার করব, যা তাপমাত্রার তথ্য প্রদর্শন করবে।

ধাপ 1: ওয়াইফাই ESP8266 NodeMcu ESP-12E

পদক্ষেপ 2: ইনফ্রারেড সেন্সর

ইনফ্রারেড সেন্সর
ইনফ্রারেড সেন্সর

এই সেটআপে ব্যবহৃত MLX90614 ইনফ্রারেড সেন্সর আসলে এক ধরনের ক্যামকর্ডার। এটি সিসিডি (চার্জড কাপলড ডিভাইস) এর মাধ্যমে ছবিগুলি ধারণ করে, এটি এমন একটি সিস্টেম যা এখনও ডিজিটাল ক্যামেরায় ব্যবহৃত হয়। সুতরাং, এটি বস্তু থেকে বেরিয়ে আসা ইনফ্রারেডের পরিমাণ রেকর্ড করে এবং এই পরিমাণের সাথে এটি তাপমাত্রা গণনা করে। এটা খুবই সুনির্দিষ্ট।

ধাপ 3: OLED প্রদর্শন করুন

OLED প্রদর্শন করুন
OLED প্রদর্শন করুন

ধাপ 4: সমাবেশ

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

এটি একটি খুব সহজ স্কিম। আমার এখানে একটি টেবিল আছে যা সহজে দৃশ্যায়নের অনুমতি দেয়।

ESP8266 - OLEDD5 - SCL

ডি 7 - এসডিএ

D3 - RES

D4 - ডিসি

ডি 8 - সিএস

3, 3v - ভিসিসি

GND - GND

MLX90614

ডি 1 - এসসিএল

ডি 2 - এসডিএ

3, 3v - ভিসিসি

GND - GND

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

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

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

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

এছাড়াও, নিম্নলিখিত "অ্যাডাফ্রুট ইউনিফাইড সেন্সর" লাইব্রেরি যোগ করুন।

লাইব্রেরিগুলির ডাউনলোড লিঙ্কগুলি পিডিএফ -এ রয়েছে, যা নীচে উপলব্ধ।

ধাপ 6: সোর্স কোড

আমরা লাইব্রেরি এবং ধ্রুবক সংজ্ঞায়িত করে শুরু করব যা আমরা আমাদের কোডের সময় ব্যবহার করব।

#অন্তর্ভুক্ত // Biblioteca para I2C #অন্তর্ভুক্ত // Biblioteca para comunicação com o sensor #অন্তর্ভুক্ত // Biblioteca para propriedades gráficas #include // biblioteca para comunicação com dipsplay OLED // pinagem para o NodeMCU ESP8266 #define sclk D5 #define dl7 #define cs D8 #define rst D3 #define dc d4 // definição das cores que serão utizadas #define BLACK 0x0000 #define WHITE 0xFFFF // definição da coordenada onde escreveremos cada um dos dados #POS_DOS_DOS_POS_DOS_POS_DOS_POS_DOS_POS_DOS_POS_DOS_DOS_POS POS_Y_OBJETO 55 // objeto responsável pela comunicação com o সেন্সর infravermelho IRTherm সেন্সর; // variáveis que armazenarão o valor das temperaturas lidas float tempAmbiente; ভাসা tempObjeto;

সেটআপ

সেটআপ () ফাংশনে, আমরা সেন্সরের সাথে আমাদের যোগাযোগের বস্তুর পাশাপাশি ডিসপ্লের সাথে যোগাযোগের বস্তুটি শুরু করব। এখানে তাদের প্রত্যেকের জন্য কিছু সেটিংস রয়েছে।

অকার্যকর সেটআপ () {// ইনসিয়ালিজা সেন্সর ডি টেম্পারেটুর ইনফ্রাভারমেলহো সেন্সর। শুরু (); // Seleciona temperatura em Celsius sensor.setUnit (TEMP_C); // podemos ainda utilizar TEMP_F para Fahrenheit // ou TEMP_K para Kelvin // inicializa o objeto para comunicarmos com o display OLED display.begin (); // pinta a tela toda de preto display.fillScreen (BLACK); // configura o tamnaho do texto que escreveremos em tela display.setTextSize (0); // টেক্সট ডিসপ্লে.সেটেক্সট কালার (হোয়াইট); // os comandos abaixo posicionam o cursor no (x, y) desejado para a seguir escrevermos em tela display.setCursor (POS_X_TITULO, POS_Y_TITULO); display.print ("TEMPERATURA"); display.setCursor (POS_X_TITULO+20, POS_Y_TITULO+15); display.print ("("); display.print ((char) 247); // símbolo de graus display.print ("C)"); display.setCursor (POS_X_AMBIENTE, POS_Y_AMBIENTE); display.print ("AMB:"); // AMBIENTE display.setCursor (POS_X_OBJETO, POS_Y_OBJETO); display.print ("OBJ:"); // OBJETO}

লুপ

লুপ () ফাংশনে, আসুন সেন্সর ডেটা পড়ি, এবং তারপর তাদের OLED ডিসপ্লেতে প্রদর্শন করি।

// chamamos o método "read" do sensor para realizar a leitura da temperatura // read retornará 1 caso consiga realizar a leitura, ou 0 caso contrário if (sensor.read ()) {// recupera a leitura da temperatura do ambiente tempAmbiente = sensor.ambient (); // recupera a leitura da temperatura do objeto apontado pelo sensor tempObjeto = sensor.object (); // limpa a área onde colocamos o valor da temperatura do ambiente e do objeto display.fillRect (POS_X_AMBIENTE+35, POS_Y_AMBIENTE, 35, 10, BLACK); display.fillRect (POS_X_OBJETO+35, POS_Y_OBJETO, 35, 10, BLACK); // posiciona o cursor e escreve a temperatura ambiente display.setCursor (POS_X_AMBIENTE+35, POS_Y_AMBIENTE); display.print (tempAmbiente); display.print ((char) 247); // simbolo de graus // posiciona o cursor e escreve a temperatura do objeto que o sensor está apontando display.setCursor (POS_X_OBJETO+35, POS_Y_OBJETO); display.print (tempObjeto); display.print ((char) 247); // simbolo de graus} বিলম্ব (1000); // intervalo de 1 segundo para a próxima leitura}

প্রস্তাবিত: