İçindekiler:
- Adım 1: LCD Grafik Modülü 128x128 RGB TFT ILI 9163C
- Adım 2: Nem ve Sıcaklık Sensörü AM2302 DHT22
- Adım 3: Devre
- Adım 4: Montaj
- Adım 5: Kitaplık
- 6. Adım: Kod
- 7. Adım: Diğer Bazı İlginç İşlevler
Video: ESP8266 LCD Ekranlı Dijital Termometre: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bugün, belirli bir gerçek zamanlı ortam için sıcaklık ve nem verilerini görüntülemek için ESP8266 NodeMCU'da bir TFT LCD ekranın nasıl kullanılacağını göstereceğim. Sıcaklık ve nem göstergesi olan DHT22 ile ekranın kullanımına bir örnek yapıyorum. Bu videoda, özellikle dijital termometremiz için grafik olan ve sistemin kendisinde izlemeye izin veren kompakt bir ekran kullanıyorum. Bu nedenle bugünün amacı, ESP8266'yı kullanarak sıvı kristal ekranın kullanımı hakkında bilgi edinmektir.
Adım 1: LCD Grafik Modülü 128x128 RGB TFT ILI 9163C
Bu projede kullandığımız ekran 128x128 pikseldir. 0, 0 sol üst köşededir ve bu model daha sonra ele alacağımız hem metin yazdırma hem de grafik yazdırma işlevlerine sahiptir.
Adım 2: Nem ve Sıcaklık Sensörü AM2302 DHT22
AM2302 DHT22'yi montajımızda kullanacağız, çok hassas olduğu için çok sevdiğim bir sensör.
Adım 3: Devre
Projede zaten programlanmış ve USB gücünü kullanan bir ESP8266'mız var. DHT22, Verilere ve çekme direnci, LCD ekranı kontrol eden ESP8266'ya bağlanır.
Adım 4: Montaj
Burada, NodeMCU'yu, sensörü ve ekranı gösteren montajımızın elektrik şemasına sahibiz. Bunun, daha fazla pime sahip olduğu için kullanımı daha kolay olan seri bir ekran olan i2c olduğunu unutmayın.
Adım 5: Kitaplık
Ekranı Arduino C dili ile programlayacağımız için LCD'nin yanı sıra DHT22 kütüphanesine de ihtiyacımız var.
Öncelikle nem ve sıcaklık sensörü ile iletişim için aşağıdaki "DHT sensör kütüphanesi" kütüphanesini ekleyin.
Basitçe "Çizim >> Kitaplıkları Dahil Et >> Kitaplıkları Yönet …" seçeneğine erişin.
Şimdi, aşağıdaki kitaplığı ekleyin, "Adafruit-GFX-Library-master."
Basitçe "Çizim >> Kitaplıkları Dahil Et >> Kitaplıkları Yönet …" seçeneğine erişin.
Ayrıca LCD grafik modülü ile iletişim için "TFT_ILI9163C" kitaplığını ekleyin.
Bağlantıya erişin ((((((https://github.com/sumotoy/TFT_ILI9163C))))) ve kitaplığı indirin.
Dosyayı açın ve Arduino IDE'nin kitaplıklar klasörüne yapıştırın.
C: / Program Dosyaları (x86) / Arduino / kitaplıklar
6. Adım: Kod
Öncelikle kodumuzda kullanacağımız kütüphaneleri ekleyelim.
#include // comunicar com o módulo LCD#include // comunicar com o sensor de umidade e sıcaklık
Tanımlar
Program sırasında kullanacağımız değişkenleri ve nesnelerin örneğini aşağıda göreceğiz.
#define DHTPIN D6 // sensör DHT22#define DHTTYPE DHT22 // DHT22 ve sensör kullanımı (yapıcı için önemli) DHT dht(DHTPIN, DHTTYPE); // Construtor nesneyi utilizaremos para se comunicar com o sensor için kullan // Renk tanımları #define BLACK 0x0000 #define BLUE 0x001F #define KIRMIZI 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xF81F #define YELLOW 0x001F tanımla _CS D1 // CS do que conectaremos o CS do módulo LCD #define _DC D4 // pino que conectaremos o RS do módulo LCD TFT_ILI9163C ekran = TFT_ILI9163C(_CS, _DC); // yapıcı nesne LCD'yi nesnel olarak kullan
Kurmak
setup() fonksiyonunda, nem sensörü ve sıcaklık ile iletişimden sorumlu olan "dht" değişkenini başlatıyoruz. Ayrıca LCD modülü ile iletişim kurmak için kullanılan "ekran" değişkenini de başlatacağız.
Ayrıca nesneyi ekranda çizmeye başlayacak şekilde yapılandıracağız.
geçersiz kurulum(void) { dht.begin(); // comunicar comunicar com o n o n o r m e n e n e n e n e n e n e d e n e n e d e n e n e d e n e d e n e d e n e n e d e n e n e n e n e n e n e n e n e n e n e n e n e m egin(); // LCD display.clearScreen(); // bir tela limpa, kaldır ve todos os desenhos display.fillScreen(BLACK); // bir tela bugün de preto display.setTextSize(2); // tamanho yapılandırması o texto com o tamanho 2 display.setTextColor(GREEN); // texto como verde display.setCursor(5, 10); // bir imleç para gelip bir escrita bir partir do (x, y) display.print("TEMPERATUR"); // escreve em tela display.setCursor(22, 70); // yeniden konumlandırma veya imleç gösterimi.print("UMIDADE"); // escreve em tela display.setTextColor(BEYAZ); // configura a cor do texto como branco (bir partir de agora) delay(1000); // espera de 1 segundo }
Döngü
Döngü () işlevinde, sensör tarafından okunan ve belirli bir konumda ekranda yazılan nem ve sıcaklıkları alacağız. Her 5 saniyelik aralıklarla sensörden değer okunur ve ekrana yazılır.
void loop(){ int h = dht.readHumidity(); // her zaman olduğu gibi algılayıcı int t = dht.readTemperature(); // aşırı sıcaklık ve sıcaklık sensörü // 2 linhas seçeneği olarak “fillRect”, são para fazer ve limpeza do yerel onde escreveremos ve umidade e a temperatura, apagaremos o valor atual para escreveradomente atual. display.fillRect(5, 32, 120, 20, SİYAH); // fillRect(x, y, genişlik, yükseklik, renk); display.fillRect(5, 92, 120, 20, SİYAH); display.setCursor(40, 35); // yeniden konumlandırma veya imleç para escrever display.print(t); // bir sıcaklık escreve em tela display.print((char)247); // símbolo de grau ° através de código display.print("C"); // coloca o “C” para indicar que é é graus Celcius display.setCursor(40, 95); // yeniden konumlandırma veya imleç para escrever display.print(h); // bir umidade em tela display.print("%"); // símbolo de “porcentagem” para indicar a umidade delay(5000); }
7. Adım: Diğer Bazı İlginç İşlevler
// Ekranın içeriğini döndürür (0, 1, 2 veya 3 parametreleri)
display.setRotation (uint8_t);
// Ekran renklerini ters çevirir (negatif yapar)
display.invertDisplay (boole);
// Ekranda (x, y) konumunda tek bir piksel çizer
display.drawPixel (x, y, renk);
// Konumda dikey bir çizgi çizer
display.drawFastVLine (x, y, genişlik, renk);
// Belirtilen konumda dikey bir çizgi çizer
display.drawFastHLine (x, y, genişlik, renk);
// Belirtilen konumda yatay bir çizgi çizer
display.drawRect (x, y, genişlik, yükseklik, renk);
// Belirtilen konumda bir daire çizer
display.drawCircle (x, y, yarıçap, renk);
Önerilen:
Arduino 7 Segment Ekranlı Dijital Ludo Zar Projesi: 3 Adım
Arduino ile Dijital Kızma Birader 7 Segment Ekran Projesi: Bu projede, butona her bastığımızda 1'den 6'ya kadar rastgele bir sayıyı göstermek için 7 segmentli ekran kullanılmıştır. Herkesin yapmaktan keyif aldığı en havalı projelerden biri. 7 segment display ile çalışmayı öğrenmek için tıklayın: -7 segment
Akıllı Telefonu Temassız Termometre / Taşınabilir Termometre Olarak Kullanın: 8 Adım (Resimlerle)
Akıllı Telefonu Temassız Termometre / Taşınabilir Termometre Olarak Kullanın: Vücut ısısını termo tabanca gibi temassız / temassız olarak ölçme. Bu projeyi oluşturdum çünkü Thermo Gun artık çok pahalı, bu yüzden DIY yapmak için alternatif bulmalıyım. Ve amaç düşük bütçeli versiyon ile yapmaktır.SuppliesMLX90614Ardu
ESP8266 Kullanan Dijital Termometre DHT11: 4 Adım
ESP8266 Kullanan Dijital Termometre DHT11: Bir önceki yazımda DH11'i ve 7 Segment, LCD, Seri monitör, RGB ring gibi çıkış cihazlarında nasıl görüntüleneceğini anlatmıştım.Bu yazımda size sıcaklık ve nem izlemeyi göstereceğim. cep telefonunda bir tarayıcı kullanarak
Arduino Tabanlı Temassız Kızılötesi Termometre - Arduino Kullanan IR Tabanlı Termometre: 4 Adım
Arduino Tabanlı Temassız Kızılötesi Termometre | Arduino Kullanan IR Tabanlı Termometre: Merhaba arkadaşlar, bu talimatta arduino kullanarak temassız bir Termometre yapacağız. Bazen sıvının/katının sıcaklığı çok yüksek veya çok düşük olduğundan, onunla temas kurmak ve okumak zordur. o sahnede sıcaklık
Acme Dijital Termometre W/ DS18B20 Sıcaklık Probu ve I2C LCD: 5 Adım
Acme Dijital Termometre W/ DS18B20 Sıcaklık Probu & I2C LCD: Bu çok maliyetli olmayan ve fazla zaman almayacak çok basit bir projedir. Onu bir Amazon kutusuna koydum çünkü oradaydı, ama bu hemen hemen her şeye monte edilebilirdi