32

Click here to load reader

Projekt pralka automatyczna NY152

  • Upload
    flapson

  • View
    1.424

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Projekt pralka automatyczna NY152

POLITECHNIKA CZĘSTOCHOWSKAWydział Inżynierii Mechanicznej i Informatyki

Analiza, projektowanie iprogramowanie obiektowe

Projekt : Sterowanie pralką automatyczną.

Zemła Michał Szulc Adam

semestr V informatyka zaoczna

Page 2: Projekt pralka automatyczna NY152

WYMAGANIA

Celem projektu jest stworzenie programu, który będzie sterował pralką automatyczną w zależności od potrzeb użytkownika.

Podstawowym zadaniem systemu sterowania jest dopilnowanie, aby cały proces prania nie zakończył się uszkodzeniem pralki lub rzeczy w niej pranych.

Użytkownik może wybrać jeden z dostępnych programów prania lub stworzyć własny. Program musi pozwolić również wybrać rodzaj tkaniny oraz temperaturę wody w jakiej ma odbyć się pranie.

Projekt przewiduje również, że sterowanie pralki powiadomi użytkownika odpowiednim komunikatem jeśli temperatura wybrana przez użytkownika jest wyższa od maksymalnej temperatury prania danego materiału, program pozostawi użytkownikowi możliwość wyboru : zaakceptowanie ustawionej temperatury, wprowadzenie nowej temperatury lub ustawienie domyślnej temperatury dla danego materiału.

Próba otwarcia bębna w czasie pracy również będzie sygnalizowana odpowiednim komunikatem a na otwarcie bębna pozwolić ma dopiero po zatrzymaniu pracy pralki odpompowaniu wody i odczekaniu 120 sekund.

Program ma również kontrolować wszystkie czujniki, zawory i pompy odpompowujące wodę z komory bębna oraz grzałkę podgrzewającą wodę w komorze bębna.

1

Page 3: Projekt pralka automatyczna NY152

OPIS PRZYPADKÓW UŻYCIA

Wybór programu prania

Opis : Użytkownik dokonuje wyboru jednego z dostępnych programów prania.

1. Użytkownik podświetla opcję „Rozpoczęcie prania - START” i zatwierdza ją przyciskiem „ZATWIERDŹ”.2. Program wyświetla możliwe programy prania na wyświetlaczu pralki.3. Użytkownik dokonuje wyboru programu prania i zatwierdza go przyciskiem „ZATWIERDŹ”.4. Program zapamiętuje wybrany program.5. Program przechodzi do „Wyboru rodzaju tkaniny”.

Alternatywa : Jeśli użytkownik wybierze opcję „Rozpoczęcie prania - START” a pralkajest w stanie pracy to użytkownik zostanie o tym powiadomiony odpowiednimkomunikatem i powróci do „Menu głównego”.Jeśli użytkownik po wybraniu opcji „Rozpoczęcie prania - START” przez20 sekund nie wybierz żadnej opcji to program powróci do „Menu głównego”.Jeśli użytkownik wciśnie przycisk „ANULUJ” program powrócido „Menu głównego”.

Wybór rodzaju tkaniny

Opis : Użytkownik dokonuje wyboru rodzaju tkanin jakie zostały umieszczone w bębnie pralki.

1. Program wyświetla możliwe rodzaje tkanin do wyboru.2. Użytkownik wybiera tkaniny, które zostały włożone do bębna pralki i zatwierdza swój wybór wciskając przycisk „WYBIERZ”.3. Użytkownik kończy wybieranie tkanin wciskając przycisk „ZATWIERDŹ”.4. Program sprawdza w swojej bazie, który materiał jest najbardziej delikatny.5. Program zapisuje do pamięci temperaturę maksymalną wody dla tego rodzaju tkaniny.6. Program ustawia odpowiednie parametry prania dla materiału wybranego przez użytkownika.7. Program przechodzi do „Wyboru temperatury prania”.

Alternatywa : Jeśli użytkownik przyciśnie przycisk „ANULUJ” program powrócido „Wyboru programu prania”.Jeśli podczas „Wyboru rodzaju tkaniny” użytkownik przez 20 sekund nie wybierzeżadnej opcji to program powróci do „Menu głównego”.

2

Page 4: Projekt pralka automatyczna NY152

Wybór temperatury prania

Opis : Użytkownik ustawia temperaturę wody w jakiej ma odbyć się pranie.

1. Program prosi o ustawienie temperatury wody jakiej ma odbyć się pranie.2. Użytkownik ustawia żądaną temperaturę wody do prania i wciska przycisk „ZATWIERDZ”.3. Program sprawdza czy temperatura ustawiona przez użytkownika nie jest większa od maksymalnej temperatury dla wybranej tkaniny.4. Program zapamiętuje ustawioną temperaturę wody.5. Program zwalnia blokadę drzwiczek bębna pralki i prosi użytkownika o włożenie tkanin do środka bębna.6. Po włożeniu tkanin do środka bębna użytkownik zamyka drzwiczki bębna oraz przyciska przycisk „START”.7. Program sprawdza wszystkie czujniki czy są sprawne i czy nie sygnalizują jakiejś nieprawidłowości.8. Program rozpoczyna pracę z ustawionymi parametrami programu prania.9. Program po zakończeniu pracy przechodzi w stan gotowości.

Alternatywa : Jeśli użytkownik przyciśnie przycisk „ANULUJ” program powrócido „Wyboru rodzaju tkanin”.Jeśli podczas „Wyboru temperatury prania” użytkownik przez 20 sekund nie wybierzeŻadnej opcji to program powróci do „Menu głównego”.Jeśli użytkownik po przyciśnięciu przycisku „RODZAJ TKANIN” nic nie wybierze przez 20 sekund to program przejdzie do „Menu głównego”.Jeśli w punkcie 3 program stwierdzi, że temperatura wody ustawiona przezużytkownika jest wyższa od temperatury maksymalnej wybranej tkaniny wyświetlina wyświetlaczu komunikat, a użytkownik będzie musiał zdecydować czy wybranaprzez niego temperatura jest prawidłowa, czy chce jeszcze raz wprowadzićtemperaturę wody, czy chce aby program automatycznie ustawił temperaturęmaksymalną dla danego materiału.Jeśli w punkcie 7 program stwierdzi, że któryś z czujników sygnalizuje jakąś awarięwyświetli odpowiedni komunikat na wyświetlaczu .

3

Page 5: Projekt pralka automatyczna NY152

Otwieranie drzwiczek bębna pralki

Opis : Użytkownik dokonuje próby otwarcia drzwiczek bębna pralki.

1.Użytkownik wciska przycisk „OTWÓRZ” zwalniający blokadę drzwiczek bębna pralki.2.Program sprawdza czy pralka jest w stanie gotowości, czy pracy.3.Program sprawdza czas pobytu w stanie gotowości.4.Program zwalnia blokadę drzwiczek bębna pralki.5.Użytkownik otwiera drzwiczki bębna pralki.

Alternatywa : Jeśli pralka w punkcie 2 jest w stanie pracy to wyświetli się odpowiedni komunikat dla użytkownika i powróci do „Menu głównego”.Jeśli czas pobytu w stanie gotowości jest mniejszy od 120 sekund to wyświetli się odpowiedni komunikat dla użytkownika i powróci do „Menu głównego”.

Zatrzymanie prania „STOP”

Opis : Użytkownik próbuje zatrzymać proces prania przez wciśnięcie przycisku „STOP”

1.Użytkownik wciska przycisk „STOP”.2.Program sprawdza czy pralka jest w stanie pracy, czy też nie.3.Program zatrzymuje proces prania.4.Program odpompowuje wodę z komory bębna pralki.5.Program przechodzi w stan gotowości.

Alternatywa : Jeśli program nie jest w stanie pracy to nic się nie dzieje.

4

Page 6: Projekt pralka automatyczna NY152

Tworzenie własnego programu prania

Opis : Użytkownik ma potrzebę utworzenia własnego programu prania przez ustawienie odpowiednio kolejności wykonywanych członów programu prania.

1. Użytkownik wciska przycisk „NOWY PROGRAM PRANIA”.2. Program pyta z ilu członów będzie się składać nowy program prania.3. Użytkownik wprowadza wartość od 1 do 10.4. Program wyświetla możliwe człony do wyboru.5. Użytkownik zatwierdza swój wybór wciskając przycisk „WYBIERZ”.6. Program powtarza punkty 6 i 7 tyle razy ile wybraliśmy członów w punkcie 5.7. Program wyświetla całą strukturę nowego programu prania.8. Program czeka na potwierdzenie przez użytkownika poprawności nowego programu prania.9. Użytkownik potwierdza wciskając przycisk „ZATWIERDZ”.10. Program prosi o podanie nazwy nowego programu prania.11. Użytkownik wprowadza nazwę nowego programu prania i zatwierdza przyciskiem „ZATWIERDZ”12. Program zapisuje w pamięci nowy program prania .13. Program przechodzi do „Menu głównego”

Alternatywa : Jeśli w podczas gdy użytkownik wciśnie przycisk „NOWY PROGRAM PRANIA” a pralka jest w stanie pracy to użytkownik zostanie o tym powiadomiony odpowiednim komunikatem i przejdzie do „Menu głównego”. Jeśli użytkownik po przyciśnięciu przycisku „NOWY PROGRAM PRANIA”nic nie wybierze przez 20 sekund to program przejdzie do „Menu

głównego”. Jeśli użytkownik wybierze w punkcie 3 większą wartość niż punkt 5 opisuje to program powróci do punktu 2. Jeśli w punkcie 8 użytkownik nie będzie chciał zatwierdzić nowego programu prania to naciskając przycisk stop przerwie wprowadzanie i powróci do „Menu głównego”

5

Page 7: Projekt pralka automatyczna NY152

DIAGRAM PRZYPADKÓW UŻYCIA

UŻYTKOWNIK

Wybór programu prania

Wybór rodzaju tkaniny

Otwieranie drzwiczek bębna pralki

Zatrzymanie prania „STOP”

Tworzenie własnego

programu prania

6

Wybór temperatury prania

Page 8: Projekt pralka automatyczna NY152

OPIS KLAS

1. WYSWIETLACZ – klasa odpowiadająca za komunikację z użytkownikiem za pomocą wyświetlacza LCD wyświetlane są tu wszystkie komunikaty, listy programów prania, tkanin czy też komunikaty o błędach czy stanach pralki. Klasa ta pobiera informacje od użytkownika z pomocą przycisków.

WYSWIETLACZInformacja : string[];Numer : integer;Wyswietl_komunikat( );Wyswietl_program_prania ( );Wyswietl_tkaniny ( );Wyświetl_temperature ( );Pobierz_informacje( );

Atrybuty :- Informacja - tablica zawierająca aktualnie wyświetlaną informację;- Numer - numer komunikatu do wyświetlenia;

Metody :- Wyswietl_komunikat ( ) - funkcja ta jest odpowiedzialna za wyświetlenie

Komunikatu na wyświetlaczu LCD w zależności od Numeru z tej klasy.

- Wyswietl_program_prania ( ) - funkcja ta jest odpowiedzialna za wyświetlenie Listy programów prania na wyświetlaczu LCD.

- Wyswietl_tkaniny ( ) - funkcja ta jest odpowiedzialna za wyświetlenie na wyświetlaczu LCD rodzaju tkanin.

- Wyswietl_temperature ( ) - funkcja ta jest odpowiedzialna za wyświetlenie na wyświetlaczu LCD rodzaju tkanin.

- Pobierz_informacje ( ) - funkcja odpowiedzialna za pobranie informacji od użytkownika

2. KOMUNIKATY – klasa zawierająca dane o wszystkich komunikatach wyświetlanych na wyświetlaczu LCD pralki takich jak komunikaty o błędach.

KOMUNIKATYKomunikat : string[];Numer_komunikatu : integer;

Atrybuty :- Komunikat - tablica zawierająca treść komunikatu wyświetlaną na LCD.- Numer_komunikatu - numer komunikatu.

7

Page 9: Projekt pralka automatyczna NY152

3. PRALKA – klasa zawiera wszystkie instrukcje sterujące pralką automatyczną jest to klasa wykonawcza pobiera wszystkie potrzebne informacje z innych klas.

PRALKATimer : integer;Stan_pralki : CZUJNIK;Nazwa_programu_prania : PROGRAM;Tablica_kolejnosci : PROGRAM;Nazwa_tkaniny : TKANINA;Prędkosc_wirowania : TKANINA;Ilosc_obrotow : TKANINA;Czas_prania_wstepnego : TKANINA;Czas_prania_zasadniczego : TKANINA;Czas_wirowania : TKANINA;

Porownanie_temperatury ( ) : TEMPERATURA;Ustaw ( ) : SILNIK;Ustaw ( ) : GRZALKA;Ustaw ( ) : ZAWOR;Ustaw ( ) : POMPA;Ustaw ( ) : BEBEN;Timer ( );Plukanie ( );Pranie_wstepne ( ) ;Pranie_zasadnicze ( );Plukanie_plyn ( );Wirowanie ( );Pranie ( );

Atrybuty :- Timer - zmienna czas, przechowuje czas podczas prania który

wykorzystywany jest przez inne metody.Metody :

- Timer ( ); - funkcja mierzy czas prania.- Plukanie ( ); - funkcja odpowiadająca za płukanie.- Pranie_wstepne ( ); - funkcja odpowiadająca za pranie wstępne.- Pranie_zasadnicze ( ); - funkcja odpowiadająca za pranie zasadnicze.- Plukanie_plyn ( ); - funkcja odpowiadająca za płukanie z wykorzystaniem płynu

zmiękczającego. - Wirowanie ( ); - funkcja odpowiadająca za odwirowywanie wody z prania.- Pranie ( ); - funkcja która steruje całym procesem prania, czyli co kiedy

ma być załączone.

8

Page 10: Projekt pralka automatyczna NY152

4. TKANINA - klasa przechowująca własności prania materiału

TKANINANazwa_tkaniny : string:Temperatura_max : integer:Prędkosc_wirowania : integer;Ilosc_obrotow : integer;Czas_prania_wstepnego : integer;Czas_prania_zasadniczego : integer;Czas_wirowania : integer;

Atrybuty:- Nazwa_tkaniny - zmienne przechowująca nazwę tkaniny- Temperatura_max - maksymalna temperatura prania dla danej tkaniny- Prędkość_wirowania - maksymalna prędkość wirowania dla danej tkaniny- Ilość_obrotow - ilość obrotów bębna w lewo i w prawo dla danej

tkaniny- Czas_prania_wstepnego - czas prania wstępnego dla danej tkaniny- Czas_prania_zasadniczego - czas prania zasadniczego dla danej tkaniny- Czas_wirowania - czas wirowania dla danej tkaniny

5. TEMPERATURA - klasa przechowująca niezbędne temperatury

TEMPERATURATemperatura_aktualna : CZUJNIK;Temperatura_max_wody : const integer;Temperatura_max : TKANINA;Porownanie_temperatury ();

Atrybuty:- Temperatura_aktualna - zmienna przechowująca aktualną temperaturę wody- Temperatura_max_wody - stała przechowująca maksymalną temperaturę wody

Metody:- Porównanie_temperatury - funkcja porównująca aktualną temperaturę wody z

maksymalną temperaturą prania dla wybranej temperatury oraz z maksymalną temperaturą wody

9

Page 11: Projekt pralka automatyczna NY152

6. PROGRAM PRANIA - klasa odpowiadająca za wybór odpowiedniego programu prania

PROGRAM_PRANIATabela_czynnosci : const string[];Tabela_nazw_programow : string[];Wybor_programu_prania ();Nowy_program_prania ();

Atrybuty:- Tabela_czynności - tablica przechowująca nazwy czynności w programie

prania np.: 1 - pranie wstępne, 2 - pranie zasadnicze, 3 – płukanie, 4 – wirowanie, 0 – koniec.

- Tabela_nazw_programow - tablica przechowująca nazwy programów prania

Metody:- Wybor_programu_prania - funkcja, dzięki której użytkownik dokonuje wybory

programu prania- Nowy_program_prania - funkcja, dzięki której użytkownik tworzy nowy program prania

7. PROGRAM - klasa przechowująca program prania

PROGRAMNazwa_programu_prania : string;Tabela_kolejnosci : integer[];

Atrybuty:- Nazwa_programu_prania - zmienna przechowująca nazwę programu prania- Tabela_kolejnosci - tablica przechowująca kolejność wykonywania

czynności w danym programie prania

10

Page 12: Projekt pralka automatyczna NY152

8. CZUJNIK - klasa sprawdzająca stan wszystkich czujników

CZUJNIKStan_pralki : Boolean;Temperatura aktualna : CZUJNIK_TEMP;Stan ( ) : CZUJNIK_SILNIKA;Stan ( ) : CZUJNIK_POZ_WODY;Stan ( ) : CZUJNIK_BEBNA;Stan ( ) : CZUJNIK_WAGI;Ustaw_stan ( );

Atrybuty :- Stan_pralki - zmienna przekazująca czy praka jest w stanie

gotowości czy też któryś z czujników zgłasza nie gotowość.

Metody :- Ustaw_stan - porównuje prace czujników i w zależności od stanów

ustawia Stan_pralki na 0- wyłącz lub 1- załącz

9. SILNIK – klasa sterująca silnikiem pralki automatycznej, ustawia obrtoy i kierunek obrotów.

SILNIKKierunek : Boolean;Stan : Boolean;Predkosc : integer;Ustaw ( );

Atrybuty :- Kierunek - określa kierunek obracania się bębna.- Stan - określa czy silnik pracuje; czy tez nie.- Predkosc - określa z jaką prędkością ma obracać się bęben pralki.

Metody :- Ustaw ( ); -funkcja ustawia parametry dla silnika takie jak kierunek obrotów,

prędkośc obrotów czy też wyłącza/załącza silnik;

11

Page 13: Projekt pralka automatyczna NY152

10. ZAWOR – klasa sterująca zaworem wody w pralce automatycznej otwiera go lub zamyka.

ZAWORStan : Boolean;Ustaw ( );

Atrybuty :- Stan - określa czy zawór jest zamknięty czy też otwarty.

Metody :- Ustaw ( ); -funkcja zamyka lub otwiera zawór dopuszczający wodę w pralce;

11. GRZALKA – klasa sterująca grzałką pralce automatycznej wyłącza lub załącza .

GRZALKAStan : Boolean;Ustaw ( );

Atrybuty :- Stan - określa czy grzałka jest załączona czy też wyłączona.

Metody :- Ustaw ( ); -funkcja załącza lub wyłącza grzałkę pralce.

12. POMPA – klasa sterująca pompą odsysającą wodę w pralce automatycznej wyłącza lub załącza .

POMPAStan : Boolean;Ustaw ( );

Atrybuty :- Stan - określa czy pompa jest załączona czy też wyłączona.

Metody :- Ustaw ( ); -funkcja załącza lub wyłącza pompę odsysającą wodę z pralki.

12

Page 14: Projekt pralka automatyczna NY152

13. BEBEN – klasa sterująca otwarciem drzwiczek w pralce automatycznej wyłącza lub załącza blokadę

bębna .

BEBENStan : Boolean;Ustaw ( );

Atrybuty :- Stan - określa czy blokada bębna jest zwolniona czy też nie.

Metody :- Ustaw ( ); -funkcja załącza lub wyłącza blokadę bębna w pralce.

14. CZUJNIK_TEMP – klasa mierząca temperaturę wody aktualną

CZUJNIK_TEMPTemperatura_aktualna : integer;

Atrybuty :- Temperatura_aktualna - zmienna przechowująca aktualną temperaturę wody

15. CZUJNIK_SILNIKA – klasa sprawdza czy silnik ma obroty czy też nie.

CZUJNIK_SILNIKAStan : Boolean;

Atrybuty :- Stan - określa czy silnik pracuje czy też nie.

16. CZUJNIK_POZ_WODY – klasa sprawdza poziom wody w bębnie.

CZUJNIK_POZ_WODYStan : integer;

Atrybuty :- Stan - określa 3 stopniowy poziom wody w bębnie.

13

Page 15: Projekt pralka automatyczna NY152

17. CZUJNIK_WAGI – klasa sprawdza wagę materiałów w bębnie żeby nie przeciążyć bębna.

CZUJNIK_WAGIStan : Boolean;

Atrybuty :- Stan - określa czy materiały w bębnie nie przekroczyły dopuszczalnej

wagi.

18. CZUJNIK_BEBNA – klasa sprawdza czy bęben jest poprawnie zamknięty

CZUJNIK_BEBNAStan : Boolean;

Atrybuty :- Stan - określa czy bęben jest otwarty czy też nie..

14

Page 16: Projekt pralka automatyczna NY152

PRALKA

DIAGRAM KLAS

15

PROGRAM_PRANIA

TKANINA

TEMPERATURA

CZUJNIK

PROGRAM

SILNIK

GRZALKA

ZAWOR

POMPA

BEBEN

CZUJNIK_WAGI

CZUJNIK_TEMP

CZUJNIK_POZ_ WODY

CZUJNIK_ SILNIKA

CZUJNIK_ BĘBNA

WYSWIETLACZ

KOMUNIKAT

wyświetla informacje ►

◄ przyjmuje polecenia od użytkownika

Page 17: Projekt pralka automatyczna NY152

1. Diagram strukturalny wybór rodzaju tkaniny.

Wyswietl_tkaniny( ); - funkcja wyświetla dostępne nazwy tkanin . Wybor_tkan( ); - funkcja umożliwiająca wybór kilku rodzajów tkanin i

akceptacje wyboru.Porownanie_tkanin( ); - funkcja porównująca tkaniny i ustawienie tej naj

delikatniejszej;Przeslij_tkan(); - funkcja ustawia w obiekcie klasy TEMPERATURA

temperaturę maksymalną wody dla danej tkaniny (Temperatura_max : integer;)

Ustaw_parametr(); - funkcja ustawia odpowiednie parametry pralki dla wybranego przez program materiału.

16

WYSWIETLACZ TKANINA

Porownanie_tkanin ( );

Wyswietl_tkaniny( ):Wybor_tkan ( );

TEMPERATURA

Przeslij_tkan();

Powrot do menu

Ustaw_parametr ( );

Page 18: Projekt pralka automatyczna NY152

2. Diagram strukturalny wybór programu prania.

Wyswietl_programy( ) ; - funkcja wyświetla dostępne programy prania.Wybor_programu ( ) ; - funkcja umożliwia użytkownikowi na wybranie

programu prania. Przeslij_program( ); - funkcja przesyła odpowiednie parametry prania do

obiektu klasy PRALKA w zależności od wyboru programu prania.

17

PROGRAM_PRANIA

Wyswietl_programy ( );

Wybor_programu ( );

PRALKA

Przeslij_program ( );

Powrot do menu

WYSWIETLACZ