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