Teploměr T6DS
vloženo:21.04.2014 aktualizováno:1.11.2014
Teploměr ukazující 6 teplot.
Horní řádek, teploty 1, 2, 3.
Dolní řádek, teploty 4, 5, 6 [°C].
Formát zobrazované teploty:
[125.] 100 až 125 (bez desetin)
[99.9]
[ 0.0]
[-9.9]
[-55.] -55 až -10 (bez desetin)
[ErrX] porucha senzoru číslo(X)
K teploměru lze připojit 1 až 6 teplotních senzorů DS18B20.
Ihned po zapnutí napájení proběhne vyhledávání jejich identifikačních kódů (prvních 8 bitů).
Displej ukazuje průběh vyhledávání. Postupně zobrazuje ID kódy, od nejmenšího po největší. Po prvním zapnutí budou v tomto pořadí senzory přiřazeny (očíslovány). Můžete začít s jedním senzorem, ten dostane č.1 a přidáte-li další čidlo, zaujme první volnou pozici. Pokud některé čidlo vyměníte, zaujme nové čidlo pozici předchozího (vadného) senzoru. Kódy jsou totiž uloženy do paměti EEPROM a při každém spuštění teploměru proběhne kontrola senzorů (kontrola nových a starých ID kódů). Staré senzory zůstanou na původních pozicích, zatímco nové senzory zaujmou uvolněná nebo dosud nepoužitá místa.
Systém kontroly ID kódů ale nepozná, když chcete měřit méně teplot a některé, nebo některá čidla odeberete trvale. Stávající senzory se neposunou na uvolněná místa, tam bude zobrazeno Err, a bude-li to na začátku, nebo někde uprostřed, nemusí to vypadat dobře. Pro nové seřazení ID kódů je potřeba vynulovat všechny kódy z EEPROM. Toho docílíte tak, že zapnete teploměr bez senzorů, pokud nebude nalezeno žádné čidlo, displej ukáže "Kody vynulovany!".
Při poruše senzoru se místo teploty zobrazí Err a číslo čidla.
Napájení senzorů může být jak externí, tak parazitní.
(pouze pro nekomerční účely, only for non-commercial purposes)
Program (PIC16F1847):
T6DS_16.HEX (5,2 kB)
Hlavička zdrojového kódu (nastavení programovacích pojistek):
T6DS_13.sam.txt (1,1 kB)
Pro tento teploměr jsem použil procesor PIC16F1847. Není potřeba žádný krystal, procesor má zapnutý interní taktovací oscilátor, nastavený na frekvencí 4MHz. Takže kromě procesoru a krystalu je hardware stejný jako Teploměr T4DS