619 lines
28 KiB
TeX
Executable File
619 lines
28 KiB
TeX
Executable File
% verze 1.0 3.2.2023
|
||
|
||
\documentclass[12pt, a4paper, oneside]{article}
|
||
% velikost písma, stránky, typ dokumentu - detaily viz literatura
|
||
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage[czech]{babel}
|
||
\usepackage{wrapfig} % nastavení obtékání textu
|
||
\usepackage{graphicx,amsmath} % nastavení grafiky, matematiky
|
||
%\usepackage{subfig} % více obrázků vedle sebe
|
||
|
||
\usepackage{color} % balíček pro obarvování textů
|
||
% \color{blue} % přepne barvu textu na modrou
|
||
\usepackage{xcolor} % zapne možnost používání barev, mj. pro \definecolor
|
||
\definecolor{mygreen}{RGB}{0,150,0} % nastavení barev odkazů
|
||
\definecolor{myblue}{RGB}{0,0,200}
|
||
\definecolor{commentgreen}{RGB}{0,100,0} % nastavení barev pro příklady z C++
|
||
\definecolor{deepblue}{rgb}{0,0,0.7}
|
||
\definecolor{deepred}{rgb}{0.6,0,0}
|
||
\definecolor{deepgreen}{rgb}{0,0.5,0}
|
||
|
||
\usepackage{hyperref} % balíček pro hypertextové odkazy
|
||
% \url{www.odkaz.cz}
|
||
% \href{http://www.odkaz.cz}{Text který bude jako odkaz}
|
||
%\hyperlink{label}{proklikávací_text} - odkaz na text
|
||
% \hypertarget{label}{cíl_odkazu} - cíl odkazu
|
||
|
||
\hypersetup{colorlinks=true, linkcolor=myblue, urlcolor=mygreen, citecolor=blue, anchorcolor = magenta,
|
||
linktocpage = true, frenchlinks } % nastavení barvy odkazů
|
||
% bookmarksopen=true, bookmarksnumbered=true, bookmarksopenlevel=1 - nastavuje rozbalování levého menu
|
||
|
||
|
||
%\addtolength{\textwidth}{-2mm}
|
||
%\addtolength{\hoffset}{4mm} % posun textu kvůli kroužkové vazbě
|
||
|
||
\setlength{\intextsep}{5mm} % nastavení mezery okolo obrázků
|
||
|
||
% nastavení příkazu >\figcaption pro popis čehokoli, jako by to byly obrázky
|
||
\makeatletter
|
||
\newcommand\figcaption{\def\@captype{figure}\caption}
|
||
\makeatother
|
||
|
||
%\def\refname{Literatura a další zdroje}
|
||
% přejmenuje anglický název Reference na české Literatura ...
|
||
|
||
%% VLNA <fileinput> KkSsVvZzOoUuAaIi
|
||
% Defaultni koncovka pro <fileinput> je ".tex"
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
% V PROSTŘEDÍ ROVNIC SE NESMÍ VYSKYTOVAT PRÁZDNÝ ŘÁDEK
|
||
%
|
||
% PROGRAM VLNA SE MUSÍ SPUSTIT SAMOSTATNĚ
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
||
% definice příkazů
|
||
%\newcommand{\D}{\medskip \noindent} % nový odstavec v "americkém" formátování
|
||
|
||
\usepackage{indentfirst} %odsadí první řádek prvního odstavce v každé kapitole - české formátování
|
||
|
||
\newcommand{\A}{\mathbf} %tučné písmo v matematickém režimu
|
||
\newcommand{\TO}{\ensuremath{\boldsymbol\Omega}} % tučný znak velké omega - pro ohmy
|
||
|
||
\newcommand{\F}{\footnotesize} % zmenšená velikost písma
|
||
\newcommand{\N}{\normalsize} % normální velikost písma
|
||
\newcommand{\U}{\underline} % podtržené písmo
|
||
\newcommand{\e}{\ensuremath}
|
||
% další příkaz se aplikuje, pouze, když jste v matematickém režimu
|
||
|
||
\linespread{1.3}
|
||
% řádkování 1,5x
|
||
|
||
\unitlength=1mm % nastavení volby jednotek
|
||
|
||
% konec hlavičky
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\begin{document} % začátek textové části
|
||
|
||
% titulní strana
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\pagestyle{empty} % vynechá číslování
|
||
~
|
||
|
||
\voffset = -23mm % posun začátku textu výš
|
||
\enlargethispage{60mm} % zvětší oblast tisku pro tuto stránku
|
||
|
||
%\the\leftskip %vypíše hodnotu proměnné \leftskip
|
||
%\rightskip
|
||
|
||
\vspace{-15mm}
|
||
\begin{figure}
|
||
\leftskip=-63mm plus 1.0fil % posun levého okraje odstavce
|
||
\begin{minipage}{.35\textwidth}
|
||
% \centering
|
||
\includegraphics[width=0.95\linewidth]{img/logo_ zelene.jpg}
|
||
\end{minipage}
|
||
\begin{minipage}{.5\textwidth}
|
||
\rightskip =-200pt plus 1.0fil
|
||
\textbf{Střední průmyslová škola a Vyšší~odborná škola~Brno,~Sokolská,}
|
||
|
||
%\leftskip=0mm plus 1.0fil
|
||
\vspace{-2mm}
|
||
\textbf{příspěvková organizace}
|
||
\end{minipage}
|
||
\end{figure}
|
||
|
||
|
||
|
||
\vspace{68mm}
|
||
\begin{center}
|
||
\Huge
|
||
\textbf{MATURITNÍ PRÁCE} \\
|
||
|
||
|
||
|
||
\vspace{7mm}
|
||
|
||
\huge %\LARGE
|
||
\textbf{Emulátor konzole GameBoy}
|
||
\end{center}
|
||
|
||
\vspace{78mm}
|
||
|
||
|
||
\large
|
||
\newcommand{\radkovani}{1mm}
|
||
%\leftskip = 3mm
|
||
\begin{tabbing}
|
||
\hspace{-16mm} \= \hspace{45mm} \= \kill % nastavení zarážek
|
||
\>Studijní obor: \> Technické lyceum 78 -- 42 -- M/01\\[\radkovani ]
|
||
\>Třída: \> L4A \\[\radkovani]
|
||
\>Školní rok: \> 2025/2026 \\[\radkovani]
|
||
\>Jméno: \> \textbf{Adam} \\[\radkovani]
|
||
\>Příjmení: \> \textbf{Břicháček} \\
|
||
\end{tabbing}
|
||
\leftskip = 0mm
|
||
\normalsize
|
||
|
||
%\addtolength{\textheight}{30mm} % zvětší oblast textu na stránce
|
||
% musí být o stránku dřív, než má začít fungovat
|
||
|
||
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\newpage % Prohlášení o autorství
|
||
\voffset = 0mm % posun začátku textu zpět
|
||
\enlargethispage{60mm} % zvětší oblast tisku pro tuto stránku
|
||
|
||
~ % musí to tu být, aby fungovala svislá mezera
|
||
|
||
\vspace{185mm}
|
||
|
||
\leftskip=-14.5mm
|
||
\rightskip=-17mm
|
||
\noindent
|
||
\textbf{Prohlašuji, že jsem tuto práci vypracoval samostatně a použil jsem literárních pramenů a informací, které cituji a uvádím v seznamu použité literatury a zdrojů informací.}
|
||
|
||
\vspace{7mm}
|
||
|
||
\noindent V Brně dne: ............... \hspace{85mm} .............................\\
|
||
\hspace*{128mm} Adam Břicháček
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\newpage % Poděkování - nepovinné
|
||
|
||
\section{Úvod}
|
||
%\begin{itemize}
|
||
%\item proč jsem si zvolil dané téma
|
||
%\item výchozí situace a předpoklady
|
||
%\item cíle práce, čeho chci dosáhnout
|
||
%\item jak asi toho chci dosáhnout (zhruba, stručně)
|
||
%\end{itemize}
|
||
Pico GameBoy (zkráceně Pico-GB) Emulátor jsem si vybral jako maturitní práci, protože mě přišla zajímavá emulace starých herních konzolí a celková emulace konzolí a dalších věcí, také mě přišlo zajímavé si vytvořit vlastní konzoli k tomu jako takový menší bonus.
|
||
|
||
K tomu abych docílil pravého pocitu hraní na originálním GameBoyi, které se dneska nedají jednoduše sehnat, jsem se snažil držet originálnímu designu, s tím že jsem ho chtěl vylepšit o svojí vlastní baterií, místo 4 AA baterek nahradit baterií a nabíjením přes USB-C. Předpokládám, že Baterie by mohla mít lepší životnost než v originálu, neboť to není pořád zapnuté a komponenty co jsem vybral by neměli tolik čerpat energii z Baterie a pokud baterie bude dostatečně veliká tak nebude potřeba nabíjet tak často. Další předpoklad je se zbavit originálních kazet, na které se vlezla max 1 - 2 hry (pokud to byla nějaká malá hra se speciálními edicemi tak klidně i 3, ale to jen velice vzácně) a nahradit ji SD kartou kam se vejde celá knihovna VŠECH her vydaných pro originálního GameBoye.
|
||
|
||
Tohle celé bych chtěl dosáhnout pomocí mikrokontroléru Raspberry Pi Pico, LCD displejem ILI9225, SD kartou a pár tlačítek, to by nám stačilo na původní rozjezd a pak jen přidat zbytek komponentů.
|
||
|
||
\section{Text}
|
||
\subsection{Program v Pi Pico} % https://github.com/deltabeard/RP2040-GB
|
||
\subsubsection{Originální program}
|
||
Program, který je nahrán na mikrokontrolér Raspberry Pi Pico, je fork (neboli modifikace) RP2040-GB od deltabeard. Tento program je založen na originálním kódu, který konvertuje soubory .gb (Game Boy) do čitelného jazyka C. Tento proces umožňuje spustit Game Boy hry na Raspberry Pi Pico po přidání pár řádků kódů.
|
||
Díky této knihovně je možné psát na Game Boy dokonce i naše vlastní hry. Při vývoji vlastních her je však nutné vzít v potaz výkon samotného mikrokontroléru Raspberry Pi Pico. Je důležité, abychom neudělali hru příliš náročnou, aby mohla být spuštěna hladce na tomto zařízení.
|
||
RP2040-GB je open-source projekt, který umožňuje vývojářům vytvářet vlastní hry a aplikace pro Game Boy. Tento projekt je velmi aktivní a má velké množství přispěvatelů, kteří neustále vylepšují a rozšiřují jeho možnosti.
|
||
Díky použití tohoto programu můžeme na Raspberry Pi Pico spustit širokou škálu her, od klasických Game Boy titulů až po vlastní tvorby. Je to skvělá možnost pro vývojáře, kteří chtějí vytvářet vlastní hry a aplikace pro Game Boy, a pro hráče, kteří chtějí hrát své oblíbené hry na novém zařízení.
|
||
Vývoj vlastních her pro Game Boy na Raspberry Pi Pico vyžaduje určité znalosti programování v jazyce C, knihovně Raylib a znalosti o fungování mikrokontrolérů. Nicméně, díky dostupnosti zdrojového kódu a dokumentace, je možné se do tohoto světa snadno zapojit a začít vytvářet své vlastní hry a aplikace.
|
||
|
||
% https://github.com/YouMakeTech/Pico-GB
|
||
\subsubsection{Modifikovaný program}
|
||
Pico-GB od YouMakeTech, přidává několik významných vylepšení oproti původnímu kódu. Tato vylepšení zahrnují:
|
||
|
||
\begin{itemize}
|
||
\item Podpora klasických tlačítek: Program podporuje klasické tlačítka Game Boy, což umožňuje hráčům ovládat hry pomocí známých tlačítek A, B, Start, Select, Up, Down, Left a Right.
|
||
\item Přetaktování mikrokontroléru na 266MHz: Program umožňuje přetaktování mikrokontroléru Raspberry Pi Pico na 266MHz, což zvyšuje výkon zařízení a umožňuje hladší běh her s vyšším počtem snímků za sekundu (\textasciitilde 60 FPS). To zajišťuje, že hry běží plynuleji a bez zpoždění.
|
||
\item I2S zvuková podpora: Program přidává podporu pro I2S zvuk, který umožňuje přehrávání 44.1kHz 16-bitového stereo audia. To znamená, že hry budou mít kvalitní zvuk, který odpovídá původnímu Game Boy zvuku.
|
||
\item Podpora SD karet: Program umožňuje použití SD karet jako úložiště pro hry a jejich uložená data. SD karty musí být naformátované na FAT 32 a mít název uložiště PICO-GB. To umožňuje hráčům snadno ukládat a načítat své hry a uložená data.
|
||
\end{itemize}
|
||
|
||
Díky těmto vylepšením nabízí Pico-GB od YouMakeTech mnohem lepší herní zážitek než původní kód. Hry běží plynuleji, mají kvalitní zvuk a lze je snadno ukládat a načítat pomocí SD karet. To vše činí Pico-GB velmi atraktivní volbou pro hráče, kteří chtějí hrát své oblíbené Game Boy hry na novém zařízení.
|
||
|
||
\subsection{Součástky}
|
||
Samotná Pico-GB se skládá z následujících součástek:
|
||
\begin{itemize}
|
||
\item Mikrokontrolér Raspberry Pi Pico, který je srdcem celého zařízení a poskytuje potřebný výkon pro emulaci her.
|
||
\item 2,2 palcový ILI9225 LCD displej s rozlišením 176x220 pixelů, který poskytuje kvalitní obraz pro hraní her. Displej může být vybaven slotem pro microSD kartu, což umožňuje snadné načítání her a dalších souborů.
|
||
\item Pokud displej není vybaven slotem pro microSD kartu, je nutné použít externí čtečku, která musí být připájena nebo připojena k zařízení.
|
||
\item MAX98357 I2S mono zesilovač, který zajišťuje kvalitní zvukový výstup pro hraní her.
|
||
\item 2W 8Ω reproduktor, který poskytuje hlasitý a kvalitní zvuk pro hraní her.
|
||
\item 8 mikro 5x5x5mm tlačítek, která slouží jako ovládací prvky pro hraní her. Tlačítka jsou rozmístěna podobně originálnímu designu původního GameBoye, aby bylo možné snadno ovládat hry i z paměti.
|
||
\item Pájecí pole, které umožňuje pájení a propojení všech součástek.
|
||
\item Drátky, které slouží jako propojovací vodiče pro součástky.
|
||
\item LiPol baterie 3000mAh 3.7V, která poskytuje dostatečnou kapacitu pro dlouhodobé hraní her.
|
||
\item Nabíječka Li-ion článku TP4056 s ochranou USB-C, která umožňuje snadné nabíjení baterie bez poníčení.
|
||
\item Plast na 3D tisk pro krabičku, který slouží jako ochranné pouzdro pro zařízení.
|
||
\end{itemize}
|
||
|
||
\subsection{Konstrukce}
|
||
|
||
\subsubsection{Nahrávání programu}
|
||
Nejjednodušší a zároveň nejbezpečnější je nahrát program na Raspberry Pi Pico ještě před samotnou konstrukcí, aby bylo možné otestovat, že všechny funkce komponentů fungují správně. Tím se vyhneme případným problémům při pájení nebo špatném zapojení.
|
||
|
||
\begin{itemize}
|
||
\item Stáhněte nebo zkompilujte nejnovější verzi \textit{Pico-GB} z oficiálního repozitáře na GitHubu pro získání \texttt{.UF2} souboru.
|
||
\item Zmáčkněte a držte tlačítko \textbf{BOOTSEL} na Raspberry Pi Pico a připojte zařízení k počítači pomocí micro USB-B kabelu.
|
||
\item Jakmile se Pico objeví jako nový disk \textbf{RPI-RP2} v systému, pusťte tlačítko \textbf{BOOTSEL}.
|
||
\item Přetáhněte soubor s příponou \texttt{.UF2} do nově vzniklého disku. Tento soubor obsahuje kompletní program pro Pico.
|
||
\item Raspberry Pi Pico se automaticky restartuje a spustí nahraný program.
|
||
\end{itemize}
|
||
|
||
Doporučení:
|
||
\begin{itemize}
|
||
\item Pokud program nespustí správně, zkontrolujte nejdřív správnost souboru \texttt{.UF2} a případně ho znovu zkompilujte.
|
||
\item Při prvním nahrávání je vhodné mít připojený Pico jen k PC, bez dalších komponentů, aby se minimalizovalo riziko poškození.
|
||
\end{itemize}
|
||
|
||
\subsubsection{Pájení konektorů na Pico}
|
||
Pro připojení externích modulů k Raspberry Pi Pico je nutné připájet dva 20-pinové 2,54~mm pravoúhlé \textit{male headery}. Alternativně lze použít přímé propojení drátů, pokud se jedná o experimentální zapojení.
|
||
|
||
\begin{figure}[h] % 'h' = here
|
||
\centering
|
||
\includegraphics[width=0.6\textwidth]{img/Pi_feet.png}
|
||
\caption{Připájené nožky na Raspberry Pi Pico}
|
||
\label{fig:PiFeet}
|
||
\end{figure}
|
||
|
||
Tipy pro pájení:
|
||
\begin{itemize}
|
||
\item Ujistěte se, že pájka je dobře roztavená a nevytváří zkraty mezi sousedními piny.
|
||
\item Pokud pájíte poprvé, vyzkoušejte si pájení na staré nepoužívané desce.
|
||
\item Po dokončení pájení doporučujeme vizuálně zkontrolovat všechny spoje a případně změřit kontinuitu multimetrem.
|
||
\end{itemize}
|
||
|
||
\subsubsection{Připojejí displeje k Raspberry Pi Pico}
|
||
K připojení ILI9225 displeje použijeme kabely s délkou cca 20 cm s \textit{female} konektory. Připojení se provádí podle následujícího schématu:
|
||
|
||
\begin{itemize}
|
||
\item LCD VCC = +3,3V (OUT) \texttt{<- Červená}
|
||
\item LCD GND = GND \texttt{<- Černá}
|
||
\item LCD CS = GP17 \texttt{<- Bílá}
|
||
\item LCD CLK = GP18 \texttt{<- Zelená}
|
||
\item LCD SDI = GP19 \texttt{<- Modrá}
|
||
\item LCD RS = GP20 \texttt{<- Fialová}
|
||
\item LCD RST = GP21 \texttt{<- Šedá}
|
||
\item LCD LED (pokud je) = GP22 \texttt{<- Žlutá}
|
||
\end{itemize}
|
||
|
||
\begin{figure}[h] % 'h' = here
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{img/PiDisCir.png}
|
||
\caption{Zapojení Displeje}
|
||
\label{fig:PiDisCir}
|
||
\end{figure}
|
||
|
||
\begin{figure}[h] % 'h' = here
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{img/PiDisCirIrl.png}
|
||
\caption{Příklad reálné zapojení dipleje}
|
||
\label{fig:PiDisCirIrl}
|
||
\end{figure}
|
||
|
||
\vspace{69mm}
|
||
\textbf{Poznámky}
|
||
\begin{itemize}
|
||
\item Ne všechny ILI9225 displeje mají pin \texttt{LED}. Pokud je přítomen, musí být připojený na +3,3 V nebo na napětí v rozsahu 0–3,3 V pro regulaci jasu, jinak displej nebude svítit.
|
||
\item Pin \texttt{VCC} není připojen přímo k +3,3 V na Pico, protože tento výstup je omezen na jedno zařízení, proto je nutné připojit kabel k desce, z které budeme napájet více komponentů současně (např. displej + MAX98357 zesilovač).
|
||
\item Zkontrolujte dvakrát všechna zapojení před napájením. I když Pico obvykle odolá drobným chybám, \textbf{zkrat mezi +3,3 V a GND může zařízení poškodit.}
|
||
\item Při manipulaci s kabely dávejte pozor, aby nedošlo k poškození konektorů nebo pinů na desce.
|
||
\end{itemize}
|
||
|
||
\vspace{6mm}
|
||
\textbf{Tipy pro testování:}
|
||
\begin{itemize}
|
||
\item Po připojení displeje a napájení spusťte nahranný program, který rozsvítí displej.
|
||
\item Pokud displej nefunguje správně, zkontrolujte zapojení pinů a polaritu napájení.
|
||
\item Pro pohodlné ladění doporučuji použít barevně označené vodiče a poznámky k jejich propojení.
|
||
\end{itemize}
|
||
|
||
\subsubsection{Připravování SD karty}
|
||
MicroSD / SD karta je použita pro ukládání ROM her a postupu v nich. Pro tento projekt je potřeba zformátovaná FAT32 karta s ROM her, které legálně vlastníme. ROMky musí mít příponu .gb jinak nebudou identifikováni programem. ROMky se musí nacházet v root složce.
|
||
|
||
\begin{itemize}
|
||
\item Připojte svou SD kartu k počítači a naformátujte ji na FAT32
|
||
\item Zkopírujte vaše .gb soubory do rootu složky SD karty
|
||
\item Připojte SD kartu do ILI9225 SD slotu
|
||
\item Insert the SD card into the ILI9225 SD card slot using a Micro SD adapter
|
||
\end{itemize}
|
||
|
||
\subsubsection{Připojování SD karty do čtečky}
|
||
|
||
\begin{itemize}
|
||
\item SD MISO = GP12 = ORANGE
|
||
\item SD CS = GP13 = WHITE
|
||
\item SD SCK = GP14 = GREEN
|
||
\item SD MOSI = GP15 = BLUE
|
||
\end{itemize}
|
||
\begin{figure}[h] % 'h' = here
|
||
\centering
|
||
\includegraphics[width=0.69\textwidth]{img/PicoGBSDCardReaderConnection.png}
|
||
\caption{Připojení čtečky z displeje}
|
||
\label{fig:SDDisCon}
|
||
\end{figure}
|
||
|
||
|
||
ILI9225 SD čtečka nefungje vždy správně, když to se stane, Pico nedokáže komunikovat se zařízením a zobrazí náhodné charaktery místo názvu her:
|
||
|
||
|
||
\begin{figure}[h] % 'h' = here
|
||
\centering
|
||
\includegraphics[width=0.6\textwidth]{img/BadConnectionWithSDCardReaderOrBrokenSDCardReader.jpg}
|
||
\caption{Špatné spojení s čtečkou}
|
||
\label{fig:SDDisBadCon}
|
||
\end{figure}
|
||
\vspace{69mm}
|
||
|
||
Podkud se to stane, tak můžeme napájet na piny přímo adaptér na SD kartu k Picu, jak na obrázku dole. Jako bonus musíme k bílému, modrému, zelenému, oranžovému drátu na SD kartě připájet k Picu 3,3V (červený drát) a k zemi (GND - černý drát):
|
||
|
||
\begin{figure}[h] % 'h' = here
|
||
\centering
|
||
\includegraphics[width=0.4\textwidth]{img/DirectConnectionToSDCard.jpg}
|
||
\caption{Přímé spojení s čtečkou}
|
||
\label{fig:SDDirCon}
|
||
\end{figure}
|
||
\vspace{69mm}
|
||
|
||
Po připojení dipleje a čtečky SD karty do Pica, můžeme zkontrolovat, že obrazovka funguje správně po připojení Pica přez USB. Pokud vše funguje tak jak má, uvidíme menu s výběrem her!
|
||
|
||
\begin{figure}[h] % 'h' = here
|
||
\centering
|
||
\includegraphics[width=0.6\textwidth]{img/PicoGBGameSelectionMenu.png}
|
||
\caption{Přímé spojení s čtečkou}
|
||
\label{fig:PiGameSel}
|
||
\end{figure}
|
||
\vspace{69mm}
|
||
|
||
\subsubsection{Připojení tlačítek}
|
||
|
||
Tlačítka se připájí na pájecí desku stejně jako na obrázku dole. Každé tlačítko je připojeno na GND na jedné straně a k Picu na druhé. K připojení tlačítek k Picu jsou použity cca 20 cm dráty s ženským konektorem na jedné straně.
|
||
|
||
\textbf{Zapojení jednotlivých tlačítek:}
|
||
|
||
\begin{itemize}
|
||
\item UP = GP2 = hnědá
|
||
\item DOWN = GP3 = žlutá
|
||
\item LEFT = GP4 = fialová
|
||
\item RIGHT = GP5 = šedá
|
||
\item BUTTON A = GP6 = bílá
|
||
\item BUTTON B = GP7 = modrá
|
||
\item SELECT = GP8 = oranžová
|
||
\item START = GP9 = zelená
|
||
\item GND = černá
|
||
\end{itemize}
|
||
|
||
img - Pico-GB Buttons Circuit
|
||
|
||
img - irl zadek
|
||
img - irl předek
|
||
|
||
\subsubsection{Přidání zvuků}
|
||
|
||
MAX98357 zesilovač je připojen k Picu s cca 20 cm kabely s ženským konektorem a reprák k zesilovači jako jde vidět dole. Kvůli jednomu 3V3 output pinu z Pica musíme zesilovač napájet k pájecí desce jako jsme udělali s LCD displejem pro 3,3V.
|
||
|
||
\begin{itemize}
|
||
\item MAX98357A DIN = GP26 = modrá
|
||
\item MAX98357A BCLK = GP27 = zelená
|
||
\item MAX98357A LRC = GP28 = Bílá
|
||
\item MAX98357 GND = černá
|
||
\item MAX98357 VIN = 3V3 (OUT) = červená
|
||
\end{itemize}
|
||
|
||
img - Pico-GB sound circuit
|
||
|
||
\subsubsection{Připojení baterie a nabíječky}
|
||
|
||
Na Picu můžeme hrát hned po připojení k USB, ale pokud by jsme chtěli na Picu hrát kdekoliv a udělat z něho přenosnou herní konzoli, budeme muset k němu přidat baterii s vypínačem a nabíječkou. Pico nekonzumuje tolik elektřiny, ani když je přecyklovaný na 266MHz, takže po připojení baterie se doba hraní velice prodlouží!
|
||
|
||
Preferovaný způsob dávání elektřiny Picu je když není připojené přes USB a připojené napětí je mezi 1,8 - 5,5V na VSYS pin.
|
||
|
||
Hlavně si musíme dát pozor, nesmíme vypínat baterii pokud je Pico připojené k elektřině přes micro USB-B na Picu. Zapojení je velice jednoduché ale normálně by obsahoval Schotkyho diodu aby jsme předešli problémům pokud budeme dávat elektřinu na VBUS pin.
|
||
|
||
img - Pico-GB Power Circuit
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
%\vspace{-5mm}
|
||
% \includegraphics[scale=0.02]{img/Pi_feet.png}
|
||
%600x400
|
||
|
||
|
||
% \subsubsection{Co se očekává v textu} % často dělení na kapitoly a články úplně stačí
|
||
%
|
||
% Všechny texty a nadpisy si samozřejmě upravíte podle svého \dots
|
||
%
|
||
% Text by měl obsahovat vše co slibujete v úvodu, včetně dostatečně podrobného popisu použitých metod řešení, všech získaných výsledků, i zápor\-ných -- když zjistím, že je něco úplně jinak, je to taky výsledek.
|
||
% Je možné zmínit i důležitější slepé uličky, kterými jste museli projít.
|
||
% Z výsledků samozřejmě vyvodíte podrobné závěry, které se potom stručně shrnou na konci práce.
|
||
|
||
% \section{Velký nadpis}
|
||
% \subsection{Menší nadpis}
|
||
% \subsubsection{Ještě menší}
|
||
|
||
% 50\% textu
|
||
% soubor\_nazev
|
||
|
||
% \begin{itemize}
|
||
% \item První položka
|
||
% \item Druhá položka
|
||
% \end{itemize}
|
||
|
||
% \textbf{Toto je tučné}
|
||
|
||
% \textit{Kurzíva}
|
||
|
||
% \underline{Podtržené}
|
||
|
||
|
||
~ % musí to tu být, aby fungovala svislá mezera
|
||
|
||
\vspace{160mm}
|
||
|
||
\section*{Poděkování}
|
||
|
||
\noindent \textit{Například:}
|
||
|
||
\noindent Děkuji ................ za ...................... a za obětavou pomoc a podnětné připomínky, které mi během práce poskytoval/a. % nebo cokoli dle Vašeho uvážení
|
||
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\newpage
|
||
~ % musí to tu být, aby fungovala svislá mezera
|
||
\vspace{10mm}
|
||
|
||
\section*{Zadání}
|
||
|
||
\noindent Dostanete od vyučujícího.
|
||
|
||
\leftskip=0mm
|
||
\rightskip=0mm
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\newpage
|
||
\pagestyle{plain} % znovu zapne číslování
|
||
\tableofcontents % vysází obsah
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\newpage
|
||
|
||
|
||
|
||
\section{Úvod}
|
||
|
||
\noindent Do úvodu patří:
|
||
\begin{itemize}
|
||
\item proč jsem si zvolil dané téma
|
||
\item výchozí situace a předpoklady
|
||
\item cíle práce, čeho chci dosáhnout
|
||
\item jak asi toho chci dosáhnout (zhruba, stručně)
|
||
\end{itemize}
|
||
|
||
Obvyklá délka úvodu je cca 1/2 -- 3/4 stránky, ale může mít i více. Neměl by mít podstatně méně. Píšete jej až poté, co je hotový text práce.
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
||
\vspace{20mm}
|
||
|
||
\addcontentsline{toc}{section}{Seznam použitých značek a symbolů} % přidá položku do obsahu
|
||
\section*{Seznam použitých značek a symbolů}
|
||
|
||
\noindent Pokud pro něj máte použití.
|
||
|
||
\newpage % Hlavní text by měl začínat na nové stránce.
|
||
|
||
\section{Název první kapitoly}
|
||
|
||
\subsection{První článek}
|
||
|
||
\subsubsection{Co se očekává v textu} % často dělení na kapitoly a články úplně stačí
|
||
|
||
Všechny texty a nadpisy si samozřejmě upravíte podle svého \dots
|
||
|
||
Text by měl obsahovat vše co slibujete v úvodu, včetně dostatečně podrobného popisu použitých metod řešení, všech získaných výsledků, i zápor\-ných -- když zjistím, že je něco úplně jinak, je to taky výsledek.
|
||
Je možné zmínit i důležitější slepé uličky, kterými jste museli projít.
|
||
Z výsledků samozřejmě vyvodíte podrobné závěry, které se potom stručně shrnou na konci práce.
|
||
|
||
\subsection{Zálohování textu}
|
||
|
||
Když budete cokoli psát, ukládejte starší verze vždy odděleně, abyste se
|
||
k nim mohli kdykoli vrátit. Kusy textu, které jste se rozhodli nepoužít, taky ukládejte do zvláštního souboru (např: \textit{odkladiste.tex}). Smazat se to dá vždycky, ale psát to znova je zbytečné.
|
||
|
||
\textbf{A POŘÁD ZÁLOHUJTE. POŘÁD !!!}
|
||
|
||
Ideální pro zálohy větších projektů typu ročníková práce nebo třeba návrh webu je verzovací systém git
|
||
(např. \href{https://www.itnetwork.cz/programovani/git/git-tutorial-historie-a-principy/}{zde} a \href{https://git-scm.com/book/cs/v2/%C3%9Avod-Z%C3%A1klady-syst%C3%A9mu-Git}{zde})
|
||
a server \href{https://github.com/}{github} nebo \href{https://bitbucket.org/}{bitbucket}.
|
||
|
||
\subsection{Příkazy pro umístění obrázků}
|
||
|
||
Na úvod jedna dost podstatná informace: \textbf{velké obrázky} \textbf{patří do příloh} (1/2 polovina strany a více), pouze menší obrázky mohou být v textu.
|
||
|
||
Další také podstatná informace: \textbf{obrázky do textu vkládejte zkomprimované}. Na běžný obrázek do textu s rezervou stačí velikost cca 600x400 bodů, což odpovídá velikosti v desítkách kB. Komprimací obrázků se masivně zmenšuje velikost výsledného pdf souboru (a v případě použití gitu velikost repozitáře).
|
||
|
||
\textbf{Obrázek \ref{fig:3Dmodel} bude umístěn přesně tam, kde ho máte v textu:}
|
||
|
||
\vspace{-5mm}
|
||
\hfill\\[\intextsep]
|
||
\begin{minipage}{\textwidth}
|
||
\begin{center}
|
||
\includegraphics[scale=0.6]{img/3dtank3.jpg}
|
||
\figcaption{3D model -- přesné umístění obrázku} \label{fig:3Dmodel}
|
||
\end{center}
|
||
\end{minipage}
|
||
\vspace{1mm}
|
||
|
||
\subsection{Ukázky citací}
|
||
|
||
Parametry měniče napětí LM2567 zjistíte v jeho datasheetu \cite{lm2567}. Jak správ\-ně tento datasheet ocitovat, si přečtete v \cite{cit-jed} na straně 7. Další podrobnosti o~citační normě a vysvětlení použitého citačního stylu \texttt{czplain} najdete v \cite{bibtex:pysny}. Hodně informací o stylu \texttt{czplain} najdete také přímo ve zdrojovém soubouru stylu \textit{czplain.bst} přímo v adresáři této šablony. Další příkazy a informace o~systému \LaTeX{} najdete v knize \cite{rybitex}.
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\newpage % I závěr by měl podle možností začínat na nové stránce.
|
||
|
||
|
||
\section{Závěr}
|
||
|
||
I pro závěr platí, že obvyklá délka je cca 1/2 -- 3/4 stránky, ale může mít i více. Neměl by mít podstatně méně. Píšete jej také až poté, co je hotový text práce.
|
||
|
||
V závěru byste měli uvést:
|
||
\begin{itemize}
|
||
\item znovu cíle práce, ale na rozdíl od úvodu v minulém čase
|
||
\item jak bylo nebo nebylo těchto cílů dosaženo
|
||
\item důležité výsledky, ke kterým jste dospěli
|
||
\end{itemize}
|
||
|
||
\url{https://www.seznam.cz}
|
||
|
||
Nezapomeňte, že každý čte napřed anotaci, obsah, úvod a závěr.
|
||
Teprve když toto čtenáře zaujme, bude (možná) číst i vlastní text.
|
||
Toto platí i pro všechny Vaše budoucí práce.
|
||
(Samozřejmě se to netýká hodnotitelů.)
|
||
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
||
\newpage
|
||
\addcontentsline{toc}{section}{Literatura a další zdroje}
|
||
|
||
\renewcommand{\refname}{Literatura a další zdroje}
|
||
%\printbibliography[type=book,title={Books only}]
|
||
%[type=book]
|
||
|
||
\bibliographystyle{czplain}
|
||
%\bibliographystyle{unsrtcz} % viz text Přehled LaTeXu unsrt
|
||
\bibliography{literatura}
|
||
|
||
\newpage % někdy je potřeba, aby správně vyšlo číslování stránky se seznamem obrázků v obsahu
|
||
|
||
\addcontentsline{toc}{section}{Seznam obrázků} % přidá seznam obrázků do obsahu
|
||
|
||
\listoffigures % seznam obrázků
|
||
|
||
\newpage % někdy je potřeba, aby správně vyšlo číslování stránky se seznamem obrázků v obsahu
|
||
|
||
\addcontentsline{toc}{section}{Seznam tabulek} % přidá seznam tabulek do obsahu
|
||
|
||
\listoftables % seznam tabulek
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\newpage
|
||
|
||
\section*{Další přílohy}
|
||
|
||
\addcontentsline{toc}{section}{Další přílohy} % přidá tuto položku do obsahu
|
||
% zde budou další přílohy
|
||
|
||
Například grafy, schémata a nebo obrázky na celou stránku.
|
||
|
||
|
||
|
||
\end{document}
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
% tady si pište, co chcete, ve výsledku se to neobjeví
|
||
|
||
%******************************************************
|
||
1 pt = 0,35 mm
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|