Ponte di Wheatstone in tikz e utilizzo come simbolo

  • Creatore
    Topic
  • #103273
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    una domanda: devo disegnare il simbolo di una cella di carico e pensavo di farlo mettendo dentro un quadrato le quattro resistenze come nel ponte di Wheatstone.
    Ho provato questo codice:
    `
    \ctikzset { bipoles/resistor/height =.1}
    \ctikzset { bipoles/resistor/width =.2}
    \draw(2,2) to[R,l=$ $] (1,1) to[R,l=$ $] (2,0);
    \draw (2,2) to[R=$ $] (3,1)to[R=$ $] (2,0);
    `

    Il risultato sembra proporzionato. Ora per metterlo dentro ad un quadrato ed usarlo come simbolo a se (inoltre lo devo anche scalare molto quando lo inserirò) come si fa? Non ci riesco a tirar fuori le gambe!

    Grazie
    Marco

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #103274
      Liverpool
      Partecipante
        Up
        0
        Down
        ::


        Vedi l’introduzione ai [tt]pic[/tt] ne L’Arte di disegnare con LaTeX oppure nel manuale di [tt]TikZ[/tt].

      • #103275
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          warcomeb” post=103284Buongiorno a tutti,
          una domanda: devo disegnare il simbolo di una cella di carico e pensavo di farlo mettendo dentro un quadrato le quattro resistenze come nel ponte di Wheatstone.
          Ho provato questo codice:
          `
          \ctikzset { bipoles/resistor/height =.1}
          \ctikzset { bipoles/resistor/width =.2}
          \draw(2,2) to[R,l=$ $] (1,1) to[R,l=$ $] (2,0);
          \draw (2,2) to[R=$ $] (3,1)to[R=$ $] (2,0);
          `

          Il risultato sembra proporzionato. Ora per metterlo dentro ad un quadrato ed usarlo come simbolo a se (inoltre lo devo anche scalare molto quando lo inserirò) come si fa? Non ci riesco a tirar fuori le gambe!

          Grazie
          Marco

          Scusate,
          potete dire che pacchetto TikZ state usando?

          Ma ti serve un simbolo “standalone” oppure un simbolo da inserire in un disegno tikzpicture?
          R.

        • #103276
          Up
          0
          Down
          ::


          Si hai ragione, mi sono dimenticato di dire che uso circuitikz. Standalone nel senso che lo volevo integrare più volte all’interno del disegno.
          ho provato questo:
          `
          \begin{circuitikz}[scale=0.7]
          \ctikzset { bipoles/resistor/height =.1}
          \ctikzset { bipoles/resistor/width =.2}

          \tikzset
          {wheatstone/.pic={
          \draw(1,1.9) to[R] (0.1,1) to[R] (1,0.1);
          \draw (1,1.9) to[R] (1.9,1) to[R] (1,0.1);
          \draw[thick] (0,0) rectangle (2,2);
          }
          }

          \pic [scale=1] at (5,5) {wheatstone};
          `
          Quello che succede è quando inserisco il “blocchettino” questo diventa molto più grande di come l’ho dimensionato io nel pic, e quindi quando lo devo scalare non ci raccapezzo niente!

          Grazie
          Marco

        • #103277
          Liverpool
          Partecipante
            Up
            0
            Down
            ::

            warcomeb” post=103287Quello che succede è quando inserisco il “blocchettino” questo diventa molto più grande di come l’ho dimensionato io nel pic, e quindi quando lo devo scalare non ci raccapezzo niente!

            A me sembra che venga esattamente delle dimensioni che hai indicato nel pic:
            `\documentclass[tikz]{standalone}
            \usepackage{circuitikz}
            \ctikzset{bipoles/resistor/height=.1}
            \ctikzset{bipoles/resistor/width=.2}
            \tikzset{wheatstone/.pic={
            \draw(1,1.9) to[R] (0.1,1) to[R] (1,0.1);
            \draw (1,1.9) to[R] (1.9,1) to[R] (1,0.1);
            \draw[thick] (0,0) rectangle (2,2);
            }
            }
            \begin{document}
            \begin{circuitikz}
            \pic at (1,1) {wheatstone};
            \draw [help lines] (0,0) grid (4,4);
            \fill (0,0) circle (2pt) (1,1) circle (2pt);
            \node [above right] at (0,0) {$(0,0)$};
            \node [below right] at (1,1) {$(1,1)$};
            \end{circuitikz}
            \end{document}`
            Per favore, in futuro riporta un esempio minimo compilabile.

          • #103278
            Up
            0
            Down
            ::


            Hai ragione, scusa!
            Ecco il codice:
            `\documentclass[a4paper,10pt,twocolumn,conference]{IEEEtran}

            \usepackage[utf8]{inputenc}
            \usepackage[T1]{fontenc}

            %\usepackage{cite,subfigure}
            \usepackage{graphicx}
            \usepackage{color}
            \usepackage{amsmath,amsfonts,amssymb,bm,latexsym,txfonts,units}
            %\usepackage[amssymb,italian,mediumspace,cdot]{SIunits}
            \usepackage[binary-units]{siunitx}
            \usepackage{booktabs}
            \usepackage{dcolumn}
            \usepackage{multicol}
            \usepackage{multirow}

            \usepackage{pgfplots}
            \pgfplotsset{/pgf/number format/use comma,compat=newest}
            \usetikzlibrary{calc}
            \usepackage{circuitikz}
            \usepackage{xcolor}
            \usetikzlibrary{shapes.geometric}

            \usepackage{subfig}

            \def\antenna{%
            — +(0mm,4.0mm) — +(2.625mm,7.5mm) — +(-2.625mm,7.5mm) — +(0mm,4.0mm)
            }

            \title{prova}

            \DeclareSIUnit{\dBm}{\decibel{}\milli}
            \DeclareSIUnit{\dBd}{\decibel{}d}
            \DeclareSIUnit{\dBw}{\decibel{}\watt}

            \author{%
            \IEEEauthorblockN{qqq}%
            \IEEEauthorblockA{0000}
            }

            \begin{document}

            \maketitle
            \pagestyle{empty}

            \begin{figure*}
            \centering

            \begin{circuitikz}[scale=0.7]
            \ctikzset { bipoles/resistor/height =.1}
            \ctikzset { bipoles/resistor/width =.2}
            \ctikzset { bipoles/twoport/height =.4}
            \ctikzset { bipoles/twoport/width =.4}

            \ctikzset { bipoles/amp/width =.4}
            %\ctikzset { bipoles/amp/height =.5}
            \ctikzset { bipoles/lowpass/width =.4}
            %\ctikzset { bipoles/lowpass/height =.5}

            \tikzset
            {wheatstone/.pic={
            \draw(1,1.9) to[R] (0.1,1) to[R] (1,0.1);
            \draw (1,1.9) to[R] (1.9,1) to[R] (1,0.1);
            \draw[thick] (0,0) rectangle (2,2);
            }
            }

            \draw[help lines,pink] (0,0) grid (20,11);
            \node

            at (19,10.25) {\footnotesize{Hive Node}};
            \draw [thick] (1,1) rectangle (19,10);

            % Kinetis
            \draw[rounded corners, thick, fill=orange, fill opacity=.2] (8,5) rectangle (12,9);
            \node at (10,7.25) {\footnotesize{a}};
            \node at (10,6.75) {\footnotesize{b}};

            % Acc
            \draw[thick, fill=green, fill opacity=.2] (2,6.1) rectangle (3,8.9);
            \node [rotate=90] at (2.5,7.5) {\footnotesize{Accelerometer}};

            % Microphone
            \draw[thick,fill=yellow, fill opacity=0.2] (17.5,3.5) circle (.4);
            \draw[thick] (17.9,3.1) rectangle (17.9,3.9);
            \draw[thick,fill=yellow, fill opacity=0.2] (17.5,2.5) circle (.4);
            \draw[thick] (17.9,2.1) rectangle (17.9,2.9);

            % Load Cells
            \pic [scale=1] at (17.1,5.1) {wheatstone};

            % T&H
            \draw[thick, fill=blue, fill opacity=.2] (1.5,2) rectangle (2.5,3);
            \node at (2,2.75) {\scriptsize{T\&H}};
            \node at (2,2.25) {\scriptsize{1}};
            \draw[latex-latex] (2,3) — (2,4);

            \draw[thick, fill=blue, fill opacity=.2] (3,2) rectangle (4,3);
            \node at (3.5,2.75) {\scriptsize{T\&H}};
            \node at (3.5,2.25) {\scriptsize{2}};
            \draw[latex-latex] (3.5,3) — (3.5,4);

            \node at (4.5,2.5) {\scriptsize{$\cdots$}};

            \draw[thick, fill=blue, fill opacity=.2] (5,2) rectangle (6,3);
            \node at (5.5,2.75) {\scriptsize{T\&H}};
            \node at (5.5,2.25) {\scriptsize{16}};
            \draw[latex-latex] (5.5,3) — (5.5,4);

            \draw

            % Accellerometer
            (3.5,8.5) to[amp,n=amp1,>] ++(2,0)
            (3.5,7.5) to[amp,n=amp2,>] ++(2,0)
            (3.5,6.5) to[amp,n=amp3,>] ++(2,0)
            (amp1.east) to[lowpass,n=lp1,>] ++(2,0)
            (amp2.east) to[lowpass,n=lp2,>] ++(2,0)
            (amp3.east) to[lowpass,n=lp3,>] ++(2,0)
            (lp1.east) to[short,i=x] (8,8.5)
            (lp2.east) to[short,i=y] (8,7.5)
            (lp3.east) to[short,i=z] (8,6.5)
            (amp1.west) — (3,8.5)
            (amp2.west) — (3,7.5)
            (amp3.west) — (3,6.5)

            % Load Cell
            (16.5,8.5) to[amp,n=ampLC1,>] ++(-2,0)
            (16.5,7.5) to[amp,n=ampLC2,>] ++(-2,0)
            (16.5,6.5) to[amp,n=ampLC3,>] ++(-2,0)
            (16.5,5.5) to[amp,n=ampLC4,>] ++(-2,0)
            (ampLC1.east) to[lowpass,n=lpLC1,>] ++(-2,0)
            (ampLC2.east) to[lowpass,n=lpLC2,>] ++(-2,0)
            (ampLC3.east) to[lowpass,n=lpLC3,>] ++(-2,0)
            (ampLC4.east) to[lowpass,n=lpLC4,>] ++(-2,0)

            % Microphone
            (16.5,3.5) to[amp,n=ampMIC1,>] ++(-2,0)
            (16.5,2.5) to[amp,n=ampMIC2,>] ++(-2,0)
            (ampMIC1.east) to[lowpass,n=lpMIC1,>] ++(-2,0)
            (ampMIC2.east) to[lowpass,n=lpMIC2,>] ++(-2,0)
            (ampMIC1.west) — (17.1,3.5)
            (ampMIC2.west) — (17.1,2.5)
            ;

            \draw[-latex] (lpMIC1.east) -| (11.5,5);
            \draw[-latex] (lpMIC2.east) -| (11,5);

            % Connection for I2C
            \node [above] at (4.5,4) {\scriptsize{I2C}};
            \draw[latex-latex] (1.5,4) -| (8.5,5);

            \end{circuitikz}
            \caption{probvaa}
            \label{fig:node}
            \end{figure*}

            \end{document}`

            Quando metto lo [scale=0.7] il ponte diventa molto più grande, altrimenti tutto funziona!!
            Come è possibile?

            Grazie
            Marco

          • #103279
            Liverpool
            Partecipante
              Up
              0
              Down
              ::

              warcomeb” post=103289Quando metto lo [scale=0.7] il ponte diventa molto più grande, altrimenti tutto funziona!!

              Se vuoi scalare anche il [tt]pic[/tt], devi usare l’opzione [tt]transform shape[/tt], oppure ripetere localmente l’opzione [tt]scale[/tt]. Il risultato è un po’ diverso: con`
              \pic [transform shape] at (17.1,5.1) {wheatstone};` viene scalato tutto (anche i componenti nella loro lunghezza e altezza); invece con`
              \pic [scale=0.7] at (17.1,5.1) {wheatstone};`viene scalato il disegno nel pic, ma non i componenti che sono definiti altrove.
              A te la scelta.

              Ciao

          Visualizzazione 5 filoni di risposte
          • Devi essere connesso per rispondere a questo topic.

          Go to top