<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Robotfreak Blog &#187; Physical Computing</title>
	<atom:link href="http://www.robotfreak.de/blog/tag/physical-computing/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robotfreak.de/blog</link>
	<description>Robotik, Elektronik, Arduino und mehr</description>
	<lastBuildDate>Fri, 02 Jul 2010 19:09:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Arduino Einf&#252;hrung</title>
		<link>http://www.robotfreak.de/blog/mikrocontroller/arduino-einfuehrung/16</link>
		<comments>http://www.robotfreak.de/blog/mikrocontroller/arduino-einfuehrung/16#comments</comments>
		<pubDate>Thu, 11 Oct 2007 09:43:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AVR]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Mikrocontroller]]></category>
		<category><![CDATA[Atmel]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/mikrocontroller/arduino-einfuehrung/16</guid>
		<description><![CDATA[Wem der Einstieg in die Programmierung der Atmel AVR Controller mit den Datenbl&#228;ttern zu schwer f&#228;llt, f&#252;r den ist Arduino vielleicht genau das richtige. Arduino ist eine Open-Source- Plattform, basierend auf einem Microcontroller-Board und einer Entwicklungsumgebung mit einer API f&#252;r den Microcontroller. In diesem Zusammenhang wird oft auch der Begriff Physical Computing verwendet. Darunter versteht [...]]]></description>
			<content:encoded><![CDATA[<p>Wem der Einstieg in die Programmierung der Atmel AVR Controller mit den Datenbl&#228;ttern zu schwer f&#228;llt, f&#252;r den ist <a href="http://www.arduino.cc/" class="liexternal">Arduino</a> vielleicht genau das richtige. Arduino ist eine Open-Source- Plattform, basierend auf einem Microcontroller-Board und einer Entwicklungsumgebung mit einer API f&#252;r den Microcontroller. In diesem Zusammenhang wird oft auch der Begriff <a href="http://en.wikipedia.org/wiki/Physical_computing" rel="nofollow" class="liwikipedia">Physical Computing</a> verwendet. Darunter versteht im weitesten Sinne ein physikalisches System, das mit Hilfe von Hard- und Software mit der realen analogen Welt interagieren kann. Im Gegensatz zu anderen Kaufboards wie z.B. die BasicStamp Reihe sind die Arduino Boards viel g&#252;nstiger im Preis.</p>
<p><span id="more-16"></span></p>
<h2>Einleitung</h2>
<p>Der Name Arduino ist italienisch und bezieht sich nach offizieller Meinung auf <a href="http://de.wikipedia.org/wiki/Arduin_von_Ivrea" rel="nofollow" class="liwikipedia">Arduino von Ivrea</a> (955-1015), der Markgraf von Ivrea und sp&#228;ter K&#246;nig von Italien war. Nach inoffizieller Meinung ist der Name eher trivialer Natur, es ist einfach der Name einer hiesigen Studentenkneipe <img src='http://www.robotfreak.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Einiger der Arduino Entwickler arbeiten am Interaction Design Institute von Ivrea darunter Massimo Banzi und David Cuartielles.</p>
<h2>Hardware</h2>
<p>Die Arduino Hardware benutzt den Atmel AVR <span class="wikiword">ATmega8</span>/168 als Prozessor Plattform. Zur Kommunikation mit einem PC mit dem Arduino Board steht die serielle Schnittstelle des Atmel Prozessors zur Verf&#252;gung. Neuere Boards verf&#252;gen zudem &#252;ber einen USB-Seriell Wandler, <a href="http://de.wikipedia.org/wiki/Bluetooth" rel="nofollow" class="liwikipedia">Bluetooth</a> oder <a href="http://de.wikipedia.org/wiki/ZigBee" rel="nofollow" class="liwikipedia">ZigBee</a> Adapter.</p>
<p>Das Arduino Board kann man:</p>
<ul>
<li>fertig montiertes Board kaufen,</li>
<li>gefertigte Platine,  ohne Bauteile</li>
<li>das Board komplett selbst aufbauen.</li>
</ul>
<p>Folgende <a href="http://www.arduino.cc/en/Main/Boards" class="liexternal">Fertigboards</a> gibt es:</p>
<ul>
<li><a href="http://www.arduino.cc/en/Main/ArduinoBoardSerial" class="liexternal">Arduino Serial</a>, der Ur-Vater mit RS232 Anbindung</li>
<li>Arduino NG, <em>(Nuova Generazione</em>) mit USB Anbindung</li>
<li><a href="http://www.arduino.cc/en/Main/ArduinoBoardDiecimila" class="liexternal">Arduino Diecimila</a>, die neuste Generation mit USB Anbindung</li>
<li><a href="http://www.arduino.cc/en/Main/ArduinoBoardBluetooth" class="liexternal">Arduino BT</a> mit Bluetooth Anbindung</li>
<li><a href="http://www.arduino.cc/en/Main/ArduinoBoardMini" class="liexternal">Arduino Mini</a>,  24poliger  DIL Sockel &#228;hnlich der BasicStamp</li>
<p>Zudem gibt es noch einige Arduino Clones:</p>
<li><a href="http://www.freeduino.org/" class="liexternal">Freeduino Board</a>, ein Arduino Clone</li>
<li><a href="http://www.ladyada.net/make/boarduino/index.html" class="liexternal">Boarduino</a>, ein Arduino f&#252;r Steckbretter</li>
</ul>
<h3>Arduino Diecimila</h3>
<p><a href="http://www.flickr.com/photos/23913470@N00/1464017748/" title="diecimila" class="liimagelink"><img src="http://farm2.static.flickr.com/1187/1464017748_bb72eb89d1.jpg" alt="diecimila" /></a></p>
<p>Das Arduino Diecimila ist das neueste Arduino Board auf dem Markt. Der Name Diecimila ist italienisch und bedeuted &#252;bersetzt 10000. Das soll auf die Zahl von &#252;ber 10000 bisher verkauften Arduino Boards hindeuten. Die wichigtste Neuerung des Diecimila Boards ist die F&#228;higkeit das laufende Programm &#252;ber die Arduino IDE jederzeit abzubrechen und ein anderes Programm zu laden. Bei den anderen Boards mu&#223;te dazu immmer noch der Reset Schalter auf dem Board gedr&#252;ckt werden. F&#252;r &#228;ltere Boards ist allerdings ein Hardware Patch verf&#252;gbar, der dieses Feature nachbildet.</p>
<h3>Arduino-BT</h3>
<p><a href="http://www.flickr.com/photos/23913470@N00/1464017148/" title="arduino-bt" class="liimagelink"><img src="http://farm2.static.flickr.com/1384/1464017148_5726bc4459.jpg" alt="arduino-bt" /></a></p>
<p>Das Arduino Board mit Bluetooth Modem bluegiga WT11. Der Atmega168 Porzessor ist hier aus Platzgr&#252;nden ein SMD Typ. Ansonsten ist das Arduino-BT bis auf den Stromversorgungsstecker Pin kompatibel zu anderen Arduino Boards. Bei diesem Board ist darauf zu achten, dass die externe Stromversorgung h&#246;chstens 5,5V betragen darf.</p>
<h2>Software</h2>
<p>Der Microcontroller auf dem Board wird mit Hilfe der Arduino Programmiersprache programmiert. Diese basiert auf <a href="http://www.processing.org/" class="liexternal">Processing</a> mit der Syntax von C, bzw. C++. Als Entwicklungsumgebung steht die auf <a href="http://wiring.org.co/" class="liexternal">Wiring</a> basierende Arduino IDE zur Verf&#252;gung. Ein Arduino Projekt kann als Stand-Alone L&#246;sung arbeiten oder auch PC gesteuert. Dazu gibt es fertige Bibliotheken zur Anbindung des Arduino Boards an Flash, Processing, MaxMSP&#8230;</p>
<h3>Die Arduino API</h3>
<p>Die <a href="http://www.arduino.cc/en/Reference/HomePage" class="liexternal">Arduino API</a> besteht aus einer Reihe von High-Level Funktionen, die den Zugriff auf die AVR Hardware vereinfachen.&#220;ber zus&#228;tzlichen Bibliotheken l&#228;&#223;t sich die Funktionalit&#228;t erweitern (z.B. I2C, Schrittmotoransteuerung etc.).  Es gibt eine F&#252;lle von <a href="http://www.arduino.cc/en/Tutorial/HomePage" class="liexternal">Tutorials</a> und Beispielprogramme f&#252;r die Arduino Plattform. Im <a href="http://www.arduino.cc/playground/" class="liexternal">Arduino Playground</a> kann jeder angemeldete User seine eigenen Projekte vorstellen.</p>
<h3>Die Arduino IDE</h3>
<p><a href="http://www.robotfreak.de/blog/wp-content/uploads/2007/10/arduino-ide.jpg" title="Arduino IDE" class="liimagelink"><img src="http://www.robotfreak.de/blog/wp-content/uploads/2007/10/arduino-ide.jpg" alt="Arduino IDE" /></a><br />
Mit der Arduino IDE kann man neue Sketche erstellen oder Beispiel Sketche laden. Auf Knopfdruck wird das Sketch kompiliert und falls fehlerfrei direkt auf das Arduino Board geladen. &#220;ber das eingebaute Terminalprogramm kann man sich die Ausgaben des Arduino Boards ansehen. Hinter der schicken Oberfl&#228;che steckt die AVR-GCC Compiler Suite. Nat&#252;rlich ist es auch m&#246;glich in die Sketche direkten AVR Code einzubinden.</p>
<h3>Arduino Programmierung</h3>
<p>Ein Arduino Programm im folgenden auch sketch genannt besteht im Grund aus den beiden Funktionen <code>setup()</code> und <code>loop()</code>.  Beide Funktionen werden zur Laufzeit vom Arduino Core Programm aufgerufen. Die Funktion <code>setup()</code> wird einmalig beim Programmstart aufgerufen. Sie enth&#228;lt den Code f&#252;r die Initialisierung der Hardware. Die <code>loop()</code> Funktion wird anschlie&#223;end zyklisch vom Arduino Core aufgerufen.</p>
<h3>Hello World f&#252;r Arduino</h3>
<p>Das folgende sketch l&#228;&#223;t eine LED am Digitalausgang 13 im Sekundentakt blinken.</p>
<p><code><br />
int ledPin = 13;<br />
void setup() {<br />
pinMode(ledPin, OUTPUT);<br />
}</code></p>
<p><code>void loop() {<br />
digitalWrite(ledPin, HIGH);<br />
delay(1000);<br />
digitalWrite(ledPin, LOW);<br />
delay(1000);<br />
}</code></p>
<h2>Arduino f&#252;r Robotik</h2>
<p>Arduino eignet sich durchaus f&#252;r kleinere Roboter-Projekte. Beispiele hierf&#252;r sind der <a href="http://www.windmeadow.com/node/45" class="liexternal">Wiimote controlled firefighting robot</a> und die Portierung f&#252;r den <a href="http://www.arduino.cc/playground/Learning/Asuro" class="liexternal">Asuro</a>. Auch zur Prototypen Entwicklung ist es aufgrund der einfachen Programmierung sehr gut geeignet. Ich arbeite zur Zeit auch an einem Arduino Roboter, &#252;ber den ich dann nat&#252;rlich auch hier berichten werde.</p>
<h2>Weblinks</h2>
<h3>Englisch</h3>
<ul>
<li><a href="http://arduino.cc/" class="liexternal">Arduino Homepage</a></li>
<li><a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl" class="liexternal">Arduino Forum</a></li>
<li><a href="http://www.arduino.cc/playground/" class="liexternal">Arduino Playground</a></li>
<li><a href="http://www.freeduino.org/" class="liexternal">http://www.freeduino.org/</a> &#8211; Arduino Index und FreeduinoBoard</li>
<li><a href="http://todbot.com/blog/category/arduino/" class="liexternal">todbot blog &gt;&gt; Arduino</a></li>
<li><a href="http://todbot.com/blog/spookyarduino/" class="liexternal">todbot blog &gt;&gt; Spooky Arduino, Tutorials</a></li>
<li><a href="http://itp.nyu.edu/physcomp/Labs/Labs" class="liexternal">ITP &#8211; Physical computing</a></li>
<li><a href="http://www.tigoe.net/pcomp/code/category/category/code/arduinowiring" class="liexternal">tigue.net &#8211; Arduino/Wiring, Beispiele</a></li>
<li><a href="http://www.grayfuse.com/blog/?p=15" class="liexternal">Jeff Gray Blog, Arduino Beispiele</a></li>
<li><a href="http://svn.berlios.de/viewcvs/arduino/trunk/" class="liexternal broken_link">Arduino Sourcecode, SVN Repository</a></li>
<li><a href="http://www.windmeadow.com/node/45" class="liexternal">Wiimote controlled firefighting robot</a></li>
<li><a href="http://wiring.org.co/" class="liexternal">http://wiring.org.co/</a></li>
<li><a href="http://www.processing.org/" class="liexternal">http://www.processing.org/</a></li>
</ul>
<h3>Deutsch</h3>
<ul>
<li><a href="http://incom.org/code/projekte/projekt_anzeigen.php?4,98,0,0,0,102" class="liexternal">incom.org </a>- Arduino Bauanleitung</li>
</ul>
<h3>Bezugsquellen</h3>
<ul>
<li><a href="http://www.segor.de/" class="liexternal">Segor Elektronik</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/mikrocontroller/arduino-einfuehrung/16/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
