Digitálny potenciometer: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
|||
| Riadok 18: | Riadok 18: | ||
== Analýza a opis riešenia == | == Analýza a opis riešenia == | ||
Pre riešenie úlohy bol zvolený prístup využívajúci hardvérové prerušenia a stavový automat (FSM). | |||
Hardvér: | |||
- ATmega328P (Arduino Uno) | |||
- Rotačný enkóder KY-040: Inkrementálny enkóder generujúci dva signály (CLK a DT). | |||
- Filtrácia: Na potlačenie mechanických zákmitov boli použité externé keramické kondenzátory s kapacitou 47 nF pripojené medzi signálne piny(CLK, DT) a zem. | |||
[[Súbor:GeminiAI-image3.jpg|400px|thumb|center|Celkový pohľad na zariadenie.]] | [[Súbor:GeminiAI-image3.jpg|400px|thumb|center|Celkový pohľad na zariadenie.]] | ||
| Riadok 25: | Riadok 28: | ||
Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis. | Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis. | ||
[[Súbor:Photo 2026-05-15 18-01-32.jpg]] | |||
[[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]] | [[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]] | ||
| Riadok 73: | Riadok 77: | ||
'''Video:''' | '''Video:''' | ||
<center><youtube>D0UnqGm_miA</youtube></center> | <center><youtube>D0UnqGm_miA</youtube></center> | ||
== Čo by som urobil inak == | == Čo by som urobil inak == | ||
Verzia z 16:02, 15. máj 2026
Záverečný projekt predmetu MIPS / LS2026 - Yaroslav Buryk
Zadanie
Cieľom bolo navrhnúť a realizovať program pre mikrokontrolér (ATmega328P), ktorý slúži ako digitálny potenciometer.Program musí presne načítavať impulzy bez straty krokov aj pri rýchlej zmene smeru otáčania a realizovať ošetrenie voči mechanickým zákmitom kontaktov (debouncing).

https://docs.arduino.cc/static/cb2219c4f549dd9a7fe040362b668567/a6d36/Pinout-UNOrev3_latest.png
Literatúra:
Analýza a opis riešenia
Pre riešenie úlohy bol zvolený prístup využívajúci hardvérové prerušenia a stavový automat (FSM). Hardvér: - ATmega328P (Arduino Uno) - Rotačný enkóder KY-040: Inkrementálny enkóder generujúci dva signály (CLK a DT). - Filtrácia: Na potlačenie mechanických zákmitov boli použité externé keramické kondenzátory s kapacitou 47 nF pripojené medzi signálne piny(CLK, DT) a zem.

Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis.

Algoritmus a program
Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...
#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:
Čo by som urobil inak
Zamyslite sa spätne nad problémom, ktorý ste riešili a napíšte, čo sa vám nepodarilo a nabudúce by ste spravili inak.
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.
