summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzcodeblocks/examples/smarthome.tikz
blob: d3e8c4c3c6961c7dd23cfcb3d4d4c18f260d60e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
\begin{tikzpicture}[codeblocks]
\einruecken{\node[grundlage,pinlow] (start){beim Start};}
	\node[platzhalter,unter={start}{1}{0}] (plz1){ändere \dropdown{modus} auf \intbox{1}};
	\node[konsole,unter={plz1}{0}{0}] (ser1) {serial \\redirect to\\ \hspace{5em} TX \dropdown{C17}\\\hspace{5em} RX \dropdown{C16}\\ at baud rate \dropdown{9600}~};
\end{tikzpicture}
	
\begin{tikzpicture}[codeblocks]
\wenndann[eingabe]
	{Knopf \dropdown{A} gedrückt} 
	{
	 \node[konsole] (ser1) {serial write line \stringbox{test\_line}};
	 \node[steuerung, unter={ser1}{0}{0}]  (wait1){Warte $\mu$ \intbox{300000}};
	}
	{buttonA}
\end{tikzpicture}


\begin{tikzpicture}[codeblocks]

\schleife[konsole]{\usb{}}{serial on data recived \usb{} \dropdown{\#}}{
	\node[platzhalter, unter={start}{1}{0}] (plz1) {ändere \dropdown{befehl} auf \tikz\node[konsole,boden,keinezacken,puzzleteil,]{\usb{} serial read until \dropdown{\#}};};
	\wenndann[unter={plz1}{0}{0}]{\tikz\node[pins,boden,keinezacken,puzzleteil]{\dropdown{befehl}}; \dropdown{=} \stringbox{aus}}{
			\node[pins] (pin1) {schreibe analogen Pin \dropdown{P2} auf \intbox{0}};
			\node[pins,unter={pin1}{0}{0}] (pin2) {ändere \dropdown{modus} auf \intbox{0}};	
	}{wenn1}
	\wenndann[unter={wenn1}{0}{0}]{\tikz\node[pins,boden,keinezacken,puzzleteil]{\dropdown{befehl}}; \dropdown{=} \stringbox{ein}}{
		\node[pins] (pin2) {ändere \dropdown{modus} auf \intbox{1}};	
	}{wenn2}
	\wenndann[unter={wenn2}{0}{0}]{\tikz\node[pins,boden,keinezacken,puzzleteil]{\dropdown{befehl}}; \dropdown{=} \stringbox{solar}}{
		\node[pins] (pin3) {schreibe analogen Pin \dropdown{P2} auf \intbox{1023}};
		\node[pins,unter={pin3}{0}{0}] (pin2) {ändere \dropdown{solar} auf \intbox{1}};	
	}{wenn3}
	\wenndann[unter={wenn3}{0}{0}]{\tikz\node[pins,boden,keinezacken,puzzleteil]{\dropdown{befehl}}; \dropdown{=} \stringbox{solar\_aus}}{
		\node[pins] (pin4) {schreibe analogen Pin \dropdown{P2} auf \intbox{0}};	
	}{wenn4}
}%ende Schleifenrumpf
{start}
\end{tikzpicture}


\begin{tikzpicture}[codeblocks,scale=0.72]
\schleife[grundlage,keinezacken]{dauerhaft}{}{
	\wenndannsonst[robertashape]{\tikz\node[platzhalter,boden,keinezacken,puzzleteil]{\dropdown{modus}}; \dropdown{=} \intbox{1}} %wenn außen
	{
		\wenndann{\tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$\leq$}\intbox{50}}
			{\node[pins](pin1){schreibe analogen Ping \dropdown{P1} auf \intbox{1023}};
				\node[grundlage,unter={pin1}{0}{0}](bild1){zeige LEDs\\\bild{\emptyled}};
			}{wenn1}
		
		\wenndann[unter={wenn1}{0}{0}]{\tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$>$}\intbox{50} \dropdown{und} \tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$\leq$}\intbox{100}}{
			\node[pins](pin2){schreibe analogen Ping \dropdown{P1} auf \intbox{800}};
			\node[grundlage,unter={pin2}{0}{0}](bild2){zeige LEDs\\
				\bild{\0 \0 \0 \0 \0 \\
					\0 \0 \0 \0 \0 \\
					\0 \0 \0 \0 \0 \\
					\0 \X \0 \0 \0 \\
					\X \X \0 \0 \0 \\
			}};}{wenn2}
		
		\wenndann[unter={wenn2}{0}{0}]{\tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$>$}\intbox{100} \dropdown{und} \tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$\leq$}\intbox{150}}{\node[pins](pin3){schreibe analogen Ping \dropdown{P1} auf \intbox{600}};
			\node[grundlage,unter={pin3}{0}{0}](bild3){zeige LEDs\\
				\bild{
					\0 \0 \0 \0 \0 \\
					\0 \0 \0 \0 \0 \\
					\0 \0 \X \0 \0 \\
					\0 \X \X \0 \0 \\
					\X \X \X \0 \0 \\
			}};}{wenn3}
		
		\wenndann[unter={wenn3}{0}{0}]{\tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$>$}\intbox{150} \dropdown{und} \tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$\leq$}\intbox{200}}{\node[pins](pin4){schreibe analogen Ping \dropdown{P1} auf \intbox{200}};
			\node[grundlage,unter={pin4}{0}{0}](bild4){zeige LEDs\\
				\bild{
					\0 \0 \0 \0 \0 \\
					\0 \0 \0 \X \0 \\
					\0 \0 \X \X \0 \\
					\0 \X \X \X \0 \\
					\X \X \X \X \0 \\
			}};}{wenn4}
		
		\wenndann[unter={wenn3}{0}{0}]{\tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$>$}\intbox{200} \dropdown{und} \tikz\node[eingabe,boden,keinezacken,puzzleteil]{Lichtstärke}; \dropdown{$\leq$}\intbox{255}}{\node[pins](pin5){schreibe analogen Ping \dropdown{P1} auf \intbox{0}};
			\node[grundlage,unter={pin5}{0}{0}](bild5){zeige LEDs\\
				\bild{
					\0 \0 \0 \0 \X \\
					\0 \0 \0 \X \X \\
					\0 \0 \X \X \X \\
					\0 \X \X \X \X \\
					\X \X \X \X \X \\
			}};}{wenn5}
	}%dann außen
	{\node[pins](pin6){schreibe analogen Ping \dropdown{P1} auf \intbox{0}};
		\node[grundlage,unter={pin6}{0}{0}](bild5){zeige LEDs\\
			\bild{
				\X \0 \0 \0 \X \\
				\0 \X \0 \X \0 \\
				\0 \0 \X \0 \0 \\
				\0 \X \0 \X \0 \\
				\X \0 \0 \0 \X \\
		}};}% sonst außen
	{wenn}
}{schleife1}
\end{tikzpicture}