An open API service indexing awesome lists of open source software.

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.

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 R3

4x 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: