Operácie

Kombinovaný snímač teploty a vlhkosti DHT11: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
Riadok 56: Riadok 56:
[[Súbor:Lcd.jpg|400px|thumb|center|LCD displej s ovládačom ST7036]]
[[Súbor:Lcd.jpg|400px|thumb|center|LCD displej s ovládačom ST7036]]


3. Schéma zapojenia
3. Schéma zapojenia:


Celé zapojenie som realizoval na breadboarde, pričom som sa snažil čo najefektívnejšie využiť dostupné piny mikrokontroléra ATmega328P, aby nedochádzalo ku konfliktom medzi perifériami.
Celé zariadenie bolo zapojené na breadboarde pomocou prepojovacích vodičov. Použil som mikrokontrolér ATmega328P, ktorý riadi čítanie dát zo senzora DHT11 a ich následné zobrazenie na LCD displeji. Komponenty boli zvolené tak, aby spolu komunikovali spoľahlivo bez rušenia a aby sa dali pripojiť priamo k pinom mikrokontroléra bez potreby zložitej logiky.


Základné princípy zapojenia:
Základné zapojenie komponentov:
Senzor DHT11 je pripojený na pin PD5 (Arduino D5). Tento pin slúži ako digitálny vstup aj výstup – najskôr sa vysiela štartovací signál a následne sa na tom istom pine prijímajú údaje.


LCD displej využíva SPI komunikáciu, kde sú použité tieto vývody:
1. Senzor DHT11


PB3 (MOSI) Data (SI)
VCC senzora 5V na doske


PB5 (SCK) Hodiny
GND senzora GND na doske


PD2 RS (register select)
DATA senzora pin PD5 (Arduino D5)


PD4 → CS (chip select)
Senzor DHT11 komunikuje cez digitálny jednovodičový protokol. Mikrokontrolér najprv vyšle signál na prebudiť senzor a potom čaká na odpoveď a číta 5 bajtov – vlhkosť, teplotu a kontrolný súčet.


PD6 → BKLT (podsvietenie)
2. LCD displej (ST7036)


Displej je napájaný z 5V a uzemnený (GND). Pri inicializácii sa zapne podsvietenie a aktivuje sa režim zobrazovania.
LCD displej komunikuje cez SPI. Použité piny:


UART (sériová komunikácia) slúži na výstup údajov do sériového monitora. Mikrokontrolér posiela údaje, ktoré sú následne čitateľné v aplikácii ako napr. PuTTY.
PB3 (MOSI) → SI (dáta do displeja)
 
PB5 (SCK) → hodiny (clock)
 
PD2 → RS (výber dátového alebo príkazového režimu)
 
PD4 → CS (výber displeja)
 
PD6 → podsvietenie (BKLT)
 
VCC → 5V
 
GND → GND
 
Displej zobrazuje na 1. riadku teplotu v °C a na 2. riadku vlhkosť v %.
 
UART výstup je pripojený k USB-UART prevodníku a slúži na monitorovanie výstupu cez terminál (PuTTY).


[[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]]
[[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]]

Verzia z 21:08, 21. máj 2025

Záverečný projekt predmetu MIPS / LS2025 - Aleh Sobaleu


https://arduinoposlovensky.sk/projekty/dht11-a-dht22/


Zadanie

Cieľom tohto projektu bolo navrhnúť jednoduchý systém na meranie teploty a vlhkosti pomocou senzora DHT11, ktorý komunikuje s mikrokontrolérom ATmega328P. Získané údaje sa zobrazujú na LCD displeji, pričom celý proces prebieha v reálnom čase bez potreby ďalšieho zásahu používateľa.

Vývojová doska ACROB.

Literatúra:


Analýza a opis riešenia

Projekt som postavil na základnej doske s mikrokontrolérom ATmega328P, pričom k nej boli pripojené dva hlavné komponenty: DHT11 senzor a LCD displej. Celé zapojenie som najskôr testoval na breadboarde a až po overení funkčnosti som ho zafixoval.

Použité súčiastky:

1. DHT11 – senzor teploty a vlhkosti Tento senzor meria aktuálnu teplotu (v stupňoch Celzia) a relatívnu vlhkosť vzduchu v percentách. Má 3 piny:

VCC – napájanie (5V)

GND – zem

DATA – dátový výstup

Senzor komunikuje cez digitálny jednovodičový protokol, takže na prenos údajov je použitý iba jeden pin mikrokontroléra – v mojom prípade to bol PD5 (Arduino pin D5).

Senzor DHT11 – pohľad zhora

2. LCD displej (EA DOGM163 / ST7036) Použil som trojriadkový LCD displej s ovládačom ST7036, ktorý komunikuje cez SPI zbernicu. Pripojenie vyzerá nasledovne:

SI → PB3

SCK → PB5

RS → PD2

CS → PD4

BKLT → PD6

+5V a GND napájanie

LCD displej slúži na prehľadné zobrazenie aktuálnej teploty a vlhkosti. Dáta sa obnovujú každé dve sekundy.

LCD displej s ovládačom ST7036

3. Schéma zapojenia:

Celé zariadenie bolo zapojené na breadboarde pomocou prepojovacích vodičov. Použil som mikrokontrolér ATmega328P, ktorý riadi čítanie dát zo senzora DHT11 a ich následné zobrazenie na LCD displeji. Komponenty boli zvolené tak, aby spolu komunikovali spoľahlivo bez rušenia a aby sa dali pripojiť priamo k pinom mikrokontroléra bez potreby zložitej logiky.

Základné zapojenie komponentov:

1. Senzor DHT11

VCC senzora → 5V na doske

GND senzora → GND na doske

DATA senzora → pin PD5 (Arduino D5)

Senzor DHT11 komunikuje cez digitálny jednovodičový protokol. Mikrokontrolér najprv vyšle signál na prebudiť senzor a potom čaká na odpoveď a číta 5 bajtov – vlhkosť, teplotu a kontrolný súčet.

2. LCD displej (ST7036)

LCD displej komunikuje cez SPI. Použité piny:

PB3 (MOSI) → SI (dáta do displeja)

PB5 (SCK) → hodiny (clock)

PD2 → RS (výber dátového alebo príkazového režimu)

PD4 → CS (výber displeja)

PD6 → podsvietenie (BKLT)

VCC → 5V

GND → GND

Displej zobrazuje na 1. riadku teplotu v °C a na 2. riadku vlhkosť v %.

UART výstup je pripojený k USB-UART prevodníku a slúži na monitorovanie výstupu cez terminál (PuTTY).

Schéma zapojenia.


Algoritmus a program

Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip

Overenie

Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Aplikácia.

Video:



Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.