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

מדחום דיגיטלי ESP8266 עם תצוגת LCD: 7 שלבים
מדחום דיגיטלי ESP8266 עם תצוגת LCD: 7 שלבים

וִידֵאוֹ: מדחום דיגיטלי ESP8266 עם תצוגת LCD: 7 שלבים

וִידֵאוֹ: מדחום דיגיטלי ESP8266 עם תצוגת LCD: 7 שלבים
וִידֵאוֹ: How to Make PLC LCD HMI || FLProg 2024, נוֹבֶמבֶּר
Anonim
Image
Image
מודול גרפי LCD 128x128 RGB TFT ILI 9163C
מודול גרפי LCD 128x128 RGB TFT ILI 9163C

היום אראה לך כיצד להשתמש בתצוגת LCD TFT ב- ESP8266 NodeMCU להצגת נתוני טמפרטורה ולחות עבור סביבה נתונה בזמן אמת. אני מביא דוגמא לשימוש במסך עם 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: הרכבה

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

כאן, יש לנו את התרשים החשמלי של המכלול שלנו, המציג את NodeMCU, החיישן והתצוגה. זכור כי מדובר בתצוגה טורית, i2c, קלה יותר לשימוש מכיוון שיש לה יותר סיכות.

שלב 5: ספרייה

סִפְרִיָה
סִפְרִיָה
סִפְרִיָה
סִפְרִיָה

מכיוון שאנו הולכים לתכנת את התצוגה בשפת Arduino C, אנו זקוקים לספריית DHT22, כמו גם ל- LCD.

ראשית, הוסף את ספריית "ספריית חיישני DHT" הבאה לתקשורת עם חיישן הלחות והטמפרטורה.

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

כעת, הוסף את הספרייה הבאה, "Adafruit-GFX-Library-master".

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

כמו כן, הוסף את ספריית "TFT_ILI9163C" לתקשורת עם המודול הגרפי LCD.

גש לקישור ((((((https://github.com/sumotoy/TFT_ILI9163C)))) והורד את הספרייה.

פתח את הקובץ והדבק אותו בתיקיית הספריות של Arduino IDE.

C: / קבצי תוכנה (x86) / Arduino / ספריות

שלב 6: קוד

ראשית נוסיף את הספריות שישמשו בקוד שלנו.

#include // utilizada para se comunicar com או módulo LCD#include // utilizada para se comunicar com o sensor de umidade e temperatura

הגדרות

להלן נראה את המשתנים בהם נשתמש במהלך התוכנית, ואת מופע האובייקטים.

#define DHTPIN D6 // pino que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (חשוב עבור מבנה) DHT dht (DHTPIN, DHTTYPE); // מבצעים לעשות שימוש במגוון שיטות לחיישן // הגדרות צבע #הגדרת BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81 #define MAGENTA 0xF81 הגדר _CS D1 // pino que conectaremos או CS do módulo LCD #define _DC D4 // pino que conectaremos או RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // מתכנן לעשות שימוש בתוכנות עבור comunicar com או módulo LCD

להכין

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

נגדיר גם את האובייקט כדי להתחיל לצייר על המסך.

הגדרת void (void) {dht.begin (); // inicialização para se comunicar com o sensor display.begin (); // inicialização para se comunicar com o módulo display LCD.clearScreen (); // limpa a tela, removeendo todos os desenhos display.fillScreen (BLACK); // pinta a tela toda de preto display.setTextSize (2); // תצורה או תוכן של טקסט או תצוגה של tamanho 2 display.setTextColor (ירוק); // configa 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 (WHITE); // 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ão 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 סמן עבור escrever display.print (t); // להעלות טמפרטורה em tela display.print ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o "C" עבור indicar que é graus Celcius display.setCursor (40, 95); // reposiciona o סמן עבור escrever display.print (ח); // לרשום אומדידה em tela display.print ("%"); // escreve o símbolo de "porcentagem" עבור אינדיקציה לעיכוב (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, רוחב, גובה, צבע);

// מצייר עיגול במיקום שצוין

display.drawCircle (x, y, רדיוס, צבע);

מוּמלָץ: