Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Nejjednodušší online teploměr

Mnohé z nás určitě zaujal online teploměr, který přímo na internetových stránkách zobrazuje aktuální venkovní teplotu. Řadu zájemců ale odradí poměrně složité zapojení nebo nutnost naprogramovat nějaký jednochip. Ale existuje jednoduché zapojení, které sestává ze dvou součástek, konektoru a kabelu. Celková cena je nižší než 200 Kč.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Jádrem tohoto teploměru je teplotní čidlo SMT160–30 firmy Smartec. Teplotní čidlo SMT160–30 je převodník „teplota / střída“, jeho cena se pohybuje okolo 100 Kč.

Čidlo generuje obdelníkový signál s frekvencí 1–4kHz v závislosti na teplotě, se střídou podle vzorce DC=0,32+0,0047*t , kde t je teplota ve stupních Celsia.

Velkou výhodou tohoto čidla je velice malá spotřeba (menší než 1mW), napájení 5V, digitální výstup a kompatibilita s TTL a CMOS. Teplotní rozsah je od –45°C do +150 °C s absolutní přesností +/-0,7 °C a linearita výstupu je 0,2 °C. Bez větších problémů tak získáte teploměr, který měří s přesností na stupně celsia, což je pro většinu aplikací dostatečné.

Čidlo se dodává v několika pouzdrech, ale pro naše použití je nevhodnější pouzdro T092 (čidlo je potom značené SMT160–30–92, kde 92 značí typ pouzdra).

Připojení teploměru k počítači

V zásadě existují dvě základní zapojení tohoto čidla přímo do počítače. První připojení představuje zapojení čidla přímo na LPT port a druhé zapojení je zapojení čidla na GAME port (na tlačítko střelby).

Obě zapojení jsou si v zásadě rovnocenná, je u nich možné zapojit až 4 čidla zároveň. Dále se budu věnovat jen zapojení jednoho čidla přes LPT port.

Vzhledem k poměrně malému odběru čidla je možné použít k napájení přímo logiku LPT portu, čidlo pak nepotřebuje žádné další napájení.

Zapojení teploměru

V podstatě je možné připojit čidlo přímo na LPT port pomocí konektoru CANNON 25PIN.

Čidlo se bude napájet z PINu 1 (OUT 12) a 14 (OUT11) + 5V (napájí se ze dvou PINu tak, aby se zmenšil odběr). Signál z čidla se přivádí na PIN 15 (IN 5) konektoru. Poslední vývod z čidla – zem (GND) se zapojí na PIN 25.

Ještě je nutné doplnit napájení o kondenzátor 20nF (zapojit mezi +5V – PIN 1 a GND – PIN 25).

Schéma zapojení

Mechanické provedení

Základem je konektor CANNON 25 – LPT port, do kterého se zapájí vlastní vodiče a kondenzátor (je poměrně malý a není problém uložit ho do konektoru).

Co se týká přívodních kabelů, tak bez problémů používám čidlo na 10m kabelu. U vodičů je nutné především zajistit, aby netvořily smyčky. Potom může dojít ke zkreslení signálu a ke zhoršení přesnosti.

Uložení vlastního čidla závisí především na použití. Zejména je nutné zabránit pronikání vody ke kontaktům a vzniku zkratu.

Vzhledem k malým rozměrům čidla je možné ho uložit do kousku hliníkové trubičky (má výbornou tepelnou vodivost) nebo bužírky a konce zalít epoxidem. Získáte čidlo, které je možné použít na měření teploty na méně přístupných místech. K izolaci proti zkratu se hodí tepelně smršťující bužírka.

Detail konstrukce

Kompletní teploměr

Další možností je umístit do krabičky elektrikářskou svorkovnici („čokoládu“) a do ní zapojit čidlo a kabely. V případě, že chcete měřit teplotu v místnosti, je možné uložit čidlo přímo do konektoru.

Při zapojování je nutné dbát především na to, aby nemohlo dojít k vyzkratování napájení a tím ke spálení LPT portu v počítači.

Vlastní měření

K určení teploty stačí zjistit střídu signálu a přepočítat ji na teplotu. Nejjednodušší metodou, jak zjistit střídu, je několikrát otestovat logickou úroveň signálu a ze zjištěných údajů určit teplotu podle vzorce:

Teplota [st.C]=( ( (t2 / (t1 + t2) ) – 0.32) / 0.0047)

kde:

t1 je počet měření, kdy byla na portu zjištěna logická 0

t2 je počet měření, kdy byla na portu zjištěna logická 1

Nejjednodušší program na měření teploty

Soubor teplomer.c

#include <stdio.h>
#include <unistd.h>
#include <sys/io.h>

#define DATA 0x378
#define STATUS DATA+1
#define CONTROL DATA+2

float ZmerTo (unsigned short naportu, unsigned char odkud, int stav)

// funkce vraci teplotu ve st. Celsia
// parametry
// naportu - port na kterem se provadi mereni
// odkud  - bite na ktery je pripojen teplomer
// stav - urcuje zda je vstup negovan

#define DelkaCyklu  0xffff

{
int t0, t1, t2;
int mask = (1 << odkud);
t1=0;
t2=0;

for (t0 = 0; t0 < DelkaCyklu; t0++)
    // vlastní mereni
    if ((inb (naportu) & mask) == 0) t1++ ;

// negace mereni v pripade, ze je port negovan
t2=DelkaCyklu-t1;
if (stav!=0){
   t1=t2;
   t2=DelkaCyklu-t1;
    };
// vlastní vypocet teploty
return ((((double)t2 / ((double)DelkaCyklu)) - 0.32) / 0.0047);
}

int main (void)
{
if (setuid (0) < 0)
    {
    printf ("Program musi byt spusten rootem\n");
    exit (1);
     }
if (ioperm (STATUS, 3, 1))
    {
    printf ("Program musi byt spusten rootem\n");
    exit (1);
    }
if (ioperm (CONTROL, 3, 1))
    {
    printf ("Neni pristup na port\n");
        exit (1);
     }


// nastaveni control portu na 1 tak aby na nem bylo +5V pro napajeni
outb (52, CONTROL);

// zmereni teploty
//pro LPT port a pro teplomer zapojeny na PIN 15
printf ("Teplota je %4.1f \n",  ZmerTo (STATUS, 3, 0));

// nastaveni control portu na 0 tak aby bylo vypnute napajeni cidla
outb (55, CONTROL);

return (0);
}

Kompilace se spustí příkazem gcc -O6 teplomer.c -o teplomer .

Jak je vidět, program musí být spouštěn rootem (nebo musí být na programu nastavené SUID). Dále musím upozornit na to, že na LPT portu jsou některé vstupy a výstupy negovány. Nevadí to, ale pokud budete zapojovat více čidel na jeden LPT port, je nutné s tím počítat.

Nasazení v provozu

Nejjednodušší zapojení tohoto programu do internetového serveru je spouštění programu teploměr pomocí cronu každou hodinu a zápis naměřených hodnot do souboru. Naměřené hodnoty je potom možné zpracovat pomocí PHP nebo je pomocí programu GNUPLOT vynášet do grafu.

Zkušenosti z provozu

Výše uvedené zapojení používám už déle než půl roku pro pravidelné měření venkovní teploty. Čidlo je umístěné venku na 10m kabelu a už bylo vystaveno teplotám od plus 30 stupňů do mínus 20 stupňů Celsia. Vzhledem k umístění čidla (měřené hodnoty jsou ovlivňovány stěnou domu) provádím drobnou korekci teploty (kterou jsem zjistil kalibrací teploměru a u každého čidla bude trochu jiná).

Pokud budete chtít měřit venkovní teplotu úplně přesně, budete muset teploměr nejen zkalibrovat, ale především ho správně umístnit. Pro přesná meteorologická měření musí být teploměr umístěný na prázdném travnatém prostranství, kde nebude stíněn. Dále musí být teploměr umístěn v bílé, dobře větratelné budce, v určité výšce nad zemí…
Jak je vidět, podmínek je hodně a ve většině případů bude stačit, když se venkovní teploměr umístí tak, aby na něj nesvítilo slunce a aby nebyl ovlivňován teplem vycházejícím ze stěn domu.

Závěr

Pokud se rozhodnete postavit si tento teploměr, bude vám stačit jenom pájka a asi 200Kč. Na internetu se sice dá najít řada lepších zapojení, než je toto, ale ta jsou zase o něco složitější. K vyhodnocení údajů z čidla se většinou používají jednochipové procesory. Každý ale nemusí mít přístup k programátoru jednochipu, a tak jsou pro něj tato zapojení nepoužitelná.

Jediné, na co je potřeba dát si pozor, je to, aby nedošlo ke zkratování portů na počítači (a tak k jeho zničení) a aby se u venkovního teploměru nedostávala voda na čidlo.

Školení: IP v 6 na Linuxu

Tento krátký kurz je určený speciálně pro zkušené správce sítí IPv4, kteří se chtějí seznámit s nastupujícím internetovým protokolem IPv6.

Platforma: Linux

  • Adresace
  • Link-local adresy
  • Dynamické přidělování adres
  • a další

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 3,00

Přehled názorů

kanon na vrabce?
kavol 4. 3. 2003 00:51
Nový
├ 
Re: kanon na vrabce?
Roj 4. 3. 2003 01:42
Nový
├ 
Re: kanon na vrabce?
OPUX 4. 3. 2003 08:48
Nový
└ 
Re: kanon na vrabce?
Lukas xxx 17. 12. 2007 01:30
Nový
 
└ 
Re: kanon na vrabce?
vama 8. 7. 2011 10:00
Nový
Zapojeni na game port
Honza 4. 3. 2003 03:56
Nový
├ 
Re: Zapojeni na game port
vanous 4. 3. 2003 05:11
Nový
├ 
Re: Zapojeni na game port
Dan 4. 3. 2003 06:57
Nový
└ 
Re: Zapojeni na game port
T1GER 28. 8. 2003 11:47
Nový
a co task switching
tomas 4. 3. 2003 04:06
Nový
└ 
Re: a co task switching
jura 4. 3. 2003 10:07
Nový
realtime
medard 4. 3. 2003 06:24
Nový
Je to s prominutím prasárna
Frn 4. 3. 2003 07:49
Nový
├ 
Re: Je to s prominutím prasárna
B0biN 4. 3. 2003 08:49
Nový
│
└ 
Re: Je to s prominutím prasárna
Frn 6. 3. 2003 14:25
Nový
├ 
Re: Je to s prominutím prasárna - to je malo
medard 4. 3. 2003 09:24
Nový
│
├ 
Re: Je to s prominutím prasárna - to je malo
kubik 4. 3. 2003 09:34
Nový
│
│
├ 
Re: Je to s prominutím *** - to je malo - joystick
medard 4. 3. 2003 12:01
Nový
│
│
│
├ 
Re: Je to s prominutím *** - to je malo - joystick
me 5. 3. 2003 21:50
Nový
│
│
│
│
└ 
Re: Je to s prominutím *** - to je malo - joystick
Lukas xxx 17. 12. 2007 01:33
Nový
│
│
│
└ 
Re: Je to s prominutím *** - to je malo - joystick
Frn 6. 3. 2003 14:25
Nový
│
│
├ 
Re: Je to s prominutím prasárna - to je malo
Frn 6. 3. 2003 14:25
Nový
│
│
│
└ 
Re: Je to s prominutím prasárna - to je malo
Lukas xxx 17. 12. 2007 01:38
Nový
│
│
└ 
Re: Je to s prominutím prasárna - to je malo
Lukas xxx 17. 12. 2007 01:32
Nový
│
└ 
Re: Je to s prominutim prasarna - to je malo
Jiri Dobry 4. 3. 2003 10:24
Nový
├ 
Re: Je to s prominutím prasárna
Jan Pech 4. 3. 2003 10:41
Nový
│
└ 
Re: Je to s prominutím prasárna?
M. Istok 5. 3. 2003 21:04
Nový
└ 
Re: Je to s prominutím prasárna
T1GER 28. 8. 2003 12:00
Nový
nestacilo by ioperm?
tap 4. 3. 2003 09:18
Nový
Digitemp
Daniel Smolik 4. 3. 2003 10:04
Nový
Jde to ještě jednodušeji....
Tom Vrana 4. 3. 2003 10:36
Nový
└ 
Re: Jde to ještě jednodušeji....
Pavel Prchal 4. 3. 2003 11:17
Nový
 
└ 
Re: Jde to ještě jednodušeji....
Medved 29. 5. 2003 20:13
Nový
.... a cena :-)
Tom Vrana 4. 3. 2003 10:37
Nový
A co nejaky teplotni autoregulator otacek
Zdenek Kabelac 4. 3. 2003 10:53
Nový
├ 
Re: A co nejaky teplotni autoregulator otacek
Tomas 4. 3. 2003 20:24
Nový
└ 
Re: A co nejaky teplotni autoregulator otacek
pekr 5. 3. 2003 10:27
Nový
přesnost čidel
Jan Martinek 4. 3. 2003 12:07
Nový
└ 
Re: přesnost čidel
Yeti 4. 3. 2003 14:42
Nový
 
└ 
Re: přesnost čidel
m0rph 4. 3. 2003 15:20
Nový
 
 
└ 
Re: přesnost čidel
Touxa 7. 3. 2003 12:44
Nový
Profi a stejne jednoduche reseni
Filip Kotoucek 4. 3. 2003 15:47
Nový
Digitemp rulez !!!
Aloner 4. 3. 2003 18:26
Nový
└ 
Re: Digitemp rulez !!!
Iany 12. 3. 2003 14:43
Nový
 
└ 
Re: Digitemp rulez !!!
paulusmaria 7. 1. 2006 13:34
Nový
 
 
└ 
Re: Digitemp rulez !!!
paulusmaria 24. 3. 2006 23:39
Nový
Taky jednoduché řešení...
Martin Vítězník 4. 3. 2003 20:01
Nový
└ 
Re: Taky jednoduché řešení...
megalith 10. 3. 2003 12:28
Nový
super
Zdeněk Štěpánek 5. 3. 2003 00:30
Nový
phpWeather
Nepto 5. 3. 2003 02:42
Nový
Petikoruna
Dalibor 5. 3. 2003 12:08
Nový
└ 
Re: Petikoruna
yakub 7. 3. 2003 10:52
Nový
pomoc
wenca 8. 3. 2003 10:12
Nový
hw reseni
Jirka N. 16. 3. 2003 00:27
Nový
├ 
Re: hw reseni
David Sedláček 30. 12. 2003 12:44
Nový
│
└ 
Re: hw reseni
anonymní uživatel 25. 1. 2006 09:55
Nový
└ 
Re: hw reseni
Mirek 13. 11. 2004 01:14
Nový
 
└ 
Re: hw reseni
lsla 30. 4. 2005 21:14
Nový
 
 
└ 
Re: hw reseni
Macan 25. 4. 2006 12:33
Nový
Zaujimave riesenie v praxi
horol 16. 3. 2003 21:05
Nový
Potencialni zrada
Shaddack 22. 3. 2003 15:50
Nový
kdo to umí? a je ochoten a za co?
Martin 13. 4. 2003 22:11
Nový
└ 
Re: kdo to umí? a je ochoten a za co?
Jirka 7. 5. 2003 14:10
Nový
 
└ 
bez titulku
Hroch 17. 11. 2004 22:24
Nový
 
 
└ 
Re:
Hradlo 10. 6. 2005 13:49
Nový
Jde to i přes USB ???
Luke 30. 9. 2004 11:36
Nový
├ 
Re: Jde to i přes USB ???
anonymní uživatel 12. 4. 2005 22:01
Nový
└ 
Re: Jde to i přes USB ???
Hradlo 10. 6. 2005 14:42
Nový
Teplomer od unitet
Mirek 26. 12. 2004 14:05
Nový
Kam s druhym cidlem?
Alex 6. 1. 2005 19:13
Nový
└ 
Re: Kam s druhym cidlem?
Kamil Sopko 26. 1. 2005 20:56
Nový
 
└ 
Kam s druhym cidlem?
thovt 3. 11. 2008 12:46
Nový
Software pro gameport
Zdenál 30. 6. 2005 01:05
Nový
cool
anonymní uživatel 23. 10. 2006 09:05
Nový
ne tak levně ale kvalitněji
Mysha00 14. 5. 2008 15:23
Nový
Munin
m4a 19. 9. 2008 23:04
Nový
Chyba v obslužném programu ?
bootik 5. 10. 2008 18:29
Nový
kua vobec mi to nejde
Qinces 9. 10. 2008 20:55
Nový
└ 
Re: kua vobec mi to nejde
loumer 26. 10. 2008 17:40
Nový
Oprava zdrojového kodu mel fungovat kdyby byli chyby tak se omlouván
thovt 30. 10. 2008 01:21
Nový
Překlad
anonymní uživatel 13. 1. 2009 17:11
Nový
└ 
Re: Překlad
thovt 14. 1. 2009 15:08
Nový
 
└ 
Re: Překlad
thovt 29. 1. 2009 00:36
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem