Členové týmu
- Jan Cícha (zodpovědný za měření teploty, vlhkosti a zobrazení na displeji)
- Pavel Horský (zodpovědný za měření CO2 a prachových částic)
V tomto projektu jsme se zabývali programováním mikrokontroleru obsluhujícího několik periferií. Konkrétním cílem bylo měření kvality ovzduší v místnosti. Mezi měřené veličiny patřila teplota, vlhkost, obsah CO2 a koncetrace prachových částic. Naměřená data jsou následně uživateli data přehledně prezentována na displeji.
- Teplota
- Relativní vlhkost
- Množství CO2
- Prachové částice PM
| Komponenta | Funkce |
|---|---|
| ATmega328 / Arduino Uno | hlavní MCU |
| DHT12 | měření teploty a vlhkosti |
| MG135 | indikátor kvality vzduchu / CO₂ |
| GP2Y10 | optický senzor prachu |
| OLED displej (I2C) | zobrazení dat |
Jedná se o mikrokontroler s procesorem ATmega328P pracující s 8bitovou architekturou na maximální frekvenci 16 MHz.

Digitální senzor poskytující údaje o teplotě v rozmezí od 20 do 60 °C s přesností 0.5 % a vlhkosti v rozmezí od 20 do 95 % s přesností 5 %. Přesnost měření vlhkosti je ale závislá na vlhkosti samotné a na teplotě (přesnější data uvedena v datasheetu).
MQ-135 je plynový senzor určený k detekci různých škodlivých plynů, jako je amoniak, oxidy dusíku, benzen, kouř, alkohol, CO₂... Pracuje na principu změny odporu materiálu v závislosti na koncentraci plynů ve vzduchu, není tedy jednoduše určitelné, o jaký typ plynu se jedná. Modul umožňuje jak analogové měření aktuální koncentrace plynů na odporovém děliči, tak i digitální varování přes zabudovaný komparátor s nastavitelnou komparační úrovní. Jeho nevýhodou pro testování je nutnost předehřívání, podle výrobce 24 h. Na následujícím obrázku je možné vidět zapojení modulu pro MQ135.
Jak již bylo zmíněno, na digitálním pinu je možné snímat hodnotu na výstupu komparátoru, pro nízkou úroveň je koncentrace překročena a rozsvítí se i zabudovaná LED dioda. Pro možnost přesnějšího snímání koncentrace plynů slouží analogový výstup, na kterém je snímáno napětí UL na zátěžném odporu RL a z něj dopočítáván snímací odpor RS.
Koncentrace plynů se určí jako poměr aktuálního odporu rezistoru Rs k referenční hodnotě získané po nahřátí modulu ve známé koncentraci plynů. Jako reference byl brán venkovní vzduch s průměrnou lpncentrací 400 ppm CO2. Na následujících grafech je možné vidět závislost na koncentraci plynů a na teplotě.
Pro výpočet byla použita knihovna od G.Krocker v jazyce c++, která byla upravena do jazyka c.
GP2Y10 je prachový sensor s optickým snímáním. Na jedné straně vysílá infračervené záření a na druhé snímá jeho intenzitu na fotodiodě a následně ji zesílí pomocí operačního zesilovače. Zapojení je možné vidět na následujícím obrázku
Modul vyžaduje PWD modulovaný signál pro řízení LED o přesně daných parametrech. Délka pulzu 0,32 ms a délka periody 10 ms viz následující obrázek. Protože je dioda velice rychle spínána, pro vyhlazení napájení je přidán kapacitor s nabíjecím rezistorem. Z tohoto důvodu je LED řízena PNP tranzistorem, což znamená, že dioda sepne pro nízkou úroveň řídícího signálu, což je inverze ukázkového signálu z technické dokumentace.
Po sepnutí led je nutné chvíli počkat, a v čase 0,28 ms od sepnutí LED přečíst analogový signál zesílený operačním zesilovačem.
Závislost napětí na prašnosti byla aproximována pouze lineární část přímkou.
OLED displej s bílým podsvícením o velikosti 128x64 bodů a úhlopříčce 1,3". Samotný displej je také doplněn o driver umožňující komunikaci s displejem pomocí I2C.
https://www.laskakit.cz/user/related_files/mq135.pdf
https://robototehnika.ru/file/DHT12.pdf
https://github.com/GeorgK/MQ135/blob/master/README.md
https://github.com/Bobbo117/MQ135-Air-Quality-Sensor
https://www.teachmemicro.com/wp-content/uploads/2020/01/MQ-135-schematic-diagram.png
https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y1010au_e.pdf
https://store.arduino.cc/cdn/shop/files/A000066_03.front_1200x900.jpg?v=1727098250
https://www.aranacorp.com/wp-content/uploads/screen-oled-tf052-i2c.jpg
https://www.satisled.com/web/image/product.template/2227/image_1920?unique=fcce363










