<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Arduino_kombineret_med_Processing</id>
	<title>Arduino kombineret med Processing - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Arduino_kombineret_med_Processing"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;action=history"/>
	<updated>2026-08-18T18:46:43Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=4381&amp;oldid=prev</id>
		<title>Bar: /* Referencer */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=4381&amp;oldid=prev"/>
		<updated>2022-10-31T20:25:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Referencer&lt;/span&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;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 31. okt. 2022, 22:25&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-l518&quot;&gt;Linje 518:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 518:&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;==Referencer==&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;==Referencer==&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;references /&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;references /&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;&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;{{start-Arduino}}&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;[[Kategori:Oprindelige Dokumenter]]&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;[[Kategori:Oprindelige Dokumenter]]&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;[[Kategori:Kompliceret Programmering]]&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;[[Kategori:Kompliceret Programmering]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=734&amp;oldid=prev</id>
		<title>Bar: /* Referencer */</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=734&amp;oldid=prev"/>
		<updated>2022-10-20T05:19:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Referencer&lt;/span&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;da&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 20. okt. 2022, 07:19&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-l517&quot;&gt;Linje 517:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linje 517:&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;==Referencer==&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;==Referencer==&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;&amp;lt;references /&amp;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;&amp;lt;references /&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;&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;[[Kategori:Oprindelige Dokumenter]]&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;[[Kategori:Oprindelige Dokumenter]]&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;[[Kategori:Kompliceret Programmering]]&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;[[Kategori:Kompliceret Programmering]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=45&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=45&amp;oldid=prev"/>
		<updated>2022-10-19T13:00:09Z</updated>

		<summary type="html">&lt;p&gt;1 version importeret&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 19. okt. 2022, 15:00&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;da&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskel)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=44&amp;oldid=prev</id>
		<title>ard_&gt;Bar med 23. okt. 2018, 06:54</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Arduino_kombineret_med_Processing&amp;diff=44&amp;oldid=prev"/>
		<updated>2018-10-23T06:54:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[fil:ArduinoProcessing-Video.png|500px|right|thumb|Video med forklaring til kapitlet|link=https://www.powtoon.com/online-presentation/c0esuM2UjAB/?mode=movie]]&lt;br /&gt;
&lt;br /&gt;
Som beskrevet tidligere, så er der på Arduinoboardet et USB stik. Dette bruges når man vil uploade et nyt program til sit Arduino board, eller hvis man benytter Serial Monitor funktionen i Arduino IDE (se bl.a. [[Test af Programmer]]). Med andre ord - der kan sendes og modtages data via USB stikket!&lt;br /&gt;
&lt;br /&gt;
Man kan udnytte muligheden for datakommunikation via USB stikket på Arduinoboardet, ved at have et program kørende på sin computer, der kan udveksle data med Arduinoboardet; Det kan være Arduinoen der sender måledata fra en temperatursensor, via USB stikket, til PC’en, hvor det gemmes og vises. Det kan også være, at man fra PC’en skal kunne lave en opsætning i den måde ens program på Arduinoen kører på.&lt;br /&gt;
&lt;br /&gt;
Til at lave sit eget program der kan køres på en PC (Windows/Linux/Mac), kan anvendes open source programmet Processing&amp;lt;ref&amp;gt;[http://processing.org Processing Foundation]&amp;lt;/ref&amp;gt;. Det er opbygget lidt i stil med Arduino IDE programmet, og programmeringssproget bygger på Java i en let tilgængelig indpakning.&lt;br /&gt;
&lt;br /&gt;
==Kodeeksempler==&lt;br /&gt;
Til dette kapitel er der nogle kodeeksempler man kan anvende. De er samlet i en [[media:ArduinoProcessing-eksempler.zip|ZIP-fil]].&lt;br /&gt;
&lt;br /&gt;
==I gang med Processing==&lt;br /&gt;
For at komme i gang med at programmere i Processing, skal programmet hentes. Dette gøres fra http://processing.org, hvor man kan hente en udgave til enten Windows/Mac eller Linux. &lt;br /&gt;
&lt;br /&gt;
Når programmet startes, ses programmeringsvinduet som vist på figur 1.&lt;br /&gt;
&lt;br /&gt;
[[fil:Arduinomedprocessing-fig1.png|500px|Programmeringsvinduet i Processing]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Figur 1 Programmeringsvinduet i Processing.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Et standard program består - ligesom et Arduinoprogram - af to dele;&lt;br /&gt;
En &amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; inline&amp;gt;void setup()&amp;lt;/syntaxhighlight&amp;gt; del og en &amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; inline&amp;gt;void draw()&amp;lt;/syntaxhighlight&amp;gt; del. Setup-delen køres kun når programmet startes, mens draw-delen loop’er hele tiden.&lt;br /&gt;
&lt;br /&gt;
===Hello World i Processing===&lt;br /&gt;
For lige at få startet op på et Processing program, kan man lave følgende “Hello World” programkode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; line&amp;gt;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  size(800, 600);           // window size&lt;br /&gt;
  background(255, 204, 0);    // R G B value&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw()&lt;br /&gt;
{&lt;br /&gt;
  fill(255);                // white text&lt;br /&gt;
  textSize(32);             // text size&lt;br /&gt;
  textAlign(CENTER);        // center align text&lt;br /&gt;
  text(&amp;quot;Hello World&amp;quot;, width/2, height/2);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under &amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; inline&amp;gt;setup()&amp;lt;/syntaxhighlight&amp;gt; defineres vinduets størrelse, samt baggrundsfarven for vinduet. Under &amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; inline&amp;gt;draw()&amp;lt;/syntaxhighlight&amp;gt; sættes tekstfarven til hvid, tekststørrelsen til 32 punkt, og centreret tekst i forhold til tekstplaceringen. Teksten “Hello World” placeres i centeret af vinduet ved at bruge &amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; inline&amp;gt;width/2&amp;lt;/syntaxhighlight&amp;gt; og &amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; inline&amp;gt;height/2&amp;lt;/syntaxhighlight&amp;gt;, der begge har værdien af henholdsvis den bredde og højde der er defineret under &amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; inline&amp;gt;size()&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For yderligere information omkring hvordan man kommer i gang med at programmere i Processing, henvises til relevant information på internettet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simpel dataudveksling==&lt;br /&gt;
Man kan have et simpelt system, hvor et Arduinoboard måler temperaturen med en temperatursensor, og oversætter måleværdien til en tekst ( f.eks. teksten “23 °C”), og sender den til computeren, hvor et Processing program “råt” udskriver teksten. Her forventer computerprogrammet kun at der kommer en tekststreng med den tekst den skal vise.&lt;br /&gt;
&lt;br /&gt;
I det følgende gives et eksempel, hvor netop en sådan simpel dataudveksling finder sted, mellem et Arduinoboard og en computer. På computeren kører et Processing program, der modtager og viser data.&lt;br /&gt;
&lt;br /&gt;
Programkoden til Arduinoboardet konverterer et heltal (&amp;#039;&amp;#039;integer&amp;#039;&amp;#039;) om til en tekst (&amp;#039;&amp;#039;String&amp;#039;&amp;#039;), og sender denne via den serielle port, over USB stikket, til computeren, hvor den bliver modtaget af Processing programmet. Hver datatransmission afsluttes med et “linjeskift”-tegn.&lt;br /&gt;
&lt;br /&gt;
Nedenfor ses programkoden til Arduinoboardet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/* Simple&lt;br /&gt;
 *&lt;br /&gt;
 * Demonstrates transmission of data without a protocol.&lt;br /&gt;
 *  &lt;br /&gt;
 * Data is text based, and read as chars.&lt;br /&gt;
 *&lt;br /&gt;
 *&lt;br /&gt;
 * HNL, March 2018&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
char command;&lt;br /&gt;
char data[6];&lt;br /&gt;
int datavalue;&lt;br /&gt;
int digits=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  Serial.begin(9600);  // Communication speed&lt;br /&gt;
&lt;br /&gt;
  datavalue = 345;     // Use datavalue 345&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // update command and datavalue variables&lt;br /&gt;
 &lt;br /&gt;
  itoa(datavalue,data,10);              // convert int to char(s)&lt;br /&gt;
  digits = numberOfDigits(datavalue);   // get number of digits in datavalue&lt;br /&gt;
 &lt;br /&gt;
  // Transmit data via the serial port&lt;br /&gt;
  Serial.println(data);&lt;br /&gt;
 &lt;br /&gt;
  delay(2000);                // wait 2 seconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int numberOfDigits(int input)&lt;br /&gt;
{&lt;br /&gt;
  int returnvalue;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if ((input &amp;gt; -10) &amp;amp;&amp;amp; (input &amp;lt; 10))  // 1 digit&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -100) &amp;amp;&amp;amp; (input &amp;lt; -9)) || ((input &amp;gt; 9) &amp;amp;&amp;amp; (input &amp;lt; 100))) // 2 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 2;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -1000) &amp;amp;&amp;amp; (input &amp;lt; -99)) || ((input &amp;gt; 99) &amp;amp;&amp;amp; (input &amp;lt; 1000))) // 3 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 3;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -10000) &amp;amp;&amp;amp; (input &amp;lt; -999)) || ((input &amp;gt; 999) &amp;amp;&amp;amp; (input &amp;lt; 10000))) // 4 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 4;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -32769) &amp;amp;&amp;amp; (input &amp;lt; -9999)) || ((input &amp;gt; 9999) &amp;amp;&amp;amp; (input &amp;lt; 32768))) // 5 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 5;&lt;br /&gt;
  }    &lt;br /&gt;
 &lt;br /&gt;
  if (input&amp;lt;0)&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue++;  // if negative add 1 digit for sign&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return returnvalue;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nedenfor ses Processing programkoden, der tager udgangspunkt i eksemplet fra Learning Processing&amp;lt;ref&amp;gt;[http://learningprocessing.com/examples/chp19/example-19-08-serial-input-one-number Serial Input One Number, Learning Processing 2nd Edition]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; line&amp;gt;&lt;br /&gt;
// Learning Processing&lt;br /&gt;
// Daniel Shiffman&lt;br /&gt;
// http://www.learningprocessing.com&lt;br /&gt;
// http://learningprocessing.com/examples/chp19/example-19-08-serial-input-one-number&lt;br /&gt;
// Example 19-8: Reading from serial port&lt;br /&gt;
&lt;br /&gt;
// Mods by HNL 30/9 2014&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
int val = 0; // To store received data converted to integer&lt;br /&gt;
color tColor;&lt;br /&gt;
String data = &amp;quot;&amp;quot;;&lt;br /&gt;
Serial port; // The serial port object&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(200,200);&lt;br /&gt;
 &lt;br /&gt;
  // In case you want to see the list of available ports&lt;br /&gt;
  // println(Serial.list());&lt;br /&gt;
 &lt;br /&gt;
  // Using the first available port (might be different on your computer)&lt;br /&gt;
  port = new Serial(this, Serial.list()[0], 9600);&lt;br /&gt;
&lt;br /&gt;
  data=&amp;quot;---&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw()&lt;br /&gt;
{   &lt;br /&gt;
  background(255);&lt;br /&gt;
  tColor = color(0, 128, 255);&lt;br /&gt;
  fill(tColor);&lt;br /&gt;
  textSize(32);             // text size&lt;br /&gt;
  textAlign(CENTER);        // center align text&lt;br /&gt;
&lt;br /&gt;
  if (data != null)         // write received data to window&lt;br /&gt;
  {&lt;br /&gt;
    text(data, width/2, height/2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Called whenever there is something available to read&lt;br /&gt;
void serialEvent(Serial port) {&lt;br /&gt;
  // Data from the Serial port is read in serialEvent() using the readStringUntil() function and assigned to the global variable: val&lt;br /&gt;
  data = port.readStringUntil(&amp;#039;\n&amp;#039;);&lt;br /&gt;
 &lt;br /&gt;
  if (data != null)&lt;br /&gt;
  {&lt;br /&gt;
    val = int(data);&lt;br /&gt;
 &lt;br /&gt;
    // For debugging&lt;br /&gt;
    println( &amp;quot;Raw Input:&amp;quot; + data + &amp;quot; converted: &amp;quot; + val);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Protokolbaseret dataudveksling [[fil:svaert.png|80px]]==&lt;br /&gt;
Hvis man skal have et avanceret system, hvor man kan sende forskellige typer måledata og kommandoer frem og tilbage, får man brug for at kunne skelne de forskellige værdier fra hinanden; så ved man hvornår det er en temperatur-værdi man får, og hvornår det er en information hvad lufttrykket er. Løsningen på dette er at lave en protokol.&lt;br /&gt;
&lt;br /&gt;
En protokol er et lille simpelt kommunikationssprog, som man selv opfinder. Her kan man bestemme, hvordan man vil identificere en temperaturværdi, henholdsvis en lufttryksværdi, eller hvad det nu er ens system skal kunne sende information om&lt;br /&gt;
&lt;br /&gt;
Man sender data i pakker, hvor man kan have et antal dataværdier indsat. Datapakken kan for eksempel se ud som vist på figur 2, hvor man sender et start-tegn, en kommando, data og et slut-tegn.&lt;br /&gt;
&lt;br /&gt;
[[fil:Arduinomedprocessing-fig2.png|300px|Eksempel på datapakke]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Figur 2 Eksempel på datapakke.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Protokollen kan så se ud som vist i tabellen nedenfor.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Kommando&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Kommando symbol&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| Temperatur || T&lt;br /&gt;
|-&lt;br /&gt;
| Lufttryk || L&lt;br /&gt;
|-&lt;br /&gt;
| Lysniveau || S&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Man kan for eksempel vælge “£” som start-tegn, og “#” som slut-tegn, og så vil en datapakke med en temperaturmåling på 20 °C se ud som vist på figur 3.&lt;br /&gt;
&lt;br /&gt;
[[fil:Arduinomedprocessing-fig3.png|300px|Eksempel på datapakke hvor temperaturværdien 20 sendes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Figur 3 Eksempel på datapakke hvor temperaturværdien 20 sendes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Det er dermed tekststrengen “£T20#” der sendes fra Arduinoboardet over til computerprogrammet. Det er i alt 5 tegn, og dermed 5 bytes der sendes.&lt;br /&gt;
&lt;br /&gt;
I programmet på computeren, læses data fra £-tegnet kommer, og indtil #-tegnet modtages. Herefter “fiskes” kommando-tegnet ud, og data bliver herefter behandlet ud fra hvad kommando-tegnet betyder i protokollen.&lt;br /&gt;
&lt;br /&gt;
Programkoden til Arduinoboardet ses her, hvor programmet som udgangspunkt er sat op til at sende kommandoen T, samt dataværdien 345. Både kommando og dataværdi kan let ændres i programmet, således målinger fra forskellige sensorer let kan sendes i stedet for:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/* SimpleProtocol&lt;br /&gt;
 *&lt;br /&gt;
 * Demonstrates data package transmission with a simple protocol&lt;br /&gt;
 *&lt;br /&gt;
 * Packet layout:&lt;br /&gt;
 *  ________________________&lt;br /&gt;
 * | £ | Command | Data | # |&lt;br /&gt;
 *  ------------------------&lt;br /&gt;
 *  &lt;br /&gt;
 * Data is text based, and read as chars&lt;br /&gt;
 *&lt;br /&gt;
 *&lt;br /&gt;
 * HNL, March 2018&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
const char startFrame = &amp;#039;£&amp;#039;;&lt;br /&gt;
const char endFrame = &amp;#039;#&amp;#039;;&lt;br /&gt;
char command;&lt;br /&gt;
char data[6];&lt;br /&gt;
int datavalue;&lt;br /&gt;
int digits=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  Serial.begin(9600);  // Communication speed&lt;br /&gt;
&lt;br /&gt;
  command = &amp;#039;T&amp;#039;;       // Use command T&lt;br /&gt;
  datavalue = 345;     // Use datavalue 345&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // update command and datavalue variables&lt;br /&gt;
 &lt;br /&gt;
  itoa(datavalue,data,10);              // convert int to char(s)&lt;br /&gt;
  digits = numberOfDigits(datavalue);   // get number of digits in datavalue&lt;br /&gt;
 &lt;br /&gt;
  // Transmit data package via the serial port&lt;br /&gt;
  Serial.print(startFrame);   // Start byte&lt;br /&gt;
  Serial.print(command);      // Command byte&lt;br /&gt;
&lt;br /&gt;
  for (int i=0; i&amp;lt;digits; i++)&lt;br /&gt;
  {&lt;br /&gt;
     Serial.print(data[i]);   // each data byte&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  Serial.print(endFrame);     // End byte&lt;br /&gt;
&lt;br /&gt;
  delay(2000);                // wait 2 seconds&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int numberOfDigits(int input)&lt;br /&gt;
{&lt;br /&gt;
  int returnvalue;&lt;br /&gt;
&lt;br /&gt;
  if ((input &amp;gt; -10) &amp;amp;&amp;amp; (input &amp;lt; 10))  // 1 digit&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 1;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -100) &amp;amp;&amp;amp; (input &amp;lt; -9)) || ((input &amp;gt; 9) &amp;amp;&amp;amp; (input &amp;lt; 100))) // 2 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 2;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -1000) &amp;amp;&amp;amp; (input &amp;lt; -99)) || ((input &amp;gt; 99) &amp;amp;&amp;amp; (input &amp;lt; 1000))) // 3 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 3;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -10000) &amp;amp;&amp;amp; (input &amp;lt; -999)) || ((input &amp;gt; 999) &amp;amp;&amp;amp; (input &amp;lt; 10000))) // 4 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 4;&lt;br /&gt;
  }&lt;br /&gt;
  else if (((input &amp;gt; -32769) &amp;amp;&amp;amp; (input &amp;lt; -9999)) || ((input &amp;gt; 9999) &amp;amp;&amp;amp; (input &amp;lt; 32768))) // 5 digits&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue = 5;&lt;br /&gt;
  }    &lt;br /&gt;
 &lt;br /&gt;
  if (input&amp;lt;0)&lt;br /&gt;
  {&lt;br /&gt;
    returnvalue++;  // if negative add 1 digit for sign&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return returnvalue;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I programeksemplet sendes kommandoen T sammen med dataværdien 345. Man kan selv ændre/tilføje i koden, og lade sine egne sensormålinger blive sendt.&lt;br /&gt;
&lt;br /&gt;
På computeren anvendes følgende Processing program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Processing&amp;quot; line&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
     Protocol based communication example&lt;br /&gt;
     &lt;br /&gt;
Communicates with Arduino via COM port.&lt;br /&gt;
&lt;br /&gt;
   Protocol:&lt;br /&gt;
    --------------------&lt;br /&gt;
   | @ | Cmd | Data | £ |&lt;br /&gt;
    --------------------&lt;br /&gt;
 &lt;br /&gt;
   Cmd    = command byte&lt;br /&gt;
   Data   = data bytes [0-11]&lt;br /&gt;
&lt;br /&gt;
    HNL April 2016, March 2018&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
final int STATE_NOT_CONNECTED = 0;&lt;br /&gt;
final int STATE_PORT_CONNECTED = 1;&lt;br /&gt;
final int STATE_CONNECTED     = 2;&lt;br /&gt;
&lt;br /&gt;
final color BACKGROUND = color(25, 156, 132);&lt;br /&gt;
final color TEXTCOLOR  =color(0);&lt;br /&gt;
&lt;br /&gt;
final int TEXTSIZE_MAIN = 40;&lt;br /&gt;
final int TEXTSIZE_SMALL = 20;&lt;br /&gt;
&lt;br /&gt;
final int SPACE_BETWEEN_LINES = 30;&lt;br /&gt;
final int START_VALUE_X_LIST = 50;&lt;br /&gt;
final int START_VALUE_Y_LIST = 200;&lt;br /&gt;
final int LINE_HEIGHT_LIST = TEXTSIZE_SMALL;&lt;br /&gt;
final int MAX_PX_IN_LINE_LIST = 300;&lt;br /&gt;
&lt;br /&gt;
final int BAUDRATE = 9600;&lt;br /&gt;
&lt;br /&gt;
String data = &amp;quot;&amp;quot;;&lt;br /&gt;
String receivedData = &amp;quot;&amp;quot;;&lt;br /&gt;
String command =&amp;quot;&amp;quot;;&lt;br /&gt;
String value = &amp;quot;&amp;quot;;&lt;br /&gt;
final char startchar = &amp;#039;£&amp;#039;;&lt;br /&gt;
final char endchar = &amp;#039;#&amp;#039;;&lt;br /&gt;
int val;&lt;br /&gt;
int state;&lt;br /&gt;
String[] foundPorts = new String[10];&lt;br /&gt;
&lt;br /&gt;
Boolean portSelected;&lt;br /&gt;
int portNumberSelected;&lt;br /&gt;
&lt;br /&gt;
Serial myPort; // The serial port object&lt;br /&gt;
PFont font;&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  size(800,600);&lt;br /&gt;
  background(255);&lt;br /&gt;
 &lt;br /&gt;
  state = STATE_NOT_CONNECTED;&lt;br /&gt;
  portSelected = false;&lt;br /&gt;
  portNumberSelected=0;&lt;br /&gt;
 &lt;br /&gt;
  // List all the available serial ports:&lt;br /&gt;
  printArray(myPort.list());&lt;br /&gt;
  foundPorts = myPort.list();&lt;br /&gt;
  print(&amp;quot;Found Ports: &amp;quot;);&lt;br /&gt;
  println(foundPorts.length);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void draw()&lt;br /&gt;
{&lt;br /&gt;
  background(BACKGROUND);&lt;br /&gt;
  fill(TEXTCOLOR);&lt;br /&gt;
  textAlign(CENTER);&lt;br /&gt;
  textSize(TEXTSIZE_MAIN);             // text size&lt;br /&gt;
  text(&amp;quot;Arduino Communication Example&amp;quot;, width/2, 50);&lt;br /&gt;
   &lt;br /&gt;
   if (state == STATE_NOT_CONNECTED)&lt;br /&gt;
   {    &lt;br /&gt;
      textSize(TEXTSIZE_SMALL);&lt;br /&gt;
      textAlign(LEFT);&lt;br /&gt;
      text(&amp;quot;USB connection to Arduino board is not etablished.&amp;quot;, 20, 120);&lt;br /&gt;
      text(&amp;quot;Please insert USB cable to PC, and select the device on the list below.&amp;quot;, 20, 145);&lt;br /&gt;
      &lt;br /&gt;
      if (foundPorts.length &amp;gt; 0)&lt;br /&gt;
      {&lt;br /&gt;
        // Write out all found ports        &lt;br /&gt;
        for (int i=0; i&amp;lt; myPort.list().length ; i++)&lt;br /&gt;
        {         &lt;br /&gt;
           textAlign(LEFT);&lt;br /&gt;
           text(foundPorts[i], START_VALUE_X_LIST, START_VALUE_Y_LIST+(i*SPACE_BETWEEN_LINES));           &lt;br /&gt;
        }    &lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   else if (state == STATE_PORT_CONNECTED)&lt;br /&gt;
   {&lt;br /&gt;
     myPort = new Serial(this, foundPorts[portNumberSelected], BAUDRATE);&lt;br /&gt;
     myPort.bufferUntil(endchar);&lt;br /&gt;
     state = STATE_CONNECTED;&lt;br /&gt;
   }&lt;br /&gt;
   else if (state == STATE_CONNECTED)&lt;br /&gt;
   {&lt;br /&gt;
     textAlign(RIGHT);&lt;br /&gt;
     textSize(TEXTSIZE_SMALL);&lt;br /&gt;
     text(foundPorts[portNumberSelected] + &amp;quot; selected&amp;quot;, width-20, 120);&lt;br /&gt;
   &lt;br /&gt;
     if (command.equals(&amp;quot;T&amp;quot;)==true)&lt;br /&gt;
     {&lt;br /&gt;
       textAlign(LEFT);&lt;br /&gt;
       text(&amp;quot;Temperature: &amp;quot;, 50, 400);&lt;br /&gt;
       text(value, 200, 400);&lt;br /&gt;
       text(&amp;quot;C &amp;quot;, 235, 400);&lt;br /&gt;
     }&lt;br /&gt;
     else if (command.equals(&amp;quot;L&amp;quot;)==true)&lt;br /&gt;
     {&lt;br /&gt;
       textAlign(LEFT);&lt;br /&gt;
       text(&amp;quot;Humidity: &amp;quot;, 50, 400);       &lt;br /&gt;
       text(value, 200, 400);&lt;br /&gt;
       text(&amp;quot;% &amp;quot;, 235, 400);&lt;br /&gt;
     }&lt;br /&gt;
     else if (command.equals(&amp;quot;S&amp;quot;)==true)&lt;br /&gt;
     {&lt;br /&gt;
       textAlign(LEFT);&lt;br /&gt;
       text(&amp;quot;Light: &amp;quot;, 50, 400);       &lt;br /&gt;
       text(value, 200, 400);&lt;br /&gt;
       text(&amp;quot;Lux &amp;quot;, 235, 400);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Called whenever there is something available to read&lt;br /&gt;
void serialEvent(Serial port)&lt;br /&gt;
{&lt;br /&gt;
  println(&amp;quot;Serial event&amp;quot;);&lt;br /&gt;
  // Data from the Serial port is read in serialEvent() using the read() function and assigned to the global variable: val&lt;br /&gt;
  data = port.readStringUntil(endchar);&lt;br /&gt;
 &lt;br /&gt;
  println(&amp;quot;Port opened&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
  if (data.charAt(0) == startchar)&lt;br /&gt;
  {&lt;br /&gt;
    data = data.substring(1, data.length());  &lt;br /&gt;
    receivedData = data.substring(0,data.length() - 1);&lt;br /&gt;
    &lt;br /&gt;
    command = receivedData.substring(0,1);&lt;br /&gt;
    value = receivedData.substring(1,receivedData.length());&lt;br /&gt;
    &lt;br /&gt;
    if (checkForNumberInString(value) == false)&lt;br /&gt;
    {&lt;br /&gt;
      value = &amp;quot;--&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void mouseReleased()&lt;br /&gt;
{&lt;br /&gt;
 if ( (state == STATE_NOT_CONNECTED) &amp;amp;&amp;amp; (foundPorts.length &amp;gt; 0) )&lt;br /&gt;
 {&lt;br /&gt;
   for (int j = 0; j &amp;lt; foundPorts.length ; j++)&lt;br /&gt;
   {  &lt;br /&gt;
     if ( (mouseX &amp;gt; START_VALUE_X_LIST) &amp;amp;&amp;amp; (mouseX &amp;lt; START_VALUE_X_LIST + MAX_PX_IN_LINE_LIST) &amp;amp;&amp;amp;&lt;br /&gt;
          (mouseY &amp;gt; START_VALUE_Y_LIST - LINE_HEIGHT_LIST + (j*SPACE_BETWEEN_LINES)) &amp;amp;&amp;amp; (mouseY &amp;lt; START_VALUE_Y_LIST + (j*SPACE_BETWEEN_LINES)) )&lt;br /&gt;
     {&lt;br /&gt;
       portSelected = true;&lt;br /&gt;
       portNumberSelected = j;&lt;br /&gt;
       state = STATE_PORT_CONNECTED;&lt;br /&gt;
     }&lt;br /&gt;
   }  &lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Boolean checkForNumberInString(String input)&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
  int charvalue;&lt;br /&gt;
  Boolean numberfound = true;&lt;br /&gt;
 &lt;br /&gt;
  for (i=0; i &amp;lt; input.length(); i++)&lt;br /&gt;
  {&lt;br /&gt;
    charvalue = int(input.charAt(i));&lt;br /&gt;
    &lt;br /&gt;
    if (((charvalue &amp;gt;= 48) &amp;amp;&amp;amp; (charvalue &amp;lt;= 57)) || (charvalue == 45)) // if char is a number or sign (ASCII)&lt;br /&gt;
    {      &lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      numberfound = false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return numberfound;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Programmet er lavet, så den selv finder og lister alle COM porte på computeren op, hvorefter man klikker på den COM port som Arduinoboardet har fået tildelt. Herefter detekteres hvilken kommando der modtages, og værdien udskrives.&lt;br /&gt;
&lt;br /&gt;
Bemærk, at værdien konverteres fra tekst til heltal, og kan dermed bruges videre i forhold til matematiske operationer på talværdien.&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Oprindelige Dokumenter]]&lt;br /&gt;
[[Kategori:Kompliceret Programmering]]&lt;/div&gt;</summary>
		<author><name>ard_&gt;Bar</name></author>
	</entry>
</feed>