תוכן עניינים:

חיישן אינפרא אדום עם ESP8266: 6 שלבים
חיישן אינפרא אדום עם ESP8266: 6 שלבים

וִידֵאוֹ: חיישן אינפרא אדום עם ESP8266: 6 שלבים

וִידֵאוֹ: חיישן אינפרא אדום עם ESP8266: 6 שלבים
וִידֵאוֹ: Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 2024, יולי
Anonim
Image
Image
WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

מטרתנו הפעם היא ליצור תוכנית שתקרא את טמפרטורת הסביבה של כל אובייקט המצביע לעבר החיישן שלנו. לשם כך נשתמש בפרויקט זה ב- nodeMCU ESP8266, חיישן אינפרא אדום MLX90614 ותצוגת OLED 96 אינץ ', שתציג את נתוני הטמפרטורה.

שלב 1: WiFi ESP8266 NodeMcu ESP-12E

שלב 2: חיישן אינפרא אדום

חיישן אינפרא אדום
חיישן אינפרא אדום

חיישן האינפרא אדום MLX90614 המשמש בהתקנה זו הוא למעשה סוג של מצלמת וידיאו. הוא מצלם תמונות באמצעות ה- CCD (התקן מצורף טעון), מערכת הדומה מאוד לזו המשמשת במצלמות דיגיטליות. לפיכך, הוא מתעד את כמות האינפרא אדום היוצא מהאובייקט, ובכמות זו הוא מחשב את הטמפרטורה. זה מאוד מדויק.

שלב 3: הצג OLED

הצג OLED
הצג OLED

שלב 4: הרכבה

הַרכָּבָה
הַרכָּבָה

זוהי תוכנית פשוטה מאוד. יש לי כאן טבלה המאפשרת הדמיה קלה.

ESP8266 - OLEDD5 - SCL

D7 - SDA

D3 - RES

D4 - DC

D8 - CS

3, 3v - VCC

GND - GND

MLX90614

D1 - SCL

D2 - SDA

3, 3v - VCC

GND - GND

שלב 5: ספריות

ספריות
ספריות
ספריות
ספריות

כדי להשתמש בתצוגת OLED, הוסף את הספרייה הבאה "Adafruit-GFX-Library-master".

פשוט גש ל"סקיצה >> כלול ספריות >> נהל ספריות …"

כמו כן, הוסף את הספרייה הבאה של "חיישן מאוחד של Adafruit".

קישורי ההורדה של הספריות נמצאים בקובץ ה- PDF, הזמין ממש למטה.

שלב 6: קוד המקור

נתחיל בהגדרת הספריות והקבועים בהם נשתמש במהלך הקוד שלנו.

#include // Biblioteca para I2C #include // Biblioteca para comunicação com o sensor #include // Biblioteca para propriedades gráficas #include // Biblioteca para comunicação com dipsplay OLED // pinagem para o NodeMCU ESP8266 #define scl #define cs D8 #הגדרה ראשונה D3 #הגדרת dc D4 // definição das cores que serão utilizadas #define BLACK 0x0000 #define WHITE 0xFFFF // definição da coordenada onde escreveremos cada um dos dados #define POS_X_AMBIO_POS_OFFE 2 #define POS_Y_OBJETO 55 #define POS_X_TITULO 10 #define POS_Y_TITULO 4 // בונה לעשות objeto עבור קומוניקאר או להציג OLED Adafruit_SSD1331 display = Adafruit_SSD1331 (cs, dc, mosi, sclk, // objeto responsável pela comunicação com חיישן infravermelho חיישן IRTherm; // variáveis que armazenarão o valor das temperaturenas lidas float tempAmbiente; צף tempObjeto;

להכין

בפונקציית setup () נאתחל את אובייקט התקשורת שלנו עם החיישן, כמו גם את אובייקט התקשורת עם הצג. להלן כמה הגדרות לכל אחת מהן.

הגדרת void () {// חיישן חיישן של הטמפרטורה של חיישן infra.melin.begin (); // בחירת הטמפרטורה בחיישן צלזיוס. SetUnit (TEMP_C); // pinta a tela toda de preto display.fillScreen (BLACK); // תצורת או טקסט שתוכל לשלוח בתצוגה display.setTextSize (0); // configura a cor branca para o texto display.setTextColor (WHITE); // 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 temperaturea do ambiente tempAmbiente = sensor.ambient (); // recupera a leitura da temperaturea do objeto apontado pelo sensor tempObjeto = sensor.object (); // limpa a area one colocamos o valor da temperaturea 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}

מוּמלָץ: