Drogheda/03-Architecture-Hardware/Guia-Conexion-Protoboard/modulos-pinout.tex

671 lines
42 KiB
TeX

% modulos-pinout.tex — Identificación física de módulos y componentes (v3.0)
% Vistas superiores de los módulos con CI (LM2596, MT3608, TP4056, AHT10, DFR1015),
% pinout físico del Blackpill y del stack RTK, y patitas de cada componente discreto.
% Se \input{} desde cuerpo.tex. Requiere tikz (ya cargado por el estilo) y los colores
% net* de ../circuitikz-wiring/wiring-blocks.tex (ya cargado por main.tex).
% ---- Estilos compartidos de esta sección ----
\tikzset{
modbody/.style={draw=HelgenIndigo, fill=HelgenMist, rounded corners=3pt, line width=1.1pt},
chip/.style={draw=HelgenIndigo, fill=HelgenIndigo!85, rounded corners=1pt},
chiptxt/.style={font=\tiny\bfseries, text=white},
pad/.style={circle, draw=black!55, fill=white, inner sep=2.1pt, line width=0.7pt},
padu/.style={circle, draw=HelgenIndigo, fill=HelgenCyan, inner sep=2.1pt, line width=1pt},
silk/.style={font=\scriptsize\bfseries, text=HelgenIndigo},
silkg/.style={font=\scriptsize, text=black!45},
destino/.style={font=\scriptsize, align=left},
destinog/.style={font=\scriptsize, text=black!45, align=left},
patanum/.style={font=\tiny, text=black!55},
cablef/.style={-{Stealth[length=2mm]}, line width=1.1pt},
}
% Swatch de red para las anotaciones de los dibujos
\newcommand{\sw}[1]{\textcolor{#1}{\rule[-0.12ex]{0.62em}{0.62em}}}
% Mini-resistencia con bandas de color (4 y 5 bandas)
\definecolor{resBody}{HTML}{E8D8B0}
\definecolor{cCafe}{HTML}{8B5A2B}\definecolor{cNegro}{HTML}{1A1A1A}
\definecolor{cRojo}{HTML}{C62828}\definecolor{cNaranja}{HTML}{EF6C00}
\definecolor{cAmarillo}{HTML}{F0C419}\definecolor{cVioleta}{HTML}{6A1B9A}
\definecolor{cDorado}{HTML}{C9A227}
\newcommand{\resfour}[4]{\begin{tikzpicture}[baseline=-0.6ex]
\draw[black!60,line width=0.8pt] (-0.28,0)--(0,0); \draw[black!60,line width=0.8pt] (1.52,0)--(1.8,0);
\draw[fill=resBody,draw=black!45,rounded corners=2pt] (0,-0.16) rectangle (1.52,0.16);
\fill[#1] (0.20,-0.16) rectangle (0.34,0.16); \fill[#2] (0.50,-0.16) rectangle (0.64,0.16);
\fill[#3] (0.80,-0.16) rectangle (0.94,0.16); \fill[#4] (1.20,-0.16) rectangle (1.32,0.16);
\end{tikzpicture}}
\newcommand{\resfive}[5]{\begin{tikzpicture}[baseline=-0.6ex]
\draw[black!60,line width=0.8pt] (-0.28,0)--(0,0); \draw[black!60,line width=0.8pt] (1.52,0)--(1.8,0);
\draw[fill=resBody,draw=black!45,rounded corners=2pt] (0,-0.16) rectangle (1.52,0.16);
\fill[#1] (0.16,-0.16) rectangle (0.28,0.16); \fill[#2] (0.40,-0.16) rectangle (0.52,0.16);
\fill[#3] (0.64,-0.16) rectangle (0.76,0.16); \fill[#4] (0.88,-0.16) rectangle (1.00,0.16);
\fill[#5] (1.22,-0.16) rectangle (1.34,0.16);
\end{tikzpicture}}
\section{Identifica cada pieza ANTES de conectar}
\label{sec:identifica}
Esta sección es el \textbf{catálogo visual} del kit: cada módulo y componente dibujado
\textbf{como se ve de verdad}, con el nombre de cada patita y a dónde va. Las tablas de los
bloques (sección~\ref{sec:bloques}) te dicen \emph{qué} conectar; esta sección te enseña
\emph{dónde está} cada patita. Tres reglas de oro:
\begin{itemize}
\item \textbf{Confía en lo impreso, no en la posición.} Los módulos chinos cambian de un
lote a otro; los nombres serigrafiados (IN+, OUT$-$, B+, SDA\ldots) son los que valen.
Si el rótulo está por debajo, voltea el módulo y anótalo con marcador por arriba.
\item \textbf{En caso de duda, multímetro.} Continuidad (la escala que pita) para saber qué
está unido con qué; voltaje DC para verificar una fuente ANTES de conectarla a lo demás.
\item \textbf{Nada se conecta con la fuente energizada.} Cablea, revisa contra el dibujo,
revisa la polaridad, y hasta entonces enciende.
\end{itemize}
% =====================================================================
\subsection{Cómo leer la protoboard}
\label{sec:protoboard}
\begin{center}
\begin{adjustbox}{max width=0.98\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
% board
\draw[modbody, fill=white] (-0.5,-3.2) rectangle (11.3,3.4);
% ---- power rails top ----
\draw[net5V,line width=1.4pt] (0,2.95) -- (10.8,2.95);
\draw[blue,line width=1.4pt] (0,2.45) -- (10.8,2.45);
\foreach \x in {0.3,0.9,...,10.5}{\fill[black!35] (\x,2.75) circle (0.055); \fill[black!35] (\x,2.25) circle (0.055);}
\node[font=\scriptsize\bfseries,text=net5V,anchor=south west] at (0,3.0){riel ROJO $=$ 5\,V (MAIN5V)};
\node[font=\scriptsize\bfseries,text=blue,anchor=south east,fill=white,inner sep=1.5pt] at (10.6,2.5){riel AZUL $=$ GND};
% ---- middle rows ----
\foreach \x in {0.3,0.66,...,10.5}{
\foreach \y in {1.5,1.2,0.9,0.6,0.3}{\fill[black!35] (\x,\y) circle (0.055);}
\foreach \y in {-0.5,-0.8,-1.1,-1.4,-1.7}{\fill[black!35] (\x,\y) circle (0.055);}}
\node[font=\tiny,anchor=east] at (0.12,1.5){a}; \node[font=\tiny,anchor=east] at (0.12,0.3){e};
\node[font=\tiny,anchor=east] at (0.12,-0.5){f}; \node[font=\tiny,anchor=east] at (0.12,-1.7){j};
% trench
\fill[black!12] (-0.5,-0.28) rectangle (11.3,0.08);
\node[font=\scriptsize\itshape,text=black!60,fill=white,inner sep=1.5pt] at (3.9,-0.11){canal central — parte cada columna en dos mitades};
% highlight one column group
\draw[HelgenTeal,line width=1.3pt,rounded corners=2pt] (1.32,0.16) rectangle (1.68,1.66);
\node[font=\scriptsize,text=HelgenTeal,anchor=west,fill=white,inner sep=1.5pt] at (1.85,1.35){estos 5 hoyitos están \textbf{unidos por dentro}};
\draw[HelgenTeal,line width=1.3pt,rounded corners=2pt,dashed] (1.32,-1.86) rectangle (1.68,-0.36);
\node[font=\scriptsize,text=HelgenTeal,align=center,anchor=north,fill=white,inner sep=1.5pt] at (1.7,-1.95){\ldots{}pero \textbf{NO} están unidos\\con la mitad de arriba};
% component straddling trench
\draw[chip] (7.3,-0.55) rectangle (9.1,0.35); \node[chiptxt] at (8.2,-0.1){módulo DIP};
\node[font=\scriptsize,align=center,anchor=north,fill=white,inner sep=1.5pt] at (8.2,-0.85){los módulos se montan\\\textbf{a caballo} del canal};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape La protoboard por dentro: rieles laterales corridos (alimentación) y columnas
de 5 puntos unidos. Dos cables en la misma columna de 5 quedan conectados entre sí.}
\end{center}
\begin{helgennotice}[Checklist antes de energizar CUALQUIER bloque]
\begin{itemize}
\item Rieles: rojo $=$ 5\,V, azul $=$ GND, en \textbf{toda} la guía. Nada de excepciones.
\item Electrolíticos: franja al GND. Diodos: banda como diga la tabla. Transistores:
cara plana como en el dibujo (sección~\ref{sec:transistores}).
\item Multímetro en continuidad: pita GND$\leftrightarrow$GND, \textbf{no} debe pitar 5\,V$\leftrightarrow$GND.
\item Fuentes ajustables (LM2596 / MT3608): voltaje medido y ajustado \textbf{en vacío} antes de conectar su salida.
\item \textbf{USB del Blackpill y riel 5\,V: nunca al mismo tiempo.} El pin \texttt{5V} de la
tarjeta está unido \emph{directo} al USB (sin protección). Para flashear: desconecta el
riel MAIN5V del pin \texttt{5V}, flashea por USB, desconecta el USB y reconecta el riel.
\end{itemize}
\end{helgennotice}
% =====================================================================
\subsection{El Blackpill de frente (los 40 pines)}
\label{sec:blackpill}
Pon la tarjeta \textbf{con el USB-C hacia arriba y los componentes hacia ti}. Para confirmar
que no la tienes volteada: la esquina superior \textbf{izquierda} dice \texttt{VB} y la
superior \textbf{derecha} dice \texttt{B12} (los nombres están serigrafiados junto a cada pin
— gira la tarjeta hasta que coincida con el dibujo). Los pines rellenos de color
\textcolor{HelgenTeal}{\textbf{cian}} son los que usa esta guía; los grises no se tocan.
\begin{center}
\begin{adjustbox}{max height=0.88\textheight, max width=\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
% ---- board body ----
\draw[modbody] (0,-0.75) rectangle (4.3,11.1);
% USB-C
\draw[draw=black!60,fill=black!25,rounded corners=2.5pt] (1.55,10.55) rectangle (2.75,11.35);
\node[font=\scriptsize\bfseries,text=black!60] at (2.15,11.6){USB-C};
% MCU + buttons + LEDs
\draw[chip] (1.35,4.9) rectangle (2.95,6.5); \node[chiptxt,align=center] at (2.15,5.7){STM32\\F411};
\draw[draw=black!55,fill=black!12] (1.15,7.4) rectangle (1.95,8.0); \node[font=\tiny] at (1.55,7.7){NRST};
\draw[draw=black!55,fill=black!12] (2.35,7.4) rectangle (3.15,8.0); \node[font=\tiny] at (2.75,7.7){BOOT0};
\draw[draw=black!55,fill=black!12] (1.75,3.9) rectangle (2.55,4.5); \node[font=\tiny] at (2.15,4.2){KEY};
\fill[blue!60] (1.5,9.9) rectangle (1.8,10.15); \node[font=\tiny,anchor=west,text=black!60] at (1.85,10.02){LED C13};
\fill[red!70] (1.5,9.4) rectangle (1.8,9.65); \node[font=\tiny,anchor=west,text=black!60] at (1.85,9.52){LED PWR};
% SWD header bottom
\foreach \x in {1.55,1.95,2.35,2.75}{\fill[black!45] (\x,-0.45) circle (0.07);}
\node[font=\tiny,text=black!55,anchor=west] at (2.95,-0.45){SWD (no se usa)};
% star corner markers
\node[font=\footnotesize\bfseries,text=HelgenTeal] at (0.28,10.85){$\star$};
\node[font=\footnotesize\bfseries,text=HelgenTeal] at (4.02,10.85){$\star$};
% ---- pins: base grey (all), then used overrides ----
% LEFT column silk names top->bottom
\foreach [count=\i] \nm in {VB,C13,C14,C15,R,A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,B2,B10,3V3,G,5V}{
\node[pad] (L\i) at (0.42,{10.45-\i*0.52}) {};
\node[silkg,anchor=west] at (0.62,{10.45-\i*0.52}) {\nm};}
% RIGHT column silk names top->bottom
\foreach [count=\i] \nm in {B12,B13,B14,B15,A8,A9,A10,A11,A12,A15,B3,B4,B5,B6,B7,B8,B9,5V,G,3V3}{
\node[pad] (R\i) at (3.88,{10.45-\i*0.52}) {};
\node[silkg,anchor=east] at (3.68,{10.45-\i*0.52}) {\nm};}
% ---- LEFT used pins: re-draw pad + silk in indigo + destination note ----
\foreach \i/\nm/\cl/\txt in {%
5/R/netSig/{botón reset ext.\ $\rightarrow$ GND · \textbf{B7}},%
6/A0/netAna/{BAT\_SENSE — $\div$2 del 18650$+$ · \textbf{B4}},%
7/A1/netSig/{PWR\_CTRL $\rightarrow$ 1\,k $\rightarrow$ 2N3904 · \textbf{B3}},%
8/A2/netSig/{TX $\rightarrow$ pin \texttt{RX1} del Pro · \textbf{B8}},%
9/A3/netSig/{RX $\leftarrow$ pin \texttt{TX1} del Pro · \textbf{B8}},%
10/A4/netAna/{5V\_SENSE — $\div$2 del 5\,V veh.\ · \textbf{B4}},%
11/A5/netSig/{IGN\_SENSE — \textbf{máx 3.3\,V} · \textbf{B4}},%
12/A6/netSig/{FAN\_PWM $\rightarrow$ 220 $\rightarrow$ IRLZ44N · \textbf{B5}},%
13/A7/netAna/{LM35 OUT (10\,mV/\textdegree C) · \textbf{B11}},%
14/B0/netSig/{LED de estado $\rightarrow$ 330\,$\Omega$ · \textbf{B2}},%
15/B1/netAna/{nodo del divisor NTC · \textbf{B11}},%
18/3V3/net3V3/{\textbf{salida} 3.3\,V $\rightarrow$ AHT10, pull-ups},%
19/G/netGND/{GND $\rightarrow$ riel azul},%
20/5V/net5V/{\textbf{entrada} 5\,V $\leftarrow$ riel MAIN5V}}{%
\node[padu] at (0.42,{10.45-\i*0.52}) {};
\node[silk,anchor=west] at (0.62,{10.45-\i*0.52}) {\nm};
\node[destino,anchor=east] at (-0.25,{10.45-\i*0.52}) {\sw{\cl}\;\txt};}
% ---- RIGHT used pins ----
\foreach \i/\nm/\cl/\txt in {%
1/B12/netSig/{gauge LED 1 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
2/B13/netSig/{gauge LED 2 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
3/B14/netSig/{gauge LED 3 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
4/B15/netSig/{gauge LED 4 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
5/A8/netSig/{CHRG\_RUN $\rightarrow$ 1\,k $\rightarrow$ 2N3904 · \textbf{B10}},%
6/A9/netSig/{$\rightarrow$ 4G \texttt{DIN} (\$PHLG) · \textbf{B9}},%
7/A10/netSig/{$\leftarrow$ F9P \texttt{TX2} · 22\,k a 3V3 · \textbf{B9}},%
14/B6/netSig/{\texttt{SCL} $\rightarrow$ AHT10 · \textbf{B6}},%
15/B7/netSig/{\texttt{SDA} $\rightarrow$ AHT10 · \textbf{B6}},%
18/5V/net5V/{mismo riel 5\,V que el otro pin \texttt{5V}},%
19/G/netGND/{GND $\rightarrow$ riel azul},%
20/3V3/net3V3/{misma salida 3.3\,V}}{%
\node[padu] at (3.88,{10.45-\i*0.52}) {};
\node[silk,anchor=east] at (3.68,{10.45-\i*0.52}) {\nm};
\node[destino,anchor=west] at (4.55,{10.45-\i*0.52}) {\sw{\cl}\;\txt};}
% unused-but-noteworthy notes
\node[destinog,anchor=west] at (4.55,{10.45-8*0.52}) {A11/A12 $=$ USB — \textbf{no conectar}};
\node[destinog,anchor=west] at (4.55,{10.45-17*0.52}) {B10 $=$ tach (sin usar, vent.\ 2 hilos)};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape Blackpill STM32F411 (WeAct), vista superior, USB arriba. Cian $=$ pin usado;
la nota dice a dónde va y en qué bloque («\textbf{B4}» $=$ Bloque~4). \textbf{Los dos pines
\texttt{5V} son el mismo riel} (igual los dos \texttt{G} y los dos \texttt{3V3}): usa el que
te quede más cerca.}
\end{center}
% =====================================================================
\subsection{Módulos con circuito integrado (vista superior)}
\label{sec:modulos}
Todos van montados en la protoboard o al lado de ella, con pines soldados (tira de pines
macho 2.54\,mm) o cables Dupont macho-hembra. \textbf{Antes de usar cualquier fuente
ajustable: conéctala sola, mide su salida y ajústala} (tornillito azul del potenciómetro).
% ---------- LM2596 ----------
\subsubsection*{LM2596 — reductor (buck) ajustable}
\label{sec:lm2596}
\begin{center}
\begin{adjustbox}{max width=0.95\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
\draw[modbody] (0,0) rectangle (6.4,3.4);
% pads
\node[padu] (inp) at (0.45,2.9){}; \node[silk,anchor=west] at (0.62,2.9){IN$+$};
\node[padu] (inm) at (0.45,0.5){}; \node[silk,anchor=west] at (0.62,0.5){IN$-$};
\node[padu] (outp) at (5.95,2.9){}; \node[silk,anchor=east] at (5.78,2.9){OUT$+$};
\node[padu] (outm) at (5.95,0.5){}; \node[silk,anchor=east] at (5.78,0.5){OUT$-$};
% parts on board
\draw[chip] (1.6,1.1) rectangle (3.1,2.3); \node[chiptxt,align=center] at (2.35,1.7){LM2596S\\(el IC grande)};
\draw[draw=black!55,fill=black!20] (3.7,1.0) circle (0.62); \node[font=\tiny,align=center] at (3.7,1.0){bobina\\(dona)};
\draw[draw=black!55,fill=black!12] (1.0,2.35) circle (0.42); \draw[draw=black!55,fill=black!12] (5.15,2.5) circle (0.42);
\node[font=\tiny,text=black!55] at (1.0,2.35){cap}; \node[font=\tiny,text=black!55] at (5.15,2.5){cap};
% trimpot
\draw[draw=HelgenIndigo,fill=blue!25] (4.35,1.65) rectangle (5.55,2.15);
\fill[white] (4.65,1.9) circle (0.14); \draw[black!70] (4.55,1.8)--(4.75,2.0);
\node[font=\scriptsize\bfseries,text=HelgenIndigo,anchor=north] at (4.95,1.6){potenciómetro};
\node[font=\tiny,anchor=north,align=center] at (4.95,1.28){gira el tornillo\\para ajustar V\textsubscript{OUT}};
% external arrows
\draw[cablef,net5V] (-1.7,2.9) -- (inp); \node[destino,anchor=south,text width=2.5cm] at (-1.4,3.0){\textbf{24\,V} del gabinete/banco};
\draw[cablef,netGND] (-1.7,0.5) -- (inm); \node[destino,anchor=north] at (-1.35,0.4){GND};
\draw[cablef,net5V] (outp) -- (7.7,2.9); \node[destino,anchor=south,text width=3.1cm] at (8.0,3.0){salida ajustada $\rightarrow$ su riel};
\draw[cablef,netGND] (outm) -- (7.7,0.5); \node[destino,anchor=north] at (7.9,0.4){GND};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape LM2596: entra voltaje alto por IN$\pm$, sale voltaje ajustado por OUT$\pm$.
Ambos GND (IN$-$ y OUT$-$) van al GND común del sistema.}
\end{center}
\begin{itemize}
\item \textbf{En esta guía se usan hasta dos unidades:} una a \textbf{5.0\,V} para el
ventilador (Bloque~5) y —solo si armas el Modo~B— otra a \textbf{3.3\,V} para el
módem 4G (Bloque~9). Márcalas con masking tape: «FAN 5.0\,V» y «MODEM 3.3\,V».
\item Ajuste: conecta \textbf{solo} IN$\pm$, pon el multímetro en OUT$\pm$ y gira el
potenciómetro hasta leer el voltaje objetivo. Vienen de fábrica en un voltaje
aleatorio (a veces $>$20\,V): \textbf{nunca} conectes la salida sin medirla antes.
\item El MP1584 (módulo más chico) es equivalente: mismos 4 rótulos IN$\pm$/OUT$\pm$,
mismo procedimiento.
\end{itemize}
% ---------- MT3608 ----------
\subsubsection*{MT3608 — elevador (boost) ajustable}
\label{sec:mt3608}
\begin{center}
\begin{adjustbox}{max width=0.9\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
\draw[modbody] (0,0) rectangle (4.6,2.5);
\node[padu] (vinp) at (0.4,2.05){}; \node[silk,anchor=west] at (0.57,2.05){VIN$+$};
\node[padu] (vinm) at (0.4,0.45){}; \node[silk,anchor=west] at (0.57,0.45){VIN$-$};
\node[padu] (voutp) at (4.2,2.05){}; \node[silk,anchor=east] at (4.03,2.05){OUT$+$};
\node[padu] (voutm) at (4.2,0.45){}; \node[silk,anchor=east] at (4.03,0.45){OUT$-$};
\draw[chip] (1.7,0.5) rectangle (2.6,1.1); \node[chiptxt] at (2.15,0.8){MT3608};
\draw[draw=black!55,fill=black!20] (2.15,1.75) circle (0.45); \node[font=\tiny,align=center] at (2.15,1.75){bobina};
\draw[draw=HelgenIndigo,fill=blue!25] (3.0,1.35) rectangle (3.95,1.8);
\fill[white] (3.25,1.575) circle (0.12);
\node[font=\tiny,anchor=north,align=center] at (3.5,1.3){potenciómetro};
\draw[cablef,netAna] (-1.3,2.05) -- (vinp); \node[destino,anchor=south,text width=2.4cm] at (-1.05,2.15){\textbf{18650$+$} (nodo con TP4056 B+)};
\draw[cablef,netGND] (-1.3,0.45) -- (vinm); \node[destino,anchor=north] at (-1.0,0.35){GND};
\draw[cablef,net5V] (voutp) -- (5.9,2.05); \node[destino,anchor=south,text width=3.2cm] at (6.3,2.15){$\rightarrow$ 1N5819 $\rightarrow$ nodo SYS};
\draw[cablef,netGND] (voutm) -- (5.9,0.45); \node[destino,anchor=north] at (6.1,0.35){GND};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape MT3608: \textbf{sube} el voltaje (pila 3.6\,V $\rightarrow$ $\approx$5\,V). La entrada
es la pila; la salida va al diodo de respaldo del Bloque~10.}
\end{center}
\begin{itemize}
\item Ajústalo \textbf{apenas por debajo} del 5\,V del vehículo (p.\,ej.\ 4.8--4.9\,V), para
que el vehículo tenga prioridad y la pila solo entre cuando el vehículo se va.
\item Truco del potenciómetro: si al girar no cambia nada, dale \textbf{muchas vueltas} en
sentido antihorario (hasta $\sim$20) mientras mides — así son estos trimmers multivuelta.
\item Nunca lo alimentes al revés (VIN$\pm$ invertido lo quema al instante).
\end{itemize}
% ---------- TP4056 ----------
\subsubsection*{TP4056 — cargador de la pila 18650 (módulo con protección)}
\label{sec:tp4056}
\begin{center}
\begin{adjustbox}{max width=0.95\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
\draw[modbody] (0,0) rectangle (5.2,2.8);
% usb connector left
\draw[draw=black!60,fill=black!25,rounded corners=1.5pt] (-0.25,0.95) rectangle (0.55,1.85);
\node[font=\tiny\bfseries,text=black!60,rotate=90] at (0.15,1.4){USB};
\node[font=\tiny,text=black!45,align=center,anchor=north,text width=2.2cm] at (0.7,-0.12){USB: NO se usa aquí (entramos por IN+)};
% pads
\node[padu] (INp) at (1.15,2.45){}; \node[silk,anchor=west] at (1.32,2.45){IN$+$};
\node[padu] (INm) at (1.15,0.35){}; \node[silk,anchor=west] at (1.32,0.35){IN$-$};
\node[padu] (Bp) at (4.85,2.45){}; \node[silk,anchor=east] at (4.68,2.45){B$+$};
\node[padu] (Bm) at (4.85,0.35){}; \node[silk,anchor=east] at (4.68,0.35){B$-$};
\node[pad] (Op) at (4.85,1.75){}; \node[silkg,anchor=east] at (4.68,1.75){OUT$+$};
\node[pad] (Om) at (4.85,1.05){}; \node[silkg,anchor=east] at (4.68,1.05){OUT$-$};
\node[destinog,anchor=west,text width=2.1cm] at (5.5,1.4){OUT$\pm$: sin usar en el proto};
% chips + leds
\draw[chip] (2.2,1.3) rectangle (3.3,2.2); \node[chiptxt] at (2.75,1.75){TP4056};
\draw[chip] (2.3,0.45) rectangle (3.2,0.95); \node[chiptxt,font=\tiny] at (2.75,0.7){protección};
\fill[red!75] (3.75,2.05) circle (0.11); \fill[blue!65] (3.75,1.65) circle (0.11);
\node[font=\tiny,anchor=north,align=center] at (3.8,1.4){LEDs de\\estado};
% external arrows
\draw[cablef,net5V] (-1.6,2.45) -- (INp);
\node[destino,anchor=south,text width=3.2cm] at (-1.2,2.55){5\,V vehículo \textbf{vía IRF9540} (corte PA8) — \textbf{no} directo};
\draw[cablef,netGND] (-1.6,0.35) -- (INm); \node[destino,anchor=north] at (-1.3,0.25){GND};
\draw[cablef,netAna] (Bp) -- (6.6,2.45); \node[destino,anchor=south,text width=2.9cm] at (6.9,2.55){$\rightarrow$ 18650$+$ (nodo con MT3608 VIN+)};
\draw[cablef,netGND] (Bm) -- (6.6,0.35); \node[destino,anchor=north,text width=2.4cm] at (6.9,0.25){$\rightarrow$ 18650$-$ $\rightarrow$ GND};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape TP4056: el 5\,V de carga entra por \textbf{IN$\pm$} (nunca por el USB en este
proyecto) y la pila se conecta en \textbf{B$\pm$}. LED \textbf{rojo} $=$ cargando; \textbf{azul/verde}
$=$ carga completa. Este módulo \textbf{no tiene pin TEMP}: el corte de carga por temperatura
lo hace el Blackpill (PA8) cortando IN$+$ — Bloque~10.}
\end{center}
% ---------- AHT10 ----------
\subsubsection*{AHT10 — sensor de temperatura y humedad (I\textsuperscript{2}C)}
\label{sec:aht10}
\begin{center}
\begin{adjustbox}{max width=0.85\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
\draw[modbody] (0,0) rectangle (4.4,2.6);
\draw[chip] (1.6,1.35) rectangle (2.8,2.15); \node[chiptxt] at (2.2,1.75){AHT10};
\draw[draw=black!55] (1.95,1.6) rectangle (2.45,1.95);
\node[font=\tiny,text=black!45,anchor=south] at (2.2,2.2){ventanita del sensor};
% 4 pins bottom
\foreach \x/\nm in {0.7/VIN,1.7/GND,2.7/SCL,3.7/SDA}{\node[padu] (p\nm) at (\x,0.3){}; \node[silk,anchor=south] at (\x,0.48){\nm};}
\draw[cablef,net3V3] (pVIN) -- (0.7,-1.55); \node[destino,anchor=north,align=center] at (0.7,-1.65){\textbf{3V3}\\¡NUNCA 5\,V!};
\draw[cablef,netGND] (pGND) -- (1.7,-0.85); \node[destino,anchor=north] at (1.7,-0.95){GND};
\draw[cablef,netSig] (pSCL) -- (2.7,-1.55); \node[destino,anchor=north,align=center] at (2.7,-1.65){pin \textbf{B6}\\del Blackpill};
\draw[cablef,netSig] (pSDA) -- (3.7,-0.85); \node[destino,anchor=north] at (3.7,-0.95){pin \textbf{B7}};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape AHT10 (breakout GY-AHT10). \textbf{El orden de los 4 pines cambia según el
fabricante}: guíate por los nombres impresos, no por la posición del dibujo.}
\end{center}
\begin{itemize}
\item \textbf{Solo 3.3\,V} (el chip es de 1.8--3.6\,V y el breakout no trae regulador): a 5\,V se quema.
\item \textbf{Solo él en el bus I\textsuperscript{2}C} (restricción del fabricante Aosong).
No agregues otro sensor a B6/B7.
\item Dirección fija \texttt{0x38}. Pull-ups de 4.7\,k a 3V3 (muchos breakouts ya los traen
soldados; ponerlos de todos modos no estorba).
\end{itemize}
% ---------- DFR1015 ----------
\subsubsection*{DFR1015 — acondicionador de la señal de ignición}
\label{sec:dfr1015}
\begin{center}
\begin{adjustbox}{max width=0.9\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
\draw[modbody] (0,0) rectangle (4.4,2.3);
\draw[chip] (1.7,0.9) rectangle (2.8,1.6); \node[chiptxt,align=center] at (2.25,1.25){buck\\12--24$\rightarrow$5\,V};
\node[padu] (dinp) at (0.4,1.85){}; \node[silk,anchor=west] at (0.57,1.85){IN$+$};
\node[padu] (dinm) at (0.4,0.45){}; \node[silk,anchor=west] at (0.57,0.45){IN$-$};
\node[padu] (doutp) at (4.0,1.85){}; \node[silk,anchor=east] at (3.83,1.85){OUT$+$};
\node[padu] (doutm) at (4.0,0.45){}; \node[silk,anchor=east] at (3.83,0.45){OUT$-$};
\draw[cablef,netIgn] (-1.6,1.85) -- (dinp); \node[destino,anchor=south,text width=3.0cm] at (-1.2,1.95){ignición \textbf{cruda} 12--24\,V (GX16 pin 3)};
\draw[cablef,netGND] (-1.6,0.45) -- (dinm); \node[destino,anchor=north] at (-1.3,0.35){GND};
\draw[cablef,netSig] (doutp) -- (5.6,1.85); \node[destino,anchor=south,text width=3.0cm] at (5.9,1.95){$\rightarrow$ 100\,$\Omega$ $\rightarrow$ pin \textbf{A5}};
\draw[cablef,netGND] (doutm) -- (5.6,0.45); \node[destino,anchor=north] at (5.8,0.35){GND};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape DFR1015 (DFRobot): convierte la ignición de la máquina (12 o 24\,V) en 5\,V
limpios. \textbf{Sus dos negativos (IN$-$ y OUT$-$) van al GND común.} En banco puedes
sustituirlo por un apagador de 3V3 $\rightarrow$ A5 (Bloque~4).}
\end{center}
% =====================================================================
\subsection{El stack RTK: simpleRTK2B Pro y 4G NTRIP Master}
\label{sec:stackfisico}
\begin{center}
\begin{adjustbox}{max width=\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
% ---- Pro board ----
\draw[modbody] (0,0) rectangle (9.6,6.2);
\node[font=\small\bfseries,text=HelgenIndigo,anchor=west] at (0.7,0.85){simpleRTK2B Pro};
% XBee socket
\draw[draw=HelgenIndigo,fill=white,rounded corners=2pt] (0.7,1.6) rectangle (4.1,4.9);
\foreach \y in {1.95,2.25,...,4.65}{\fill[black!50] (1.0,\y) circle (0.06); \fill[black!50] (3.8,\y) circle (0.06);}
\node[font=\scriptsize\bfseries,text=HelgenIndigo,align=center] at (2.4,3.5){socket XBee\\{\normalfont\tiny (paso 2.0\,mm)}};
\node[font=\tiny,align=center,text=black!55] at (2.4,2.6){aquí vive el 4G\\en el modo normal\\(Bloque 8)};
% switch
\draw[draw=HelgenIndigo,fill=black!15] (4.5,2.45) rectangle (5.6,3.1);
\draw[fill=HelgenCyan] (4.6,2.55) rectangle (5.0,3.0);
\node[font=\scriptsize\bfseries,text=HelgenIndigo,anchor=north,align=center] at (5.05,2.3){switch XBee:\\UART1 $\leftrightarrow$ UART2};
% F9P chip
\draw[chip] (6.3,2.6) rectangle (8.3,4.4); \node[chiptxt,align=center] at (7.3,3.5){u-blox\\ZED-F9P};
% SMA
\draw[draw=black!60,fill=black!30] (9.6,3.2) rectangle (10.3,3.9); \node[font=\scriptsize,anchor=west] at (10.4,3.55){SMA $\rightarrow$ antena GNSS};
% USBs left
\draw[draw=black!60,fill=black!25] (-0.35,4.4) rectangle (0.35,5.2); \node[font=\tiny,anchor=east,align=right] at (-0.45,4.8){USB «POWER+GPS»\\(config con u-center)};
\draw[draw=black!60,fill=black!25] (-0.35,0.9) rectangle (0.35,1.7); \node[font=\tiny,anchor=east,align=right] at (-0.45,1.3){USB «POWER+XBEE»\\(no se usa en servicio)};
% top header pins (digital): only the ones we use — arrows staggered in height
\foreach \x/\nm in {1.2/{RX1},2.4/{TX1},3.6/{RX2},7.0/{TX2},8.4/{IOREF}}{
\node[padu] (T\nm) at (\x,5.75){}; \node[silk,anchor=north] at (\x,5.55){\nm};}
\foreach \x in {4.6,5.4,6.2}{\node[pad] at (\x,5.75){};}
\draw[cablef,netSig] (TRX1) -- ++(0,0.75) node[destino,anchor=south,align=center]{$\leftarrow$ pin \textbf{A2}\\(NMEA)};
\draw[cablef,netSig] (TTX1) -- ++(0,1.65) node[destino,anchor=south,align=center]{$\rightarrow$ pin \textbf{A3}\\(NMEA)};
\draw[cablef,netSig] (TRX2) -- ++(0,0.75) node[destino,anchor=south,align=center]{$\leftarrow$ 4G \texttt{DOUT}\\(RTCM3, Modo B)};
\draw[cablef,netSig] (TTX2) -- ++(0,1.65) node[destino,anchor=south,align=center]{$\rightarrow$ pin \textbf{A10}\\(Modo B)};
\draw[cablef,net3V3] (TIOREF) -- ++(0,0.75) node[destino,anchor=south,align=center]{$\leftarrow$ \textbf{3V3} del Blackpill\\(nivel de los UART)};
% bottom header (power) — arrows staggered
\foreach \x/\nm in {5.4/{5V},6.6/{GND}}{\node[padu] (B\nm) at (\x,0.45){}; \node[silk,anchor=south] at (\x,0.66){\nm};}
\foreach \x in {7.6,8.4}{\node[pad] at (\x,0.45){};}
\draw[cablef,net5V] (B5V) -- ++(0,-1.5) node[destino,anchor=north,align=center]{$\leftarrow$ \textbf{SAL}\\(5\,V conmutado, Bloq.~3)};
\draw[cablef,netGND] (BGND) -- ++(0,-0.65) node[destino,anchor=north]{GND común};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape simpleRTK2B Pro, vista superior. Los nombres \texttt{RX1/TX1/RX2/TX2/IOREF}
están serigrafiados junto a los pines de los headers tipo Arduino — búscalos en tu tarjeta
(la posición exacta puede variar; el nombre no). El \textbf{switch} junto al socket elige a
quién conecta el XBee: modo normal $=$ \texttt{UART2}; Modo~B $=$ \texttt{UART1} (libera
UART2 para el relevo del MCU).}
\end{center}
\begin{center}
\begin{adjustbox}{max width=\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
% ---- XBee 4G module ----
\draw[modbody] (0,0) -- (3.4,0) -- (3.4,3.6) -- (2.55,4.35) -- (0.85,4.35) -- (0,3.6) -- cycle;
\node[font=\small\bfseries,text=HelgenIndigo,align=center] at (1.7,3.0){4G NTRIP\\Master};
\node[font=\tiny,text=black!55,align=center] at (1.7,2.25){(formato XBee)};
\draw[draw=black!55,fill=black!12] (0.55,0.35) rectangle (2.85,1.1); \node[font=\tiny] at (1.7,0.72){porta-SIM (Telcel)};
\fill[black!45] (0.75,4.0) circle (0.09); \node[font=\tiny,anchor=west] at (0.9,4.05){u.FL $\times$2 $\rightarrow$ antenas LTE};
\fill[black!45] (0.75,3.6) circle (0.09);
% pins: left column 1-10 top->bottom, right column 11-20 bottom->top
\foreach [count=\i] \y in {3.42,3.11,2.80,2.49,2.18,1.87,1.56,1.25,0.94,0.63}{
\node[patanum,anchor=east] at (-0.5,\y){\i};
\ifnum\i=1 \node[padu] (X\i) at (-0.22,\y){}; \else\ifnum\i=2 \node[padu] (X\i) at (-0.22,\y){}; \else\ifnum\i=3 \node[padu] (X\i) at (-0.22,\y){}; \else\ifnum\i=10 \node[padu] (X\i) at (-0.22,\y){}; \else \node[pad] (X\i) at (-0.22,\y){}; \fi\fi\fi\fi}
\foreach [count=\j] \y in {0.63,0.94,1.25,1.56,1.87,2.18,2.49,2.80,3.11,3.42}{
\pgfmathtruncatemacro{\pn}{10+\j}
\node[pad] at (3.62,\y){}; \node[patanum,anchor=west] at (3.9,\y){\pn};}
% annotations for used pins (single line, no wrap)
\node[destino,anchor=east] at (-1.0,3.42){\sw{net3V3}\;\textbf{1 VCC $\leftarrow$ 3.3\,V} (¡nunca 5\,V!)};
\node[destino,anchor=east] at (-1.0,3.11){\sw{netSig}\;\textbf{2 DOUT} $\rightarrow$ \texttt{RX2} del Pro};
\node[destino,anchor=east] at (-1.0,2.80){\sw{netSig}\;\textbf{3 DIN} $\leftarrow$ pin A9};
\node[destino,anchor=east] at (-1.0,0.63){\sw{netGND}\;\textbf{10 GND}};
% ---- BOB-08276 breakout ----
\draw[modbody] (7.2,-0.1) rectangle (11.4,4.5);
\node[font=\small\bfseries,text=HelgenIndigo,align=center,anchor=north] at (9.3,4.35){breakout XBee\\{\normalfont\scriptsize (SparkFun BOB-08276 o similar)}};
% 2mm sockets (inner)
\foreach \y in {0.5,0.81,...,3.3}{\fill[black!60] (8.35,\y) circle (0.07); \fill[black!60] (10.25,\y) circle (0.07);}
\node[font=\tiny,align=center,text=black!55,rotate=90] at (8.05,1.9){header hembra 2.0\,mm};
% 2.54 rows (outer)
\foreach \y in {0.45,0.765,...,3.3}{\node[pad,inner sep=1.6pt] at (7.55,\y){}; \node[pad,inner sep=1.6pt] at (11.05,\y){};}
\node[font=\tiny,align=center,text=black!55,rotate=90] at (11.3,1.9){pines macho 2.54\,mm $\rightarrow$ protoboard};
\node[font=\scriptsize\bfseries,text=HelgenTeal,anchor=east] at (7.1,3.3){pin 1 $\star$};
\draw[HelgenTeal,line width=0.8pt,-{Stealth[length=1.6mm]}] (7.12,3.3) -- (8.2,3.3);
% arrow module -> breakout
\draw[-{Stealth[length=3mm]},HelgenTeal,line width=1.6pt] (4.6,2.0) -- (6.6,2.0);
\node[font=\scriptsize,align=center,text=HelgenTeal,anchor=south] at (5.6,2.1){se enchufa\\aquí};
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape El 4G NTRIP Master y el breakout que lo adapta a la protoboard. Solo se usan
\textbf{4 patitas}: 1 (VCC a 3.3\,V), 2 (DOUT), 3 (DIN) y 10 (GND). El pin~1 queda en la
esquina marcada en la serigrafía del breakout — el módulo solo entra en una orientación si
respetas esa marca. Cómo armar el puente 2.0\,mm $\rightarrow$ 2.54\,mm: Bloque~9.}
\end{center}
% =====================================================================
\subsection{Transistores y MOSFETs}
\label{sec:transistores}
Los cuatro «bichos de tres patas» del kit. \textbf{Regla:} cuerpo de plástico chico
redondeado $=$ TO-92 (se mira con la \emph{cara plana} hacia ti); cuerpo grande con placa
metálica y orificio $=$ TO-220 (se mira \emph{de frente}, con las letras hacia ti y la placa
metálica atrás). Patitas siempre hacia abajo.
\begin{center}
\begin{adjustbox}{max width=\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
% ---------- TO-92 generic macro drawn twice ----------
% 2N3904
\begin{scope}[shift={(0,0)}]
\draw[draw=HelgenIndigo,fill=black!22,line width=1.1pt] (-1.05,0) -- (1.05,0) arc[start angle=0,end angle=180,radius=1.05] -- cycle;
\node[font=\small\bfseries] at (0,0.52){2N3904};
\node[font=\tiny,text=black!55] at (0,0.16){cara plana hacia ti};
\foreach \x/\nm in {-0.7/E,0/B,0.7/C}{
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
\node[font=\footnotesize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
\node[destino,anchor=north,align=center,text width=3.4cm] at (0,-1.55){E $\rightarrow$ GND\\B $\leftarrow$ 1\,k (A1 o A8)\\C $\rightarrow$ compuerta del IRF9540};
\end{scope}
% LM35
\begin{scope}[shift={(4.6,0)}]
\draw[draw=HelgenIndigo,fill=black!22,line width=1.1pt] (-1.05,0) -- (1.05,0) arc[start angle=0,end angle=180,radius=1.05] -- cycle;
\node[font=\small\bfseries] at (0,0.52){LM35};
\node[font=\tiny,text=black!55] at (0,0.16){cara plana hacia ti};
\foreach \x/\nm in {-0.78/{$+$V\textsubscript{S}},0/OUT,0.78/GND}{
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
\node[font=\scriptsize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
\node[destino,anchor=north,align=center,text width=3.6cm] at (0,-1.55){$+$V\textsubscript{S} $\rightarrow$ \textbf{5\,V} (nunca 3V3)\\OUT $\rightarrow$ pin A7\\GND $\rightarrow$ GND};
\node[font=\scriptsize\bfseries,text=red!70!black,align=center,anchor=north] at (0,-2.9){¡Al revés se quema\\y quema el dedo!};
\end{scope}
% ---------- TO-220: IRF9540N ----------
\begin{scope}[shift={(9.4,-0.6)}]
\draw[draw=black!60,fill=black!30] (-0.95,1.55) rectangle (0.95,2.45); % tab
\draw[fill=white] (0,2.1) circle (0.16);
\draw[draw=HelgenIndigo,fill=black!18,line width=1.1pt] (-0.95,0) rectangle (0.95,1.55);
\node[font=\small\bfseries] at (0,1.05){IRF9540N};
\node[font=\tiny,text=black!55] at (0,0.62){letras hacia ti};
\foreach \x/\nm in {-0.62/G,0/D,0.62/S}{
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
\node[font=\footnotesize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
\node[font=\tiny,text=black!55,anchor=south] at (0,2.5){placa metálica $=$ D (¡no la aterrices!)};
\node[destino,anchor=north,align=center,text width=4.0cm] at (0,-1.55){canal \textbf{P} (corta el lado de 5\,V)\\G $\leftarrow$ C del 2N3904 $+$ 10\,k a 5\,V\\S $\rightarrow$ 5\,V \quad D $\rightarrow$ carga};
\end{scope}
% ---------- TO-220: IRLZ44N ----------
\begin{scope}[shift={(14.2,-0.6)}]
\draw[draw=black!60,fill=black!30] (-0.95,1.55) rectangle (0.95,2.45);
\draw[fill=white] (0,2.1) circle (0.16);
\draw[draw=HelgenIndigo,fill=black!18,line width=1.1pt] (-0.95,0) rectangle (0.95,1.55);
\node[font=\small\bfseries] at (0,1.05){IRLZ44N};
\node[font=\tiny,text=black!55] at (0,0.62){letras hacia ti};
\foreach \x/\nm in {-0.62/G,0/D,0.62/S}{
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
\node[font=\footnotesize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
\node[destino,anchor=north,align=center,text width=4.0cm] at (0,-1.55){canal \textbf{N} «lógico» (ventilador)\\G $\leftarrow$ 220\,$\Omega$ de A6 $+$ 100\,k a GND\\S $\rightarrow$ GND \quad D $\rightarrow$ vent.\ ($-$)};
\end{scope}
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape Los dos TO-92 se distinguen solo por el texto grabado en la cara plana —
léelo con buena luz. Los dos TO-220 también: \textbf{IRF9540N} (canal P, interruptores de
5\,V) e \textbf{IRLZ44N} (canal N lógico, ventilador). Si los cruzas, el bloque no enciende o
el FET se calienta: verifica el texto antes de insertar.}
\end{center}
% =====================================================================
\subsection{Diodos, LEDs y capacitores}
\label{sec:diodos}
\begin{center}
\begin{adjustbox}{max width=\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
% diode
\begin{scope}[shift={(0,0)}]
\draw[black!65,line width=1.4pt] (-1.2,0)--(1.2,0);
\draw[draw=black!60,fill=black!35,rounded corners=1pt] (-0.62,-0.3) rectangle (0.62,0.3);
\fill[white] (0.32,-0.3) rectangle (0.5,0.3);
\node[font=\small\bfseries,anchor=south] at (0,0.42){1N5819};
\node[font=\scriptsize,anchor=north east,align=right] at (-0.75,-0.42){ánodo (A)\\«entra»};
\node[font=\scriptsize\bfseries,anchor=north west,align=left,text=HelgenTeal] at (0.62,-0.42){BANDA $=$\\cátodo (K)};
\node[destino,anchor=north,align=center,text width=4.6cm] at (0,-1.6){la corriente pasa de A $\rightarrow$ K;\\la tabla siempre dice hacia dónde\\apunta la banda};
\end{scope}
% LED
\begin{scope}[shift={(5.6,-0.25)}]
\draw[draw=red!60!black,fill=red!30] (-0.5,0.3) -- (0.5,0.3) arc[start angle=0,end angle=180,radius=0.5] -- cycle;
\draw[red!60!black,line width=0.9pt] (-0.5,0.3)--(0.5,0.3);
\fill[white!0] (-0.5,0.3) rectangle (0.5,0.36);
\draw[line width=1.5pt,black!65] (-0.22,0.3)--(-0.22,-1.15);
\draw[line width=1.5pt,black!65] (0.22,0.3)--(0.22,-0.75);
\node[font=\small\bfseries,anchor=south] at (0,1.0){LED};
\node[font=\scriptsize,anchor=north east,align=right] at (-0.35,-1.25){pata larga\\$=$ ánodo ($+$)};
\node[font=\scriptsize,anchor=north west,align=left] at (0.35,-0.85){corta $=$ cátodo\\$\rightarrow$ GND};
\node[destino,anchor=north,align=center,text width=4.2cm] at (0.1,-2.55){el lado plano del vasito\\también marca el cátodo};
\end{scope}
% electrolytic
\begin{scope}[shift={(11.4,-0.2)}]
\draw[draw=black!60,fill=black!25] (-0.55,0) rectangle (0.55,1.4);
\fill[black!60] (-0.55,0) rectangle (-0.25,1.4);
\node[font=\footnotesize\bfseries,text=white] at (-0.4,0.7){$-$};
\draw[line width=1.5pt,black!65] (-0.3,0)--(-0.3,-0.75);
\draw[line width=1.5pt,black!65] (0.3,0)--(0.3,-1.05);
\node[font=\small\bfseries,anchor=south] at (0,1.5){10\,$\mu$F / 100\,$\mu$F};
\node[font=\scriptsize,anchor=north east,align=right] at (-0.45,-0.85){franja $+$ pata corta\\$=$ negativo $\rightarrow$ GND};
\node[font=\scriptsize,anchor=north west] at (0.45,-1.15){pata larga $=$ $+$};
\end{scope}
% ceramic
\begin{scope}[shift={(15.6,-0.2)}]
\draw[draw=orange!70!black,fill=orange!25] (0,0.55) ellipse (0.55 and 0.5);
\node[font=\scriptsize\bfseries] at (0,0.55){104};
\draw[line width=1.4pt,black!65] (-0.25,0.12)--(-0.25,-0.75);
\draw[line width=1.4pt,black!65] (0.25,0.12)--(0.25,-0.75);
\node[font=\small\bfseries,anchor=south] at (0,1.15){100\,nF};
\node[font=\scriptsize,anchor=north,align=center] at (0,-0.85){dice «104»\\\textbf{sin} polaridad};
\end{scope}
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape Diodos del kit: \textbf{1N5819} (Schottky — OR de respaldo, flyback del
ventilador y clamp de PA5; el BAT54 del plano es SMD, en protoboard usa el 1N5819).
Electrolíticos \textbf{siempre} con la franja a GND: al revés revientan.}
\end{center}
% =====================================================================
\subsection{Resistencias: código de colores}
\label{sec:resistencias}
Solo se usan \textbf{8 valores}. Antes de insertar una, confírmala aquí — y si tiene 5 bandas
o el color no se distingue, \textbf{mídela con el multímetro} (escala $\Omega$).
\hwtab{%
\begin{tabularx}{\textwidth}{@{}l c l X@{}}
\toprule
\rowcolor{HelgenIndigo}\textcolor{white}{\textbf{Valor}} & \textcolor{white}{\textbf{Bandas}} &
\textcolor{white}{\textbf{Colores}} & \textcolor{white}{\textbf{Dónde se usa}}\\
\midrule
100\,$\Omega$ & \resfour{cCafe}{cNegro}{cCafe}{cDorado} & café · negro · café & serie de la ignición al pin A5 (Bloque~4)\\
220\,$\Omega$ & \resfour{cRojo}{cRojo}{cCafe}{cDorado} & rojo · rojo · café & compuerta del IRLZ44N desde A6 (Bloque~5)\\
330\,$\Omega$ & \resfour{cNaranja}{cNaranja}{cCafe}{cDorado} & naranja · naranja · café & todos los LEDs (Bloques 2, 3 y 7)\\
1\,k$\Omega$ & \resfour{cCafe}{cNegro}{cRojo}{cDorado} & café · negro · rojo & base de los 2N3904 (Bloques 3 y 10)\\
4.7\,k$\Omega$ & \resfour{cAmarillo}{cVioleta}{cRojo}{cDorado} & amarillo · violeta · rojo & pull-ups I\textsuperscript{2}C del AHT10 (Bloque~6)\\
10\,k$\Omega$ & \resfour{cCafe}{cNegro}{cNaranja}{cDorado} & café · negro · naranja & divisores $\div$2, pull-ups de compuerta, divisor NTC (Bloques 3, 4, 10, 11)\\
22\,k$\Omega$ & \resfour{cRojo}{cRojo}{cNaranja}{cDorado} & rojo · rojo · naranja & pull-up de A10 a 3V3 (Bloque~9)\\
100\,k$\Omega$ & \resfour{cCafe}{cNegro}{cAmarillo}{cDorado} & café · negro · amarillo & compuerta del IRLZ44N a GND (Bloque~5)\\
\midrule
10\,k 1\,\% (NTC) & \resfive{cCafe}{cNegro}{cNegro}{cRojo}{cCafe} & café · negro · negro · rojo · café & pierna fija del divisor NTC (Bloque~11) — versión de 5 bandas\\
\bottomrule
\end{tabularx}}
% =====================================================================
\subsection{Botones, apagador, NTC y ventilador}
\label{sec:botones}
\begin{center}
\begin{adjustbox}{max width=\textwidth}
\begin{tikzpicture}[x=1cm,y=1cm]
% push button
\begin{scope}[shift={(0,0)}]
\draw[modbody,fill=black!12] (-0.9,-0.9) rectangle (0.9,0.9);
\draw[draw=black!60,fill=black!30] (0,0) circle (0.45);
\foreach \x/\y/\n in {-0.72/0.72/1,0.72/0.72/2,-0.72/-0.72/3,0.72/-0.72/4}{
\draw[line width=1.4pt,black!65] (\x,\y) -- ++({\x/2.4},{\y/2.4}); \node[patanum] at ({\x*1.7},{\y*1.7}){\n};}
\draw[HelgenTeal,line width=1.2pt,densely dashed] (-1.25,1.25) -- (1.25,-1.25);
\node[font=\small\bfseries,anchor=south] at (0,1.6){botón (reset)};
\node[destino,anchor=north,align=center,text width=4.4cm] at (0,-1.7){\textbf{truco:} usa dos patas\\\textbf{en diagonal} y siempre\\queda bien, gírelo como lo gires};
\end{scope}
% SPST switch
\begin{scope}[shift={(5.6,0)}]
\draw[modbody,fill=black!12] (-1.1,-0.55) rectangle (1.1,0.55);
\draw[draw=black!60,fill=HelgenCyan] (-0.65,-0.22) rectangle (0.0,0.22);
\draw[line width=1.5pt,black!65] (-0.55,-0.55)--(-0.55,-1.2); \draw[line width=1.5pt,black!65] (0.55,-0.55)--(0.55,-1.2);
\node[font=\small\bfseries,anchor=south] at (0,0.7){apagador SPST (corte general)};
\node[destino,anchor=north,align=center,text width=4.6cm] at (0,-1.35){2 terminales, sin polaridad:\\nodo SYS $\rightarrow$ apagador $\rightarrow$ riel MAIN5V\\(Bloque 10)};
\end{scope}
% NTC
\begin{scope}[shift={(11.0,0)}]
\draw[draw=black!60,fill=black!20] (0,0.35) circle (0.42);
\node[font=\tiny] at (0,0.35){10k};
\draw[line width=1.4pt,black!65] (-0.18,-0.02)--(-0.18,-0.9); \draw[line width=1.4pt,black!65] (0.18,-0.02)--(0.18,-0.9);
\node[font=\small\bfseries,anchor=south] at (0,0.95){NTC 10\,k (B3950)};
\node[destino,anchor=north,align=center,text width=4.2cm] at (0,-1.05){lenteja negra, \textbf{sin polaridad};\\pégala con cinta al punto caliente\\(pila / módem) — Bloque 11};
\end{scope}
% fan
\begin{scope}[shift={(15.6,-0.1)}]
\draw[modbody,fill=black!10] (-1.0,-1.0) rectangle (1.0,1.0);
\draw[draw=black!55,fill=white] (0,0) circle (0.72);
\foreach \a in {0,90,180,270}{\draw[black!45,line width=1.6pt] (0,0) -- ({0.62*cos(\a+25)},{0.62*sin(\a+25)});}
\draw[cablef,net5V] (0.35,-1.0) -- (0.75,-1.75); \node[font=\scriptsize,anchor=north west,align=left] at (0.6,-1.85){rojo $+$\\$\rightarrow$ 5\,V sep.};
\draw[cablef,netGND] (-0.35,-1.0) -- (-0.75,-1.75); \node[font=\scriptsize,anchor=north east,align=right] at (-0.6,-1.85){negro $-$ $\rightarrow$ D del\\IRLZ44N (¡no a GND!)};
\node[font=\small\bfseries,anchor=south] at (0,1.15){ventilador 2 hilos};
\end{scope}
\end{tikzpicture}
\end{adjustbox}\\
{\small\itshape El cable negro del ventilador \textbf{no} va directo a GND: pasa por el
IRLZ44N (drain), que es quien lo prende y apaga (Bloque~5).}
\end{center}