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]]


Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis.
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.
 
Základné princípy zapojenia:
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:
 
PB3 (MOSI) → Data (SI)
 
PB5 (SCK) → Hodiny
 
PD2 → RS (register select)
 
PD4 → CS (chip select)
 
PD6 → BKLT (podsvietenie)
 
Displej je napájaný z 5V a uzemnený (GND). Pri inicializácii sa zapne podsvietenie a aktivuje sa režim zobrazovania.
 
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.


[[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:01, 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é 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.

Základné princípy zapojenia: 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:

PB3 (MOSI) → Data (SI)

PB5 (SCK) → Hodiny

PD2 → RS (register select)

PD4 → CS (chip select)

PD6 → BKLT (podsvietenie)

Displej je napájaný z 5V a uzemnený (GND). Pri inicializácii sa zapne podsvietenie a aktivuje sa režim zobrazovania.

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.

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.