    \begin{tikzpicture}[>=stealth]
      \draw[fill=black,opacity=0.1] (1.75,-5) rectangle (3.25,2);
      \draw (-1,0) -- (1.75,0) edge[out=0, in=180] (3.25,-1) (3.25,-1) -- (6,-1)
            (-1,-3) -- (1.75,-3) edge[out=0, in=180] (3.25,-4) (3.25,-4) -- (6,-4);
%            (0,-2.5) edge[dashed] (6,-2.5);
%      \node[anchor=south east] at (6,-2.5) {$E_F$};
      \node[anchor=south east] at (6,-1) {$E_C$};
      \node[anchor=south east] at (6,-4) {$E_V$};
      \draw[dotted] (2.5,-5) -- (2.5,2) (1.75,-5) -- (1.75,2) (3.25,-5)--(3.25,2);
      \draw[dotted] (3.25,-1) -- (-1,-1);
      \node at (0.5,1.5) {\large P};
      \node at (2.5,1.5) {\large $\longleftarrow \mathcal{E}$};     
      \node at (5.5,1.5) {\large N};
      \foreach \i in {0,1,2,3} {
        \pgfmathparse{0.25*\i};
        \node[circle,draw=black,inner sep=0,anchor=south west] at ($(3.25,-1)+0.33*(\i,0)$) {\small $-$};
        \node[circle,draw=black,inner sep=0,anchor=north east] at ($(1.75,-3)-0.33*(\i,0)$) {\small $+$};
      };
      \node[circle,draw=red,inner sep=0,anchor=south east,red,xshift=-0.1cm,yshift=0.1cm] at (1.75,0) (minminus) {\small $-$};
      \node[circle,draw=red,inner sep=0,anchor=north west,red,xshift=0.1cm,yshift=-0.1cm] at (3.25,-4) (minplus) {\small $+$};

      \draw (minplus.north) ++(-0.05,0.05) edge[out=100,in=0,red,thick] ++(-0.5,1.25) coordinate (a);
      \draw (minplus.north) ++ (-0.55,1.3)  edge[-triangle 45,red,thick] ++(-0.5,0);
      \draw (minminus.south) ++(0.05,-0.05) edge[out=-80,in=180,red,thick] ++(0.5,-1.25) coordinate (a);
      \draw (minminus.south) ++ (0.55,-1.3)  edge[-triangle 45,red,thick] ++(0.5,0);

      \draw[<->] (-0.5,-1) -- (-0.5,0);
      \node[anchor=west] at (-0.5,-0.5) {\small $q\left(V_0 - V_F\right)$};
    \end{tikzpicture}
