
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03



Dzisiaj pokażę, jak używać wyświetlacza TFT LCD na NodeMCU ESP8266 do wyświetlania danych temperatury i wilgotności dla danego środowiska czasu rzeczywistego. Podaję przykład wykorzystania wyświetlacza z DHT22, czyli miernikiem temperatury i wilgotności. W tym filmie używam w szczególności kompaktowego wyświetlacza naszego termometru cyfrowego, który jest graficzny i umożliwia monitorowanie samego systemu. Dlatego dzisiejszym celem jest poznanie obsługi wyświetlacza ciekłokrystalicznego za pomocą ESP8266.
Krok 1: Moduł graficzny LCD 128x128 RGB TFT ILI 9163C
Wyświetlacz, którego używamy w tym projekcie to 128x128 pikseli. 0, 0 znajduje się w lewym górnym rogu, a ten model ma zarówno funkcje drukowania tekstu, jak i grafiki, którymi zajmiemy się później.
Krok 2: Czujnik wilgotności i temperatury AM2302 DHT22

W naszym montażu użyjemy AM2302 DHT22, który jest czujnikiem, który bardzo lubię, ponieważ jest bardzo precyzyjny.
Krok 3: Obwód

W projekcie mamy ESP8266 już zaprogramowany i korzystający z zasilania USB. DHT22 jest podłączony do Data, a rezystor podciągający do ESP8266, który steruje wyświetlaczem LCD.
Krok 4: Montaż

Tutaj mamy schemat elektryczny naszego zespołu, który pokazuje NodeMCU, czujnik i wyświetlacz. Pamiętaj, że jest to wyświetlacz szeregowy i2c, który jest łatwiejszy w obsłudze, ponieważ ma więcej pinów.
Krok 5: Biblioteka


Ponieważ zamierzamy programować wyświetlacz w języku Arduino C, potrzebujemy biblioteki DHT22, a także wyświetlacza LCD.
Najpierw dodaj następującą bibliotekę "biblioteki czujników DHT" do komunikacji z czujnikiem wilgotności i temperatury.
Wystarczy przejść do „Szkic >> Dołącz biblioteki >> Zarządzaj bibliotekami…”
Teraz dodaj następującą bibliotekę „Adafruit-GFX-Library-master”.
Wystarczy przejść do „Szkic >> Dołącz biblioteki >> Zarządzaj bibliotekami…”
Należy również dodać bibliotekę "TFT_ILI9163C" do komunikacji z modułem graficznym LCD.
Uzyskaj dostęp do linku ((((((https://github.com/sumotoy/TFT_ILI9163C))))) i pobierz bibliotekę.
Rozpakuj plik i wklej go do folderu bibliotek Arduino IDE.
C: / Program Files (x86) / Arduino / biblioteki
Krok 6: Kod
Najpierw dodajmy biblioteki, które będą używane w naszym kodzie.
#include //utilizada dla komunikacji com o modulo LCD#include //utilizada dla komunikacji com o sensor de umidade e temperatura
Definicje
Poniżej zobaczymy zmienne, których będziemy używać podczas programu oraz instancję obiektów.
#define DHTPIN D6 // piny związane z czujnikiem DHT22#define DHTTYPE DHT22 // DHT22 i rodzaje czujników używanych (ważne dla konstruktora) DHT dht(DHTPIN, DHTTYPE); // Konstruktor do obsługi komunikacji z czujnikiem // Definicje kolorów #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #defineHFE 0xdef 0 zdefiniuj _CS D1 // połączenie z modułem LCD o CS do modułu LCD #define _DC D4 // połączenie z modułem z modułem LCD TFT_ILI9163C wyświetlacz = TFT_ILI9163C(_CS, _DC); // construtor do objeto que utilizaremos para se comunicar com o módulo LCD
Ustawiać
W funkcji setup() inicjujemy zmienną „dht”, która odpowiada za komunikację z czujnikiem wilgotności i temperatury. Inicjujemy również zmienną „display”, która służy do komunikacji z modułem LCD.
Skonfigurujemy również obiekt, aby zaczął rysować na ekranie.
void setup(void) { dht.begin(); // inicialização para se comunicar com o sensor display.begin(); // inicialização para se comunicar com o módulo LCD display.clearScreen(); // pozbądź się teli, usuń todos os desenhos display.fillScreen(BLACK); // pinta a tele toda preto display.setTextSize(2); // skonfiguruj o tamanho wykonaj tekst com o tamanho 2 display.setTextColor(GREEN); // skonfiguruj a cor do texto como verde display.setCursor(5, 10); // posiciona o kursor para começar a escrita a partir do (x, y) display.print("TEMPERATUR"); // chowaj em tel display.setCursor(22, 70); // zmiana położenia kursora display.print("UMIDADE"); // zachowaj tela display.setTextColor(WHITE); // configura a cor do texto como branco (partir de agora) delay(1000); // espera od 1 drugiego }
Pętla
W funkcji pętli () odzyskamy wilgotność i temperaturę odczytaną przez czujnik i zapisaną na ekranie w określonym miejscu. Co 5 sekund wartość odczytywana jest z czujnika i zapisywana na ekranie.
void loop(){ 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, BLACK); // fillRect(x, y, szerokość, wysokość, kolor); display.fillRect(5, 92, 120, 20, BLACK); display.setCursor(40, 35); // zmiana położenia kursora na escrever display.print(t); // odpisz temperaturę em tela display.print((char)247); // escreve o symbolu grau ° através de código display.print("C"); // coloca o „C” para indicar que é graus Celcius display.setCursor(40, 95); // zmiana położenia kursora na escrever display.print(h); // odłóż umidade em tela display.print("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay(5000); }
Krok 7: Inne ciekawe funkcje
// Obraca zawartość ekranu (parametry 0, 1, 2 lub 3)
display.setRotation (uint8_t);
// Odwraca kolory wyświetlania (tworzy negatyw)
display.invertDisplay (wartość logiczna);
// Rysuje pojedynczy piksel na ekranie w pozycji (x, y)
display.drawPixel (x, y, kolor);
// Rysuje pionową linię w pozycji
display.drawFastVLine (x, y, szerokość, kolor);
// Rysuje pionową linię w określonej pozycji
display.drawFastHLine (x, y, szerokość, kolor);
// Rysuje poziomą linię w określonej pozycji
display.drawRect (x, y, szerokość, wysokość, kolor);
// Rysuje okrąg w określonej pozycji
display.drawCircle (x, y, promień, kolor);
Zalecana:
Cyfrowy termometr LED RPi: 6 kroków (ze zdjęciami)

Cyfrowy termometr LED RPi: Raspbian OSDowiedz się, jak zrobiłem ten cyfrowy termometr LED, z Raspberry Pi Zero W, paskiem LED, wyświetlaczem OLED i niestandardową płytką drukowaną. Automatycznie przełącza listę miast i wyświetla temperaturę na OLED wyświetlacz i diody LED. Ale
Termometr cyfrowy DHT11 przy użyciu ESP8266: 4 kroki

Termometr cyfrowy DHT11 z ESP8266: W poprzednim artykule omówiłem już DH11 i sposób wyświetlania go na urządzeniach wyjściowych, takich jak 7-segmentowy, LCD, monitor szeregowy i pierścień RGB. W tym artykule pokażę, jak monitorować temperaturę i wilgotność za pomocą przeglądarki na telefonie komórkowym
Termometr cyfrowy z Arduino i DS18B20: 7 kroków

Cyfrowy termometr z Arduino i DS18B20: Po prostu stwórz cyfrowy termometr, który pokaże aktualną temperaturę w pomieszczeniu na ekranie LCD. To jest projekt dla początkujących. Potrzebne urządzenia: 1. Arduino UNO R3 2. Czujnik temperatury DS18B20. 3. Wyświetlacz LCD 16X2. 4. Podłączanie przewodów. 5
Termometr cyfrowy wykorzystujący NodeMCU i LM35: 5 kroków

Cyfrowy termometr za pomocą NodeMCU i LM35: Stwórz swój własny cyfrowy termometr i monitoruj temperaturę przez Internet z dowolnego miejsca. Ta instrukcja jest podstawowa, aby zacząć majstrować przy IoT. Będziemy łączyć czujnik temperatury LM35 z NodeMCU 1.0(ESP-12E).LM35 to czujnik temperatury
Cyfrowy termometr Acme z czujnikiem temperatury DS18B20 i wyświetlaczem LCD I2C: 5 kroków

Cyfrowy termometr Acme z sondą temperatury DS18B20 i wyświetlaczem I2C LCD: jest to bardzo prosty projekt, który nie kosztuje dużo i nie zajmuje dużo czasu. Włożyłem go do pudełka Amazon, ponieważ tam był, ale można go zamontować w prawie wszystkim