INTELIGENTNY TERMOMETR Roman Chudy Studenckie Koło Naukowe Inżynierii Komputerowej Katedra Inżynierii Komputerowej i Informatyki Wydział Inżynierii Mechanicznej i Informatyki, Politechnika Częstochowska Al. Armii Krajowej 36 42 – 200 Częstochowa Opiekun: dr inż. Robert Cierniak 98-330 Pajęczno, Ogrodowa 42 e-mail: [email protected] Streszczenie: Niniejsza praca zawiera opis „inteligentnego termometru“ wspomagającego naturalne metody planowania rodziny. System zbudowany jest z dwóch podsystemów współpracujących między sobą. Pierwszy, stanowiący niezależne urządzenie przeprowadza odczyt temperatury. Rolą drugiego podsystemu jest rejestracja odczytanych temperatur w pamięci, co stanowi podstawę do przeprowadzenia analizy płodności kobiety w celu ustalenia rozpoczęcia fazy całkowicie niepłodnej w cyklu estrogenowoprogesteronowym kobiety. 1. Wstęp Dynamiczny rozwój dziedziny nauki zajmującej się całokształtem zagadnień związanych z problematyką określaną jako sztuczna inteligencja (ang. artificial intelligence) spowodował rosnące zainteresowanie zdobyczami w tej dziedzinie wśród producentów różnego rodzaju oprzyrządowania. Symptomatyczne jest, że wśród ludzi zapowiadających dynamiczny rozwój rynku urządzeń, w których zaimplementowane mają być elementy sztucznej inteligencji jest jeden z twórców mikrokomputerów — J. Wozniak, współtwórca firmy McIntosh. Zapowiedział on ostatnio powrót do aktywnej działalności gospodarczej właśnie w dziedzinie badania możliwości zastosowania sztucznej inteligencji w urządzeniach różnego rodzaju, ze szczególnym uwzględnieniem sprzętu powszechnego użytku. W tym kontekście wydaje się uzasadnione twierdzenie, że sprzęt medyczny zaopatrzony w elementy sztucznej inteligencji mógłby stanowić w wielu wypadkach poważną konkurencję dla tradycyjnych urządzeń medycznych, pozbawionych tej ze wszech miar ciekawej cechy — znamion inteligencji. Przedstawiony poniżej opis projektu stanowi opis fazy realizacyjnej jednego z wątków badań przeprowadzonych w Katedrze Inżynierii Komputerowej Politechniki Częstochowskiej [2][3][4] w ramach zagadnień powiązanych wspólnym tematem zastosowań sztucznej inteligencji w urządzeniach medycznych — budowy inteligentnego termometru. -1- 2. Funkcje inteligentnego termometru Termin „inteligencja” w kontekście sztucznych wytworów naszej cywilizacji jest aktualnie jednym z bardziej eksploatowanych określeń, mających za zadanie zwrócić uwagę odbiorców i użytkowników różnego rodzaju „inteligentnych” urządzeń na fakt posiadania przez nie pewnych specyficznych cech. Cechy takie powinny znamionować posiadanie przez te martwe przecież rzeczy elementów interaktywnego reagowania na działania, a nawet potrzeby inteligentnego, w ścisłym tego słowa znaczeniu, (przynajmniej w założeniu) posiadacza. W opisywanym projekcie, mającym za cel stworzenie termometru o posiadanych cechach skłaniających do określenia go mianem inteligentnego, niezmiernie ważne jest wyłonienie funkcji, które ten termometr miałby posiadać. W toku rozważań uznano, że następujące funkcje byłyby właściwe dla takiego urządzenia, i co równie ważne byłyby realizowalne w praktyce: funkcja standardowego pomiar temperatury (bez rejestracji w pamięci), funkcja zdalnego przekazywania pomiaru temperatury (z rejestracją w pamięci) do urządzenia analizującego, w ramach stosowania naturalnych metod planowania rodziny [1][6], wyznaczanie rozpoczęcia fazy całkowicie niepłodnej w cyklu hormonalnym kobiety, funkcja kalendarza, funkcja budzika, dźwiękowe lokalizowanie modułu czujnika temperatury. Urządzenie realizujące takie funkcje zostało koncepcyjnie podzielone na dwa moduły: moduł termometru właściwego (sondy) i moduł urządzenia bazowego (jednostki centralnej), co zostało zobrazowane przy pomocy rysunku 1. SONDA JEDNOSTKA CENTRALNA klawiatura przycisk EEPROM temperatura czujnik DS1621 P Port IrDA Port IrDA P RTC LCD graf. LCD Rys. 1. Schemat blokowy inteligentnego termometru. -2- W toku przeprowadzonych dotychczas prac udało się zrealizować część projektu dotyczącego budowy samego termometru, którego dokładniejszy opis znajduje się w następnym punkcie. 3. Architektura termometru Konstrukcja sondy, czyli właściwego termometru jest stosunkowo prosta. Zbudowana jest z czterech modułów: czujnika temperatury opartego na układzie DS1621 firmy Dallas Semiconductor [5], wyświetlacza LCD, mikrokontrolera i toru transmisji danych w podczerwieni. Zastosowanie cyfrowego czujnika DS1621 znacznie uprasza budowę oraz podnosi dokładność pomiarów (rzędu 0.0156 C). Rola mikrokontrolera ogranicza się tutaj jedynie do odczytania wartości temperatury, przedstawienia jej na wyświetlaczu LCD i przesłaniu do jednostki centralnej za pomocą łącza podczerwieni. O przesłaniu wyniku decyduje użytkownik naciskając przycisk w odpowiednim czasie. Odczyt danych z czujnika odbywa się za pomocą dwuprzewodowej magistrali I2C [8] podłączonego bezpośrednio do mikrokontrolera. Magistrala ta została opracowana specjalnie do współpracy z wieloma urządzeniami peryferyjnymi wykorzystujące te same, współdzielone linie do transmisji danych. Dzięki temu możliwe będzie również podłączenie zegara czasu rzeczywistego jak i pamięci EEPROM na wyniki pomiarów w jednostce centralnej. Magistrala I2C, zastosowana w tym projekcie, składa się z dwóch linii: SDA (ang. Serial Data – linia danych) i SCL (ang. Serial Clock – linia zegara). Sygnały na obu liniach mają formę cyfrowych przebiegów dwustanowych. Linia danych jest dwukierunkowa, więc możliwy jest zarówno odczyt jak i zapis danych. Natomiast linia zegara jest jednokierunkowa, co oznacza, że jeśli komunikują się ze sobą dwa układy, tylko jeden z nich może generować przebieg SCL (układ master – układ zarządzający magistralą). W tym przypadku jest to mikrokontroler. Prędkość przesyłania danych magistralą I2C jest stosunkowo niewielka – górna granica wynosi 100 kHz, a dla niektórych układów – 400 kHz. Procedury do obsługi magistrali I2C są doskonale opisane w literaturze [8]. Są one krótkie, i proste w zrozumieniu, dzięki czemu ich implementacja w języku C++ jest niezwykle prosta. Aby zminimalizować koszty oraz umożliwić napisanie optymalnych algorytmów koniecznych do prawidłowej pracy całego termometru napisany został program współpracujący bezpośrednio z czujnikiem DS1621 za pośrednictwem portu równoległego komputera PC [7]. Dzięki jego właściwościom nie było konieczne stosowanie elektroniki pośredniczącej. (tzw. interface’u). Program ten umożliwia pojedynczy odczyt temperatury standardowej (z dokładnością 0.5 C) oraz dokładnej (z dokładnością 0.0156 C), jak i ciągłe śledzenie zmian temperatury wraz z naniesieniem na wykres. Przykładowy przebieg zmian temperatury czujnika po przyłożeniu do ciała przedstawiony jest na rys. 2. -3- Rys. 2. Przebieg zmiany temperatury czujnika. Na powyższym rysunku znajduje się wykres zależności temperatury od czasu trwania pomiaru. Rozpiętość osi czasu to 96 sekund. Jak widać czas ten jest niewystarczający, aby odczytać poprawną temperaturę ciała. Zaniżenie wyniku spowodowane jest wychładzaniem czujnika (o bardzo małej pojemności cieplnej) poprzez przewody łączące z układem sondy. Rozwiązaniem tego problemu jest nakładka na czujnik o pojemności cieplnej wielokrotnie przewyższającej pojemność samego czujnika. Dzięki temu uzyskany wynik będzie dokładniej odzwierciedlał faktyczną wartość mierzonej temperatury. Jest to warunek konieczny do poprawnego działania całego systemu termometru. 4. Wnioski Aktualnie osiągnięto stan realizacji projektu, na którym można dokonywać pomiarów temperatury ciała w sposób rozumiany jako funkcja standardowego pomiaru tego parametru. Prace idą w kierunku umożliwienia dokonywania odczytu pomiarów na wyświetlaczu LCD, by następnie przejść do przysposobienia termometru do możliwości przekazywania wykonanych pomiarów urządzeniu bazowemu za pomocą podczerwieni. Równolegle do opisywanych prac budowane i testowane są inteligentne algorytmy mające dużą szansę poszerzyć w przyszłości „horyzonty” opisywanego urządzenia o niektóre funkcje zapisane w ogólnych założeniach konstrukcyjnych inteligentnego termometru. Istnieje realna szansa na wykonanie całego projektu jako systemu mikroprocesorowego, jednakże wykonanie urządzenia o wymienionych cechach inteligencji wymagałoby zaimplementowania układowego w postaci dedykowanego układu scalonego, aby produkt taki miał szansę na powszechne użytkowanie. Bibliografia [1] Billings E. J., Billings J. J., „Symptoms and Hormonal Changes Accompaying Ovulation”, Lancet, 2., 1972. [2] Cierniak R., praca magisterska: Elektroniczny identyfikator fazy cyklu progesteronowoestrogenowego, Akademia Górniczo-Hutnicza, Kraków, 1990. [3] Cierniak R., Urządzenie wspomagające naturalne metody planowania rodziny, V Krajowy Kongres Ekologiczny: EKO-Med., Tarnów, 19-21.XI.1998, str. 347-351. -4- [4] Cierniak R., „PRO HOMINIBUS” – urządzenie wspomagające naturalne metody planowania rodziny, XI Krajowa Konferencja Naukowa: Biocybernetyka i Inżynieria Biomedyczna, W-wa, 2-4.XII.1999, str. 747-751. [5] “DS1621 – Digital Thermometer and Thermostat” - Data Sheets, Dallas Semiconductor, http://pdfserv.maxim-ic.com/arpdf/DS1621.pdf. [6] Fijałkowski W., „Naturalny Rytm Płodności”, PZWL, Warszawa 1981. [7] Metzger P., „Anatomia PC”, Wydawnictwo Helion. [8] Rochumski P., “Opis magistrali I2C”, http://paweluss107.w.interia.pl/opis_i2c.zip. -5-