Tester Arduina: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 62: | Riadok 62: | ||
=== Algoritmus a program === | === Algoritmus a program === | ||
<strong>Popis algoritmu</strong> | |||
1. Štart: trojnásobné bliknutie LED na PB5. | |||
2. Inicializácia UART na 9600 bps. | |||
3. V nekonečnej slučke: | |||
• Čakanie na príkaz (jednoznakový prefix I, L, H, T, ?). | |||
• Ak je prefix I | |||
<strong>a)</strong> Ďalší znak *: prečítaj všetky piny 0–13. | |||
<strong>b)</strong> Ďalšie číslice: vyber konkrétny pin, nastav ho ako vstup, načítaj logický stav. | |||
• Ak je prefix L alebo H | |||
<strong>c)</strong> Načíta číslo pinu, nastav ho ako výstup a zapíše 0/1. | |||
• Ak je prefix T | |||
<strong>d)</strong>Načíta číslo pinu, nastav ho ako výstup a zabliká trikrát. | |||
• Ak je prefix ? | |||
<strong>e)</strong>Vypíše nápovedu. | |||
4. V prípade neznámeho príkazu vypíše varovanie. | |||
Verzia z 21:19, 21. apríl 2025
Záverečný projekt predmetu MIPS / LS2025 - Meno Priezvisko
Ovládanie cez terminál, rozpoznať by mal nasledovné príkazy:
- In - stav na pine n,
- I* stav na vsetkych,
- Ln - Low na pin n,
- Hn - high na pin n
- ? - help
Napriklad L3 nastavi vystup D3 na Low, I7 precita stav na vstupe D7 a ? vypise zoznam prikazov.
Zadanie
Cieľom je vytvoriť program v prostredí Atmel Studio / AVR Studio pri komunikácií s ATmega328P. Program by mal obsahovať nasledujúce body:
1. Inicializácia knižníc UART na komunikáciu medzi Arduino-m a počítačom cez terminál (terminál v prostredí AtmelStudio)
2. Rozpoznávanie a spracovávanie príkazov v termináli:
• In – načíta stav na pine n (napr. I5) • I* – načíta stav na všetkých pinoch • Ln – nastaví pin n na LOW (napr. L3) • Hn – nastaví pin n na HIGH (napr. H10) • Tn – trojnásobne zabliká LED na pine n (napr. T13) • ? – zobrazí nápovedu
3. Na základe zadaných príkazov zmení stav pinov (INPUT/OUTPUT) a zároveň ich číta / zapisuje ich stavy.
4. Pri štarte Arduina UNO nám na pine PB5 LED-ka trikrát zabliká.

Literatúra:
Analýza a opis riešenia
2.1 Použité komponenty
• Vývojová doska Arduino UNO (ATmega328P-PU, 16 MHz).
• UART prevodník integrovaný cez USB.
Datasheet ATmega328P: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
2.2 Hardvérové zapojenie
Arduino UNO už má všetky porty pripojené na pull-up rezistory a následne vyvedené na konektory:
• D0–D7 → port D
• D8–D13 → port B

Algoritmus a program
Popis algoritmu
1. Štart: trojnásobné bliknutie LED na PB5. 2. Inicializácia UART na 9600 bps. 3. V nekonečnej slučke: • Čakanie na príkaz (jednoznakový prefix I, L, H, T, ?). • Ak je prefix I
a) Ďalší znak *: prečítaj všetky piny 0–13. b) Ďalšie číslice: vyber konkrétny pin, nastav ho ako vstup, načítaj logický stav.
• Ak je prefix L alebo H
c) Načíta číslo pinu, nastav ho ako výstup a zapíše 0/1.
• Ak je prefix T
d)Načíta číslo pinu, nastav ho ako výstup a zabliká trikrát.
• Ak je prefix ?
e)Vypíše nápovedu.
4. V prípade neznámeho príkazu vypíše varovanie.
#include <avr/io.h>
int main(void)
{
unsigned int measuredValue;
while (1)
{
/* relax */
}
return(0);
}
#include <avr/io.h>
void adc_init(void); // A/D converter initialization
unsigned int adc_read(char a_pin);
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:
Zdrojový kód: zdrojaky.zip
Overenie
Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Video:
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.