<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.hackerspace-bamberg.de/index.php?action=history&amp;feed=atom&amp;title=Macroschlitten</id>
	<title>Macroschlitten - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.hackerspace-bamberg.de/index.php?action=history&amp;feed=atom&amp;title=Macroschlitten"/>
	<link rel="alternate" type="text/html" href="https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;action=history"/>
	<updated>2026-04-29T23:15:54Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Hackerspace Bamberg - Backspace</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6604&amp;oldid=prev</id>
		<title>Ptflea am 1. September 2014 um 21:45 Uhr</title>
		<link rel="alternate" type="text/html" href="https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6604&amp;oldid=prev"/>
		<updated>2014-09-01T21:45:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;amp;diff=6604&amp;amp;oldid=6502&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Ptflea</name></author>
	</entry>
	<entry>
		<id>https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6502&amp;oldid=prev</id>
		<title>Ptflea am 11. August 2014 um 16:23 Uhr</title>
		<link rel="alternate" type="text/html" href="https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6502&amp;oldid=prev"/>
		<updated>2014-08-11T16:23:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;amp;diff=6502&amp;amp;oldid=6046&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Ptflea</name></author>
	</entry>
	<entry>
		<id>https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6046&amp;oldid=prev</id>
		<title>Schinken am 16. Juni 2014 um 13:47 Uhr</title>
		<link rel="alternate" type="text/html" href="https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6046&amp;oldid=prev"/>
		<updated>2014-06-16T13:47:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 16. Juni 2014, 13:47 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;Zeile 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Stepper läuft mit 12V&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Stepper läuft mit 12V&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hier ist der &lt;/del&gt;Ardunio-Code&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== &lt;/ins&gt;Ardunio-Code &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;mw-collapsible  mw-collapsed&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;mw-collapsible  mw-collapsed&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l166&quot;&gt;Zeile 166:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 166:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hier ist der &lt;/del&gt;Processing-Code&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== &lt;/ins&gt;Processing-Code &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div class=&quot;mw-collapsible  mw-collapsed&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import processing.serial.*;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import processing.serial.*;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l279&quot;&gt;Zeile 279:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 280:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== &lt;/ins&gt;Knitty: passap Firmware &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Knitty: passap Firmware&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div class=&quot;mw-collapsible  mw-collapsed&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//////////////////////////////////////////////////////////////////////////////&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//////////////////////////////////////////////////////////////////////////////&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l684&quot;&gt;Zeile 684:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 685:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Schinken</name></author>
	</entry>
	<entry>
		<id>https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6045&amp;oldid=prev</id>
		<title>Schinken am 16. Juni 2014 um 13:46 Uhr</title>
		<link rel="alternate" type="text/html" href="https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6045&amp;oldid=prev"/>
		<updated>2014-06-16T13:46:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 16. Juni 2014, 13:46 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Zeile 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hier ist der Ardunio-Code:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hier ist der Ardunio-Code:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div class=&quot;mw-collapsible  mw-collapsed&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l163&quot;&gt;Zeile 163:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 164:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hier ist der Processing-Code:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hier ist der Processing-Code:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Schinken</name></author>
	</entry>
	<entry>
		<id>https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6037&amp;oldid=prev</id>
		<title>Ptflea am 14. Juni 2014 um 17:06 Uhr</title>
		<link rel="alternate" type="text/html" href="https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=6037&amp;oldid=prev"/>
		<updated>2014-06-14T17:06:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;amp;diff=6037&amp;amp;oldid=5260&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Ptflea</name></author>
	</entry>
	<entry>
		<id>https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=5260&amp;oldid=prev</id>
		<title>Ptflea: Die Seite wurde neu angelegt: „{{Infobox Projekt |name            = Macroschlitten |kategorie       = Hardware |status          = stable |autor           = ptflea |beschreibung    =  |image …“</title>
		<link rel="alternate" type="text/html" href="https://www.hackerspace-bamberg.de/index.php?title=Macroschlitten&amp;diff=5260&amp;oldid=prev"/>
		<updated>2014-01-18T16:33:36Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „{{Infobox Projekt |name            = Macroschlitten |kategorie       = Hardware |status          = stable |autor           = ptflea |beschreibung    =  |image …“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Projekt&lt;br /&gt;
|name            = Macroschlitten&lt;br /&gt;
|kategorie       = Hardware&lt;br /&gt;
|status          = stable&lt;br /&gt;
|autor           = ptflea&lt;br /&gt;
|beschreibung    = &lt;br /&gt;
|image           = &lt;br /&gt;
|imagesize       = 300&lt;br /&gt;
|version         = 0.5&lt;br /&gt;
|visible           = false&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
Stepper läuft mit 12V&lt;br /&gt;
&lt;br /&gt;
Hier ist der Ardunio-Code:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;AFMotor.h&amp;gt;&lt;br /&gt;
#include &amp;lt;AccelStepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Connect a stepper motor with 48 steps per revolution (7.5 degree)&lt;br /&gt;
// to motor port #2 (M3 and M4)&lt;br /&gt;
int incomingByte;  &lt;br /&gt;
char Data[8];&lt;br /&gt;
int i;&lt;br /&gt;
unsigned long Zeit;&lt;br /&gt;
int bewegung;&lt;br /&gt;
int schritte;&lt;br /&gt;
&lt;br /&gt;
int motorStepsPerRev = 200;&lt;br /&gt;
float currentMaxSpeed = 1200.0;&lt;br /&gt;
float currentAcceleration = 300.0;&lt;br /&gt;
const int stepType = INTERLEAVE;&lt;br /&gt;
&lt;br /&gt;
AF_Stepper motor1(motorStepsPerRev, 2);&lt;br /&gt;
AF_Stepper motor2(motorStepsPerRev, 1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void forwarda() {  &lt;br /&gt;
  motor1.onestep(FORWARD, stepType);&lt;br /&gt;
}&lt;br /&gt;
void backwarda() {  &lt;br /&gt;
  motor1.onestep(BACKWARD, stepType);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
AccelStepper accelA(forwarda, backwarda);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void forwardb() {  &lt;br /&gt;
  motor2.onestep(FORWARD, stepType);&lt;br /&gt;
}&lt;br /&gt;
void backwardb() {  &lt;br /&gt;
  motor2.onestep(BACKWARD, stepType);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
AccelStepper accelB(forwardb, backwardb);&lt;br /&gt;
&lt;br /&gt;
int range_in;&lt;br /&gt;
int byte_in[2];         // variable to store the VALID data from the port&lt;br /&gt;
char nextMsg;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
 &lt;br /&gt;
  motor1.setSpeed(50);  // in rpm &lt;br /&gt;
  motor2.setSpeed(50);  // in rpm&lt;br /&gt;
  &lt;br /&gt;
  //Accelstepper Setup&lt;br /&gt;
  accelA.setMaxSpeed(currentMaxSpeed);&lt;br /&gt;
  accelA.setAcceleration(currentAcceleration);  &lt;br /&gt;
  accelB.setMaxSpeed(currentMaxSpeed);&lt;br /&gt;
  accelB.setAcceleration(currentAcceleration);&lt;br /&gt;
  &lt;br /&gt;
  accelA.setMinPulseWidth(10);&lt;br /&gt;
  accelB.setMinPulseWidth(10);&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  digitalWrite(13, HIGH); //turn on LED to indicate program has started&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
   do {&lt;br /&gt;
     // Wenn Daten verfügbar Zeichen in Data schreiben bis 4 Zeichen erreicht oder 0,5 Sekunden Warten nach dem ersten übertragenen byte&lt;br /&gt;
     if (Serial.available()) {&lt;br /&gt;
	if (i == 0)&lt;br /&gt;
            {&lt;br /&gt;
              bewegung = Serial.read();&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
             Data[i-1] = Serial.read();&lt;br /&gt;
         }&lt;br /&gt;
	 i++;&lt;br /&gt;
	 }    &lt;br /&gt;
     if(i&amp;lt;1)Zeit = millis();&lt;br /&gt;
     } while (i&amp;lt;4&amp;amp;&amp;amp;(millis()-Zeit) &amp;lt; 500); //nach i&amp;lt; kommt die Anzahl der Zeichen&lt;br /&gt;
    // Serial.flush(); //empty serial buffer&lt;br /&gt;
       // Abschließende Null für gültigen String&lt;br /&gt;
     Data[i-1] = 0;    &lt;br /&gt;
    &lt;br /&gt;
     schritte = atof(Data);  // Wert von String zu Zahl wandeln wenn gewünscht&lt;br /&gt;
     i=0;&lt;br /&gt;
     decodeMessage(bewegung, schritte); &lt;br /&gt;
     &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void decodeMessage(int msg, int range){&lt;br /&gt;
  int faktor = 5;&lt;br /&gt;
  //check command type and command value&lt;br /&gt;
  if(bitRead(msg, 0) == 1){&lt;br /&gt;
    //Bit 1 = High   DOWN (1)&lt;br /&gt;
   // motor1.step(faktor, FORWARD, INTERLEAVE); &lt;br /&gt;
    	accelA.move(-range);&lt;br /&gt;
	accelA.runToPosition();&lt;br /&gt;
  }&lt;br /&gt;
  if(bitRead(msg, 1) == 1){&lt;br /&gt;
    //Bit 2 = High   UP (2)&lt;br /&gt;
    //motor1.step(faktor, BACKWARD, INTERLEAVE); &lt;br /&gt;
	accelA.move(range);&lt;br /&gt;
	accelA.runToPosition(); &lt;br /&gt;
  }&lt;br /&gt;
  if(bitRead(msg, 2) == 1){&lt;br /&gt;
    //Bit 3 = High   LEFT (4)&lt;br /&gt;
    motor1.step(faktor, FORWARD, INTERLEAVE); &lt;br /&gt;
  }&lt;br /&gt;
  if(bitRead(msg, 3) == 1){&lt;br /&gt;
    //Bit 4 = High   RIGHT (8)&lt;br /&gt;
    motor1.step(faktor, BACKWARD, INTERLEAVE); &lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  if((msg &amp;amp; 15) == 0){&lt;br /&gt;
    //Bit 1-4 = Low&lt;br /&gt;
    //sendMsg(000); //send a message back for testing purposes&lt;br /&gt;
  }&lt;br /&gt;
  sendMsg(msg, range);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void sendMsg(int msg, int range){&lt;br /&gt;
  /* Processing uses Serial.buffer(4) to read the messages it receives,&lt;br /&gt;
   * meaning that messages of 4 bytes long should be sent.&lt;br /&gt;
   * Arduino sends integers as Strings, so to ensure 4 characters are sent&lt;br /&gt;
   * for each message, I check the size of the integer to send and add zeroes&lt;br /&gt;
   * as needed (zeroes ensure that the received message can easily be cast&lt;br /&gt;
   * to an integer by Processing, which would not be the case with other, non-numerical, characters)&lt;br /&gt;
   */&lt;br /&gt;
  //if(Serial.available() &amp;gt; 0) Serial.flush();&lt;br /&gt;
//  if(msg &amp;lt; 1000) Serial.print(0);&lt;br /&gt;
//  if(msg &amp;lt; 100) Serial.print(0);&lt;br /&gt;
//  if(msg &amp;lt; 10) Serial.print(0);&lt;br /&gt;
  //delay(1000); &lt;br /&gt;
  &lt;br /&gt;
  Serial.print(range); //...send a confirmation&lt;br /&gt;
  Serial.println(msg);&lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hier ist der Processing-Code:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
Serial myPort;&lt;br /&gt;
PFont font;&lt;br /&gt;
&lt;br /&gt;
String Schritte = &amp;quot;333&amp;quot;;&lt;br /&gt;
int msgQueue[]; //the message queue&lt;br /&gt;
boolean msgLock; //message lock, active until last message is confirmed&lt;br /&gt;
int lstMsg; //last message sent&lt;br /&gt;
int schritt = 125;&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  size(400, 300);&lt;br /&gt;
  background(0);&lt;br /&gt;
  font = createFont(&amp;quot;Verdana&amp;quot;, 14);&lt;br /&gt;
  &lt;br /&gt;
  msgQueue = new int[0];&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  println(Serial.list());&lt;br /&gt;
 myPort = new Serial(this, Serial.list()[Serial.list().length - 1], 9600); //the highest connected COM port is always my Arduino&lt;br /&gt;
  //myPort.buffer(4); //buffer 4 bytes of data before calling serialEvent()&lt;br /&gt;
  myPort.bufferUntil(&amp;#039;\n&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw(){&lt;br /&gt;
  background(0);&lt;br /&gt;
  textFont(font, 14);&lt;br /&gt;
  text(&amp;quot;Taste 8: vorwärts\nTaste 7: weit vorwärts\n\nTaste 2: zurück\nTaste 1: weit zurück\n\n9 -&amp;gt; Schritt erhöhen\n3 -&amp;gt; Schritt verkleinern&amp;quot;, 25, 25);&lt;br /&gt;
  text(&amp;quot;Schritte: &amp;quot; + schritt, 25, 230);&lt;br /&gt;
  parseQueue();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed(){&lt;br /&gt;
  if(int(key) == 50){// Taste 2 DOWN&lt;br /&gt;
    queueMessage(2); //&lt;br /&gt;
    //Schritte = Integer.toString(schritt);&lt;br /&gt;
    queueMessage(schritt);&lt;br /&gt;
  }&lt;br /&gt;
    if(int(key) == 56){// Taste 8 UP&lt;br /&gt;
    queueMessage(1); // &lt;br /&gt;
    //Schritte = Integer.toString(schritt);&lt;br /&gt;
     queueMessage(schritt);&lt;br /&gt;
  }&lt;br /&gt;
    if(int(key) == 51){// Taste 3 Schritt verkleinern&lt;br /&gt;
    schritt = schritt - 5;&lt;br /&gt;
  }&lt;br /&gt;
    if(int(key) == 57){// Taste 9 Schritt erhöhen&lt;br /&gt;
    schritt = schritt + 5;&lt;br /&gt;
  }&lt;br /&gt;
    if(int(key) == 55){ //Taste 7 Grosser Schritt UP&lt;br /&gt;
    queueMessage(1); // &lt;br /&gt;
    queueMessage(600);&lt;br /&gt;
  }&lt;br /&gt;
    if(int(key) == 49){ //Taste 1 Grosser Schritt DOWN&lt;br /&gt;
    queueMessage(2); // &lt;br /&gt;
    queueMessage(600);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* serialEvent(Serial myPort)&lt;br /&gt;
 * called when the amount of bytes specified in myPort.buffer()&lt;br /&gt;
 * have been transmitted, converts serial message to integer,&lt;br /&gt;
 * then sets this value in the chair object&lt;br /&gt;
 */&lt;br /&gt;
void serialEvent(Serial myPort){&lt;br /&gt;
  if(myPort.available() &amp;gt; 0){&lt;br /&gt;
    &lt;br /&gt;
    String message = myPort.readString(); //read serial buffer&lt;br /&gt;
    int msg = int(message); //convert message to integer&lt;br /&gt;
    println(msgQueue.length);&lt;br /&gt;
    myPort.clear(); //clear whatever might be left in the serial buffer&lt;br /&gt;
    //msgLock = false;&lt;br /&gt;
     if(msg == 0){&lt;br /&gt;
      println(&amp;quot;Anweisung durchgeführt&amp;quot;);&lt;br /&gt;
      msgLock = false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
private void writeSerial(int msg){&lt;br /&gt;
  if(myPort.available() &amp;gt; 0) myPort.clear(); //empty serial buffer before sending&lt;br /&gt;
  myPort.write(msg);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void queueMessage(int msg){&lt;br /&gt;
  msgQueue = append(msgQueue, msg);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
private void parseQueue(){&lt;br /&gt;
  &lt;br /&gt;
    if(msgQueue.length &amp;gt; 0 &amp;amp;&amp;amp; !msgLock) {&lt;br /&gt;
      msgLock = true; //lock queue, preventing new messages from being sent&lt;br /&gt;
      lstMsg = msgQueue[0]; //queue the first message on the stack&lt;br /&gt;
      writeSerial(lstMsg); // sende richtungsbefehl&lt;br /&gt;
      println(&amp;quot;writing Richtung: &amp;quot; + lstMsg);&lt;br /&gt;
            &lt;br /&gt;
      msgQueue = subset(msgQueue, 1); // letzten befehl löschen&lt;br /&gt;
      &lt;br /&gt;
      lstMsg = msgQueue[0]; //queue the first message on the stack&lt;br /&gt;
      Schritte = Integer.toString(lstMsg);&lt;br /&gt;
      myPort.clear();&lt;br /&gt;
      myPort.write(Schritte);// sende Schrittzahl&lt;br /&gt;
      println(&amp;quot;writing Schritte: &amp;quot; + lstMsg);&lt;br /&gt;
      &lt;br /&gt;
      msgQueue = subset(msgQueue, 1); // letzten befehl löschen&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ptflea</name></author>
	</entry>
</feed>