piątek, 21 grudnia 2012

Termometr lekarski (ATmega8A + DS18b20 + LCD3310)

Cele i założenia projektu:

Celem projektu jest stworzenie elektronicznego urządzenia służącego do pomiaru temperatury ciała człowieka. Projektowane urządzenie powinno spełniać następujące wymagania:

-  wyświetlanie wyniku pomiaru na graficznym LCD do dziesiątej części st. Celsjusza,
- prosta inicjacja pomiaru,
- stabilność temperatury czujnika jako warunek kończący pomiar (konieczność analizy przyrostu kolejnych próbek),
- opcja  bezwzględnego przerwania pomiaru na skutek przekroczenia limitu czasu,
- sygnalizacja błędu w przypadku niewykrycia czujnika temperatury,
- zabezpieczenie czujnika przed wilgocią (nie wpływające na czas pomiaru),
- sprawdzenie dokładności z urządzeniem wzorcowym (ewentualna kalibracja),
- zasilanie bateryjne,
- przyjazny interfejs z użytkownikiem.

Podstawowe komponenty zastosowane w projekcie:

- czujnik temperatury - DS18b20,
- wyświetlacz graficzny - LCD Nokia 3310 PCD8544,
- mikrokontroler - ATmega8A,
- podświetlanie - 4x 4-wyprowadzeniowe diody RGB (pełna paleta kolorów).

Interfejs z użytkownikiem.

Dzięki zastosowaniu graficznego wyświetlacza LCD 3310 możliwe stało się uatrakcyjnienie komunikacji urządzenia z użytkownikiem implementując w układzie niestandardowe stylizowane czcionki, pasek stanu wyświetlany podczas trwania pomiaru, czy też logo startowe. Korzystając z możliwości prostego w obsłudze sterowania diodami RGB (dzięki programowemu PWM) zastosowano w projekcie podświetlanie LCD, którego kolor zależny jest od wartości odczytanej temperatury (od zimnego niebieskiego, przez zielony, a na czerwonym skończywszy). Jako, że z założenia jest to termometr lekarski kolory zostały wyskalowane w przedziale temperatury ciała człowieka (od 35 do 42 stopni Celsjusza). Pozwoliło to również na odczyt temperatury w przypadku ograniczonego oświetlenia (brak zintegrowanego podświetlania w LCD 3310). Przykładowe komunikaty:

Ekran startowy po włączeniu urządzenia i wykryciu czujnika temperatury.







Ekran podczas trwania pomiaru z widocznym w dolnej części ekranu paskiem stanu.







Ekran podczas trwania pomiaru.








Sygnalizacja braku obecności czujnika temperatury.








Sygnalizacja planowego zakończenia pomiaru.









Sygnalizacja bezwzględnego zakończenia pomiaru na skutek przekroczenia limitu czasu (3min).







Galeria:


Działanie układu: