Como adiciono um resistor e uma fonte de tensão variável?

Como adiciono um resistor e uma fonte de tensão variável?

No momento, estou tentando fazer esse circuito, mas toda vez que faço alguma coisa, ele estremece. O que quero adicionar está em vermelho.

insira a descrição da imagem aqui

Aqui está o código e o resultado

insira a descrição da imagem aqui

   \begin{document}
    \begin{circuitikz}
    \node[op amp, noinv input up] at (0,0) (opamp) {};
    \node[ground] at (-4.69,-5.5) (ground) {};
    \draw (opamp.-) -- ++(-1.15,0) -- ++(0,-2) to[R, l_=$R_1$] ++(0,-2.5) to[short,-*] ++(-2.35,0);
    \draw (opamp.+)(-3,0)to[R, l_=$R_1$] -- ++(-3.5,0) to[V, l_=$v_\text{IN}$,] ++(0,-3) -- (ground);
    \draw (1.66,0) to[short,*-] ++(0,-2.5) to[R, l^=$R_2$, -*] ++(-4,0);
    \draw (opamp.out) to[short,-*] ++(1.5,0) node[shift={(0.6,0)}] {$v_\text{O}$};
    \draw[-latex] (opamp.up) -- ++(0,0.5) node[above] {$V_+$};
    \draw[-latex] (opamp.down) -- ++(0,-0.5) node[below] {$V_-$};

    \node[shift={(0,-0.3)}] at (opamp.-) {\scriptsize$v_-$};
    \node[shift={(0,+0.3)}] at (opamp.+) {\scriptsize$v_+$};

    \end{circuitikz}
    \end{document}

Responder1

Seu principal erro é ignorar os erros que você está recebendo do LaTeX:

wth.tex|8 error| Package tikz Error: (, +, coordinate, pic, or node expected.
wth.tex|8 error| Package pgf Error: No shape named `' is known.
...

Como quase sempre acontece com o LaTeX, apenas o primeiro erro é realmente relevante, o outro pode estar apenas relacionado a uma má interpretação ao tentar ultrapassar o erro encontrado.

A linha em questão é

\draw (opamp.+)(-3,0)to[R, l_=$R_1$] -- ++(-3.5,0)  [...]

E o erro é bastante claro: você precisa de um nó/coordenada depois de a toe você tem um --.

Mude essa linha para

 \draw (opamp.+) to[R, l_=$R_1$]  ++(-3.5,0) to[V, l_=$v_\text{IN}$,] ++(0,-3) -- (ground); 

e você tem:

insira a descrição da imagem aqui

Agora, comosugerido por @Jasper Habicht, você pode adicionar a seta "variável" adicionando um nome ao gerador e usando ométodo mostrado aqui.

O exemplo completo seria:

\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{tikzpicture}[]
    \node[op amp, noinv input up] at (0,0) (opamp) {};
    \node[ground] at (-4.69,-5.5) (ground) {};
    \draw (opamp.-) -- ++(-1.15,0) -- ++(0,-2) to[R, l_=$R_1$] ++(0,-2.5) to[short,-*] ++(-2.35,0);
    \draw (opamp.+) to[R, l_=$R_1$]  ++(-3.5,0) to[V, l_=$v_\text{IN}$, name=myV] ++(0,-3) -- (ground);
    \draw (1.66,0) to[short,*-] ++(0,-2.5) to[R, l^=$R_2$, -*] ++(-4,0);
    \draw (opamp.out) to[short,-*] ++(1.5,0) node[shift={(0.6,0)}] {$v_\text{O}$};
    \draw[-latex] (opamp.up) -- ++(0,0.5) node[above] {$V_+$};
    \draw[-latex] (opamp.down) -- ++(0,-0.5) node[below] {$V_-$};

    \node[shift={(0,-0.3)}] at (opamp.-) {\scriptsize$v_-$};
    \node[shift={(0,+0.3)}] at (opamp.+) {\scriptsize$v_+$};
    \ctikztunablearrow{1}{1.25}{150}{myV}
\end{tikzpicture}
\end{document}

resultando em

insira a descrição da imagem aqui

PS: (Viu? Agora a resposta é muito mais útil porque você sabe de onde veio o erro! E você tem um exemplo de "exemplo mínimo de trabalho", que você deve sempre adicionar às suas perguntas)

Responder2

Com exceção do amplificador operacional com tensões de alimentação o esquema é escrito em um \drawloop:

\documentclass[margin=3mm]{standalone}
\usepackage{amsmath}
\DeclareMathOperator{\IN}{\textsc{in}}
\usepackage{circuitikz}

\begin{document}
    \begin{circuitikz}[american]
\node[op amp, noinv input up]  (oa) {};
    \draw[-stealth] (oa.up)     --  ++  (0,+0.5) node[above] {$V_{+}$};
    \draw[-stealth] (oa.down)   --  ++  (0,-0.5) node[below] {$V_{-}$};
\draw
    (oa.-)  node[below] {\scriptsize $v_-$}
                -|  ++  (-0.5,-1.5) coordinate (aux)
                to [R, a=$R_1$, *-]    ++  (0,-2)
                to [short,-*]   ++  (-3,0)   node (gnd) [ground] {}
                to [V=$V_{\IN}$, name=V]    (gnd |- oa.+) %
                to [R=$R_1$]    ++  (3,0)  -- (oa.+) 
            node[above] {\scriptsize $v_+$} 
    (oa.out)    to [short,]  (oa.out |- aux)
                to [R=$R_2$]    (aux)
    (oa.out)    to [short, -o]  ++  (0.5,0) node[right] {$v_o$}
    ;
    \ctikztunablearrow[thick]{1}{1.2}{-30}{V}
    \end{circuitikz}
\end{document}

informação relacionada