Postřehová hra pro 2-4 hráče, realizovaná pro Vrtuli, svět her a poznání.
Jde o stolek se 4 tlačítky a světlem uprostřed.
Cílem hry je co nejdříve získat devět bodů. Ty se získávají stiskem tlačítka ihned po rozsvícení světla uprostřed. Pokud se některý hráč unáhlí a stiskne tlačítko ještě před rozsvícením, o bod přichází.
Hru ovládá malý jednodeskový počítač Raspberry Pico (U1
) a Micropython kód z
tohoto repozitáře. Hlavní světlo a signalizace získaných bodů jsou zrealizovány s
pomocí programovatelných diod Neopixel. Protože RPico používá 3.3V logiku, je
nutné mezi LED pásek a počítač vložit převodník logických úrovní (U2
).
Tlačítka ze stolu (SW1..4
) připínají 5V přímo na piny RPico. Na napájecích
pinech počítače a u konektorů vedoucích do Neopixelů jsou dle
doporučení
připojeny odrušovací kondenzátory (C1..3
).
Do hlavního světla vedou 2 kablíky (B
a C
). Kabel C
ale přivádí pouze
napájení doprostřed pásku, to aby diody v druhé polovině v důsledku úbytku
napětí nesvítily méně než ty v první polovině.
Upozornění: na datovém vstupu Neopixelů je připájen odpor 390R, který chrání první diodu v pásku (ve schématu výše není zakreslen).
Napájení
Celou hru napájí malý spínaný 50W zdroj, připojený do svorek +/- na okraji desky.
Během vývoje jsem ale desku připojoval (a napájel) z externího docku co mám
u počítače, zkrz standardní RPico USB vstup. Pro klid duše je asi vhodné v této
konfiguraci stáhnout jas diod (konstanty LED_MAIN_BRIGHTNESS
a LED_NUMBERS_BRIGHTNESS
v souboru postreh/config.py
), ať proudy tekoucí z docku nejsou moc velké.
Hru utáhne i Powerbanka, opět připojená standardně přes RPico USB vstup (odzkoušeno).
Hra je naprogramovaná pro Micropython v1.17 (Python 3.4).
Nahrávání SW dovnitř RPico je možné provést s pomocí aplikace
Thonny. Stačí nakopírovat soubor main.py
a kompletní
podadresář postreh/
.
Logika aplikace není nijak složitá. Snažil jsem se rozdělit funkční celky do samostaných modulů. Hra se řídí stavovou mašinou dle následujícího nákresu:
Jednotlivé stavy jsou popsány soubory v postreh/states/
.
V adresáři postreh/effects/
jsou naimplementovaný vizuální efekty pro
Neopixel LEDky. Protože jejich tunění zabralo hodně času, jsou v
postreh/effects/tests/
jednoduché skripty, které po spuštěním v aplikaci
Thonny efekt oddemonstrují.
V adresáři 3d/
jsou uložené zdrojové 3D modely (Fusion 360) pro díly použité
v Postřehu a z nich vygenerované .gcode
pro patřičné materiály a tiskárnu Prusa MK3.
Kulatý díl s prosvětlenými čísly. Skládá se z několika částí.
Hlavní díl (černý Prusament PETG) do kterého jsou vloženy Neopixely:
Průsvitný díl s čísly (průsvitné noname PLA), který se vkládá do černého. Jeho součástí jsou i šikmé plošky s nalepenou zrcadlovou fólií, která odráží světlo z Neopixelů do čísel. Zároveň se stará o zafixování pozice Neopixel pásku:
Titěrné středy čísel (černý Prusament PETG), které se vlepí dovnitř děr v průhledném dílu:
Hlavní světlo je opět Neopixel pásek, ale zapojený tak, aby byl použitelný jako žárovka (jde o sadu osmi pásků po 7-mi diodách zapojených za sebou):
Volitelnou součástí je i díl, který zaoblí horní část žárovky. Neopixel pásky pak nejsou na horní hraně tak namáhány (v aktuální verzi Postřehu jsme jej ale nepoužili, diody byly už příliš blízko stínítka a nevypadalo to dobře):
Překrytí keramického dílu a nevzhledného středu na hrací desce:
Pro lepší přehlednost jsou konektory označené barevnýma samolepkama (zdrojové SVG) a pod krytem je i schématický návod jak je zapojit (zdrojové SVG).
Před jakoukoliv servisní manipulací odpoj Postřeh od elektřiny: sundej kryt na stojanu a přepni vypínač do polohy 0.
- Odpoj elektřinu
- Polož ruku na stínítko, lehce zatlač a začni otáčet proti směru hodinových ručiček. Až se stínítko uvolní, pokračuj v otáčení a zároveň jej opatrně zvedej.
- Odpoj elektřinu
- Odmontuj kryt na stojanu a odpoj modré konektory B a C
- Sundej skleněné stínítko
- Opatrně uchop žárovku a vyšroubuj ji proti směru hodinových ručiček. Po vyšroubování ji pomalu začni zvedat a dávej pozor ať se někde nezaseknou konektory.
- Odpoj elektřinu
- Sundej skleněné stínítko
- Odpoj a vytáhni žárovku
- Odpoj tlačítka (červené konektory 1, 2, 3 a 4)
- Odpoj ovládání skóre (žlutý konektor A)
- Odmontuj keramický držák skleněného stínítka (dva šrouby)
- Poznamenej si orientaci hrací desky (až budeš hru zase skládat, musí být deska položená naprosto stejně, tlačítka a diody s číslama jsou spárované)
- Odstraň XXX označené šrouby ze spodní strany a ve dvou lidech opatrně hrací desku nadzvedni. Z díry uprostřed stolu se začnou vytahovat uvolněné dráty od tlačítek. Třetí člověk musí všechny kabely vytáhnout a teprve pak můžeš desku odložit stranou.
- Nyní máš přístup ke všem tlačítkům. Uvolni čtyři šrouby u vadného tlačítka a vyšroubuj všechny do výšky mezery mezi plastovou krabicí a dřevěným mačkadlem. Chytni tlačítko za dřevo a opatrně jej nadzdvihni.
Uvnitř krabice najdeš 2 tlačítka, zelené a červené.
Zelené je NO (Normaly Open, zmáčknutím se sepne), červené je NC (Normaly Closed, zmáčknutím se rozpojí). Obvykle využíváme zelené NC, ale pokud nějaké tlačítko selže, nejprve se jej snažíme nahradit červeným a teprve pokud ani to nefunguje, tak jej vyměníme fyzicky.
Podle toho které z tlačítek je využito je třeba adekvátně upravit konstantu
BUTTON_CONFIG
v souboru postreh/config.py
.
Upozornění: v krabici musí být vždy oba spínače, mechanismus tlačítka s tím počítá. Nevyužitý spínač ale klidně může být vadný (proto je dobré je nevyhazovat).
Upozornění: červené spínače (NC) jsou citlivější než zelené (NO)