Závěrečný projekt

Zadání č.1 - Minutka

Vytvořte elektronický odpočet, který bude odpočítávat požadovaný čas. Po uplynutí doby vydá akustický signál. Aktuální čas bude zobrazován na LCD ve tvaru hh:mm:ss a odesílán po sériové lince.

Vlastnosti :
•    Pomocí tlačítek na maticové klávesnici nastavte hodiny, minuty a vteřiny.
•    Nastavování času je možné jen pokud není odpočet aktivní.
•    Každých 10s odešle procesor aktuální čas ve formátu hh:mm:ss na seriovou linku.
•    Časování bude řešeno pomocí timeru.
•    Při pokusu nastavit čas pomocí klávesnice při aktivním odpočtu zazní varovný akustický signál. V případě pokusu o nastaveni času během odpočtu přes sériovou linku se odešle zpráva "Nelze memit cas pri spustenem odpoctu".

Ovládaní tlačítky:

1 – nastavení hodin (plus jedna)
4 - nastavení hodin (mínus jedna)
2 – nastavení minut (plus jedna)
5 – nastavení minut (mínus jedna)
3 - nastavení vteřin (plus jedna)
6 - nastavení vteřin (mínus jedna)
0 – spuštění/pauza odpočtu

 
Ovládaní pomocí sériové linky (ASCII znaky) při obdržení :

1 – nastavení hodin (plus jedna)
4 - nastavení hodin (mínus jedna)
2 – nastavení minut (plus jedna)
5 – nastavení minut (mínus jedna)
3 - nastavení vteřin (plus jedna)
6 - nastavení vteřin (mínus jedna)
0 – spuštění/pauza odpočtu


Nápověda:


Nastavení timeru 1 :

Takt 57 600Hz, přerušení CTC (clear to compare - vynulovani pri rovnosti) ICR1.

ISR(TIMER1_CAPT_vect)    
{
}

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 57,600 kHz
// Mode: CTC top=ICR1
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: On
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x1C;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x20;
ETIMSK=0x00;

Zadání č.2 – Couvací senzor

Vytvořte analogový zobrazovač vzdálenosti s akustickým signálem.

Vlastnosti :
•    Měření vzdálenosti realizujte pomocí snímače SRF02
•    Připojený servomotor bude dle své polohy ukazovat vzdálenost 10-80cm
•    Akustický signál bude měnit frekvenci pípání dle naměřené vzdálenosti (80cm = čas mezi pípáním 2s , 10 cm čas mezi pípáním 50ms). Základní pípnutí je 0,5s trvající tón o frekvenci cca 1kHz.

Zadání č.3 – Reklamní posuvný text

Vytvořte modul posuvného textu o maximální velikosti 160 znaků na 16znakovém LCD . Zadávání textu je řešeno bezdrátově.

Vlastnosti
•    Zadávání textu bude řešeno bezdrátově pomocí modulu Xbee
•    Jednotlivé přicházející znaky řaďte za sebou.
•    V případe, že text obsahuje méně než 16 znaků je zobrazen text staticky a zarovnán vlevo.
•    V případě, že text obsahuje více než 16 znaků je zobrazován jako posuvný text.
•    V případě že text obsahuje více než 160 znaků odešlete obsluze zprávu o dosažení maximálního počtu znaků.
•    V případě zaslání znaku 0xFF dojde k vymazaní celého textu