Hracia kocka s LED: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
|||
Riadok 1: | Riadok 1: | ||
Záverečný projekt predmetu MIPS / LS2025 - ''' | Záverečný projekt predmetu MIPS / LS2025 - '''Ilona Baihildina''' | ||
Riadok 5: | Riadok 5: | ||
V tomto projekte používam mikrokontrolér ATmega328P, ku ktorému je pripojených 7 LED diód a jedno tlačidlo. LED diódy sú pripojené k portom B a D. Po stlačení tlačidla sa vygeneruje náhodné číslo od 1 do 6 a podľa toho sa rozsvietia presne definované kombinácie LED diód. | V tomto projekte používam mikrokontrolér ATmega328P, ku ktorému je pripojených 7 LED diód a jedno tlačidlo. LED diódy sú pripojené k portom B a D. Po stlačení tlačidla sa vygeneruje náhodné číslo od 1 do 6 a podľa toho sa rozsvietia presne definované kombinácie LED diód. | ||
Po zapnutí zariadenia a stlačení tlačidla sa zobrazí nové náhodné číslo prostredníctvom svietenia konkrétnych LED diód. Každé číslo má vlastnú unikátnu kombináciu svietiacich diód. Projekt demonštruje prácu s náhodnými číslami, digitálnymi výstupmi a čítaním stavu tlačidla v jazyku C v prostredí AVR Studio. | |||
[[Obrázok:ard.jpg|400px|thumb|center|Vývojová doska ACROB.]] | [[Obrázok:ard.jpg|400px|thumb|center|Vývojová doska ACROB.]] | ||
Riadok 16: | Riadok 17: | ||
== Analýza a opis riešenia == | == Analýza a opis riešenia == | ||
• LED diódy sú nakonfigurované ako výstupné piny pomocou DDRx registrov. | |||
• Tlačidlo je pripojené na vstupný pin PD0, so zapnutým vnútorným pull-up rezistorom. | |||
• Kód využíva funkciu srand() na inicializáciu generovania náhodných hodnôt a rand() na výber čísla. | |||
• Každé číslo je ošetrené cez switch-case, kde sa podľa hodnoty nastavujú výstupné stavy na jednotlivé piny. | |||
• Pridaný je aj jednoduchý anti-drebezgový delay (200 ms) po každom stlačení tlačidla. | |||
Použité komponenty | |||
• 1× mikrokontrolér ATmega328P | |||
• 7× LED dióda (ľubovoľnej farby) | |||
• 7× rezistor 220–330 Ω (zapojené v sérii s LED diódami) | |||
• 1× tlačidlo (spínač, push-button) | |||
• 1× doska s prepojeniami (breadboard) – nepájivé pole | |||
• Prepojovacie vodiče (jumper wires) – muž–muž | |||
• Zdroj napájania (napr. cez USB alebo externý 5V adaptér) | |||
• (voliteľne) Kondenzátor a externý oscilátor 16 MHz – ak nepoužívaš Arduino Uno a máš čistý čip | |||
[[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.]] | ||
Každá LED dióda je zapojená cez rezistor do výstupného pinu mikrokontroléra a druhou stranou do GND. Tlačidlo je zapojené medzi pin PD0 a GND, pričom v kóde je aktivovaný interný pull-up rezistor. | |||
[[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]] | [[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]] |
Verzia z 23:22, 23. jún 2025
Záverečný projekt predmetu MIPS / LS2025 - Ilona Baihildina
Zadanie
V tomto projekte používam mikrokontrolér ATmega328P, ku ktorému je pripojených 7 LED diód a jedno tlačidlo. LED diódy sú pripojené k portom B a D. Po stlačení tlačidla sa vygeneruje náhodné číslo od 1 do 6 a podľa toho sa rozsvietia presne definované kombinácie LED diód. Po zapnutí zariadenia a stlačení tlačidla sa zobrazí nové náhodné číslo prostredníctvom svietenia konkrétnych LED diód. Každé číslo má vlastnú unikátnu kombináciu svietiacich diód. Projekt demonštruje prácu s náhodnými číslami, digitálnymi výstupmi a čítaním stavu tlačidla v jazyku C v prostredí AVR Studio.

Literatúra:
Analýza a opis riešenia
• LED diódy sú nakonfigurované ako výstupné piny pomocou DDRx registrov. • Tlačidlo je pripojené na vstupný pin PD0, so zapnutým vnútorným pull-up rezistorom. • Kód využíva funkciu srand() na inicializáciu generovania náhodných hodnôt a rand() na výber čísla. • Každé číslo je ošetrené cez switch-case, kde sa podľa hodnoty nastavujú výstupné stavy na jednotlivé piny. • Pridaný je aj jednoduchý anti-drebezgový delay (200 ms) po každom stlačení tlačidla.
Použité komponenty
• 1× mikrokontrolér ATmega328P • 7× LED dióda (ľubovoľnej farby) • 7× rezistor 220–330 Ω (zapojené v sérii s LED diódami) • 1× tlačidlo (spínač, push-button) • 1× doska s prepojeniami (breadboard) – nepájivé pole • Prepojovacie vodiče (jumper wires) – muž–muž • Zdroj napájania (napr. cez USB alebo externý 5V adaptér) • (voliteľne) Kondenzátor a externý oscilátor 16 MHz – ak nepoužívaš Arduino Uno a máš čistý čip

Každá LED dióda je zapojená cez rezistor do výstupného pinu mikrokontroléra a druhou stranou do GND. Tlačidlo je zapojené medzi pin PD0 a GND, pričom v kóde je aktivovaný interný pull-up rezistor.

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:
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.