Toto je velice jednoduchý digitální teploměr s mikroprocesorem Atmel AVR, měřící v rozmezí 2 - 99 °C s rozlišením na 1 °C.
Obvod je řízeny mikroprocesorem IO1 - Atmel AVR ATmega8, ATmega8L nebo ATmega8A. Jako snímač teploty slouží integrovaný obvod LM35. Ten poskytuje
na výstupu napětí lineárně závislé na teplotě, s koeficientem 10mV / °C.
K zobrazení teploty slouží dvoumístný sedmisegmentový LED displej. Displej je řízen multiplexně. Katody displeje jsou připojeny na port D,
anody na nejnižší 2 bity portu B. Použití vysocesvítivého displejě umožňuje vypustit obvyklé
tranzistory zesilující proud. Frekvence multiplexu je cca 100Hz.
Odpory R1 až R7 určují proud displeje a tím i jeho jas. Jsou zvoleny tak, aby
nebyl překročen maximální proud jednotlivého výstupu IO1 (40mA) ani při všech 8 LED svítících naráz.
Teploměr využívá nesymetrický 10-bitový AD převodník, který je součástí AVR.
Zpracováváno jen horních 8 bitů. Při vyšší hodnotě než 99 se objeví symbol "- -".
Obnovovací frekvence zobrazeného údaje je cca 2Hz. IO1 ATmega8 využívá vnitřní oscilátor nastavený na 1MHz.
Krystal není potřeba, protože taktovací frekvence nemá na AD převodník téměř žádný vliv.
Převodník využívá vnitřní napěťovou referenci se jmenovitým (typickým) napětím 2,56V.
Ta pro měření teploty s rozlišením na 1 °C ještě postačuje.
Teploměr se napájí ze zdroje cca 5V.
Odběr proudu je cca 25mA (většina z toho je spotřeba LED displeje).
Tento teploměr se hodí např. jako pokojový teploměr nebo ukazatel aktuální teploty různých zařízení (skříň PC, chladič výkonových tranzistorů nebo CPU, motor, chladnička, ...).
Napájecí napětí 5V lze získat např. pomocí jednoduchého zdroje s obvodem 7805 (před tento zdroj zařaďte vhodnou pojistku).
Program pro AVR teploměr ke stažení:
zdrojový kód v assembleru (ASM)
přeložený HEX soubor (246 Bajtů)
Zapisování programu do AVR se podrobněji věnuji zde.