|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Cílem této diplomové práce je návrh lokálního protipovodňového výstražného systému. Systém se skládá ze dvou základních typů jednotek. První jednotka je umístěna v terénu a pomocí čidel vyhodnocuje přítomnost vody v jinak suchém místě. V případě zatopení posílá varovnou zprávu pomocí bezdrátové technologie. Druhá jednotka varovné zprávy vyhodnocuje a informuje pověřenou osobu o vzniklé situaci pomocí sms zprávy. Venkovní zařízení je plně autonomní a trvale umístěné ve venkovním prostředí. Systémje navržen na bázi 8-bitových mikrokontrolérů. Mezi hlavní parametry zařízení patří nízká spotřeba, mechanická odolnost a spolehlivost.
Zprávu přečte a
vyhodnotí jaké došlo změně stavu hladiny daného čidla.2. Další tlačítka slouží k
odeslání testovácí sms potvrzení příjmu výstražné sms. Vývojový diagram obrázku 7.
Jednotka rozpoznává zprávy varovných jednotek. Když všechny varovné
jednotky hlásí stav hladiny, odešle centrální jednotka výstražnou zprávu starostovi
obce.2 Řídící software centrální jednotky
Centrální jednotka trvale zapnutá čeká příchod výstražných zpráv varovných
jednotek. Přijaté znaky ukládá pole znaků, které
53
.1.
7.1 Test přijetí výstražné sms
Řídící program centrální jednotky vyhodnocuje příjem výstražné sms obsluze
přerušení přijímače USART. Pro posílání příkazů GSM modulu tomto
přerušení také sledováno přijetí znaku 0x0A.1. nastavují vypnutí/zapnutí
sirény, vypnutí/zapnutí rele, vypnutí/zapnutí podsvícení LCD. Jednotka spustí příslušnou světelnou zvukovou signalizaci. Signalizace ukončena
stiskem tlačítka.int cn_i=read_num(); vyčtení čísla čidla
char cn_ch[10]; definovaní pole znaků
itoa(cn_i, cn_ch, 10); převod čísla čidla znak
printf(cn_ch) zapsání čísla čidla
printf("-V"); vložení stavu hladiny
char stav[10]; definovaní pole znaků
itoa(sms, stav, 10); převod hodnoty stavu hladiny
printf(stav); vložení označení stavu
int napeti adc_read(); vyčtení napětí baterie
char batt[10]; definovaní pole znaků
itoa(napeti, batt, 10); převod napětí znaky
printf("-"); vložení -
printf(batt); vložení napětí
while(!(UCSR0A (1<<UDRE))); čekání vyprázdnění
_delay_ms(500); zpoždění 500ms
putchar(0x1A); potvrzovací znak CTRL+Z
uk=0; vynulování poctu znaku 0x0A
while(uk!=1); čekání příjem znaku 0x0A
uk=0; vynulování poctu znaku 0x0A
GSM_power(); vypnuti GSM modulu
USART0_poweroff(); zakázání uart linky
adc_poweroff(); zakázání převodníku
return;
}
7.12.
Centrální jednotka vybavena ovládacími tlačítky