Агуулгын хүснэгт:

LCD дэлгэцтэй ESP8266 дижитал термометр: 7 алхам
LCD дэлгэцтэй ESP8266 дижитал термометр: 7 алхам
Anonim
Image
Image
LCD график модуль 128x128 RGB TFT ILI 9163C
LCD график модуль 128x128 RGB TFT ILI 9163C

Өнөөдөр би ESP8266 NodeMCU дээрх TFT LCD дэлгэцийг ашиглан тухайн цаг агаарын температур, чийгшлийн мэдээллийг хэрхэн харуулахыг танд үзүүлэх болно. Би 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-Номын сан-мастер" гэсэн дараах номын санг нэмнэ үү.

Зүгээр л "Ноорог >> Номын санг оруулах >> Номын санг удирдах …" хэсэгт очно уу.

Мөн LCD график модультай холбогдохын тулд "TFT_ILI9163C" номын санг нэмнэ үү.

Холбоос руу ороод (((((((https://github.com/sumotoy/TFT_ILI9163C)))))) номын санг татаж аваарай.

Файлыг задалж, Arduino IDE -ийн номын сангийн хавтсанд буулгана уу.

C: / Програмын файлууд (x86) / Arduino / номын сан

Алхам 6: Код

Эхлээд манай кодонд ашиглагдах номын санг нэмж оруулъя.

#оруулах // utilizada para comunicar com o módulo LCD#оруулах // utilizada para comunicar com o sensor de umidade e temperatura

Тодорхойлолт

Хөтөлбөрийн явцад ашиглах хувьсагчид болон объектуудын жишээг бид доороос харах болно.

DHTPIN D6 -ийг тодорхойлох // DHT22 мэдрэгчийг тодорхойлох#DHTTYPE DHT22 // DHT22 -ийг тодорхойлох нь мэдрэгчийг ашиглахад чухал үүрэг гүйцэтгэдэг (чухал үүрэг гүйцэтгэгч) DHT dht (DHTPIN, DHTTYPE); // Constutor do objeto que utilizaremos para se comunicar com o sensor // Өнгөний тодорхойлолт #ХАР 0x0000 тодорхойлох #ХӨХ 0x001F тодорхойлох RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #FefFFFFFFFFFFFFF _CS D1 // pino que conectaremos or CS do módulo LCD #define _DC D4 // pino que conectaremos o RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC) тодорхойлох; // бүтэц зохион бүтээгч нь LCD дэлгэц дээр комуник хийх боломжтой болно.

Тохируулах

Setup () функц дээр бид чийгшил мэдрэгч ба температуртай харилцах үүрэгтэй "dht" хувьсагчийг эхлүүлдэг. Мөн LCD модультай холбогдоход ашигладаг "дэлгэц" хувьсагчийг эхлүүлэх болно.

Бид мөн объектыг дэлгэцэн дээр зурж эхлэхээр тохируулах болно.

void setup (void) {dht.begin (); // inicialização para se comunicar com com sensor display.begin (); // LCD дэлгэцийг цэвэрлэхэд зориулагдсан болно. cleararcreen (); // limpa a tela, removendo todos os desenhos display.fillScreen (BLACK); // дэлгэцийн дүрсийг урьдчилан харуулах.setTextSize (2); // textu com o tamanho 2 config.setTextColor (GREEN); // тохиргоо хийх текстийг тайлбарлах.setCursor (5, 10); // posiciona o cursor para começar a part a do part (x, y) display.print ("TEMPERATUR"); // escreve em tela display.setCursor (22, 70); // reposiciona эсвэл cursor display.print ("UMIDADE"); // escreve em tela display.setTextColor (ЦАГААН); // тохиргоо хийх текстийг комо branco (partir de agora) саатал (1000); // 1 -р хэсэг}

Гогцоо

Loop () функц дээр бид мэдрэгчийн уншсан чийгшил, температурыг тодорхой байршилд дэлгэц дээр бичих болно. 5 секундын интервал бүрт утгыг мэдрэгчээс уншиж дэлгэц дээр бичдэг.

void loop () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // faz a leitura da temperatura do sensor // гэсэн хоёр хэлбэрээр "fillRect" ашиглагддаг бөгөөд энэ нь орон нутгийн температур, агаарын температур, температурын хэмжүүр, хэмжигдэхүүн зэргээр ашиглагддаг. display.fillRect (5, 32, 120, 20, ХАР); // fillRect (x, y, өргөн, өндөр, өнгө); display.fillRect (5, 92, 120, 20, ХАР); display.setCursor (40, 35); // reposiciona o cursor para escrever display.print (t); // temperatura emre tela display.print ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o “C” para indicar que é graus Celcius display.setCursor (40, 95); // reposiciona o cursor para escrever display.print (h); // escreve a umidade em tela display.print ("%"); // хойшлуулах хугацаа (5000); }

Алхам 7: Бусад сонирхолтой функцууд

// Дэлгэцийн агуулгыг эргүүлнэ (0, 1, 2 эсвэл 3 параметрүүд)

display.setRotation (uint8_t);

// Дэлгэцийн өнгийг буцаана (сөрөг болгодог)

display.invertDisplay (логик);

// Дэлгэц дээр (x, y) байрлалд ганц пиксел зурна.

display.drawPixel (x, y, өнгө);

// Босоо шугамыг байрлалд зурна

display.drawFastVLine (x, y, өргөн, өнгө);

// Заасан байрлалд босоо шугам зурна

display.drawFastHLine (x, y, өргөн, өнгө);

// Заасан байрлалд хэвтээ шугам зурна

display.drawRect (x, y, өргөн, өндөр, өнгө);

// Заасан байрлал дээр тойрог зурна

display.drawCircle (x, y, радиус, өнгө);

Зөвлөмж болгож буй: