https://github.com/martinius96/mastermind-arduino
Minimálna implementácia hry Mastermind - Logik pre Arduino s využitím digitálnych vstupov, základná logika.
https://github.com/martinius96/mastermind-arduino
arduino game i2c lcd16x2 lcd20x4 logik mastermind mastermind-board-game mastermind-game
Last synced: 2 months ago
JSON representation
Minimálna implementácia hry Mastermind - Logik pre Arduino s využitím digitálnych vstupov, základná logika.
- Host: GitHub
- URL: https://github.com/martinius96/mastermind-arduino
- Owner: martinius96
- Created: 2019-05-20T21:19:52.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-05-04T14:41:03.000Z (almost 3 years ago)
- Last Synced: 2025-01-03T18:11:33.339Z (4 months ago)
- Topics: arduino, game, i2c, lcd16x2, lcd20x4, logik, mastermind, mastermind-board-game, mastermind-game
- Language: C++
- Homepage: http://arduino.clanweb.eu/mastermind-arduino.php
- Size: 181 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Popis - Mastermind logika
* WOKWI simulation: https://wokwi.com/projects/330731536467886676
| Hráč 1 (háda)| Hráč 2 (Arduino-generátor)
|
| ------------- | ------------- |
| Úlohou hráča je uhádnuť čísla druhého hráča a aj ich poradie | V úlohe mikrokontróler Arduino Uno, alebo iný, prípadne AtMega čip|
| Hráč na vstup do systému využíva 5x pushbutton, pričom 4 z tlačidiel fungujú ako inkrementátor čísla na tej danej pozícii v rozsahu 0-9 | Vygeneruje číslo 0000-9999, ktoré bude hráč hádať, **pričom sa čísla neopakujú!**|
| Piatym tlačidlom sa údaje odošlú na kontrolu. Priráta sa pokus, vyhodnotí sa kombinácia | V prípade uhádnutia farby i pozície rozsvieti príslušnú diódu na zeleno|
| Dáta sa zapisujú a sú vizualizované aj na LCD displej | V prípade neuhádnutia farby, alebo pozície rozsvieti príslušnú diódu na červeno|
| V prípade, že hráč uhádne číslo a aj jeho pozíciu, rozsvieti sa zelená dióda na tej danej pozícii | Arduino overuje aj počet krokov (ťahov), ktoré hráč použil, skúma, či je hra ukončená |
| V opačnom prípade pri neuhádnutí čísla, respektíve pri uhádnutí čísla ale neuhádnutí pozície sa zosvieti červená dióda na znak nepravdy | Hra sa končí, ak hráč 1 uhádne všetky čísla aj ich pozície (všetky 4 diódy budú zelené), vstup sa zablokuje, alebo pri neúspešnej hre s dosiahnutím 10 pokusov|
| Pre hráča sa hra končí pri presiahnutí 10 pokusov, alebo pri uhádnutí kombinácie| O stave hry je používateľ vždy informovaný na displeji|# Hardvér pre projekt
Arduino Uno R34x RGB LED WS2812 (jeden modul)
5x tlačidlo - spínacie
LCD 20x4 alebo 16x2
I2C prevodník pre LCD
# Zapojenie
|LCD displej s I2C prevodníkom| Arduino Uno|
| ------------- | ------------- |
|Vcc |5V|
|GND |GND|
|SDA |A4 (SDA)|
|SCK/SCL| A5 (SCK/SCL)|
|**Pushbutton**| **Arduino Uno**|
|IN 1 |D6|
|IN 2 |D5|
|IN 3 |D4|
|IN 4 |D3|
|Enter| D2|
|**RGB led diódy**| **Arduino Uno**|
|DIN |D13|
|GND |GND|
|5V |-|
#
**5V pin sa pripája na externý zdroj z dôvodu veľkého nárazového odberu prúdu zvlášť pri rozsvietení všetkých diód, rádovo 200mA.**#
|Znak na displeji| Vysvetlivka|
| ------------- | ------------- |
|C |uhadnuté číslo na inej pozícii|
|= |uhádnuté číslo aj s pozíciou|
|- |neuhádnuté číslo, ani pozicia|# Zapojenie komponentov:
# DEBUG OFF:
# DEBUG ON (vidieť hľadané číslo):
# Výhra hráča:
# Prehra hráča:
![]()