<?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; AVR</title>
	<atom:link href="http://www.robotfreak.de/blog/category/mikrocontroller/avr-mikrocontroller/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robotfreak.de/blog</link>
	<description>Robotik, Elektronik, Arduino und mehr</description>
	<lastBuildDate>Mon, 23 Jan 2012 21:13:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Wii-Nunchuk als Universalsteuerung</title>
		<link>http://www.robotfreak.de/blog/mikrocontroller/wii-nunchuk-als-universalsteuerung/50</link>
		<comments>http://www.robotfreak.de/blog/mikrocontroller/wii-nunchuk-als-universalsteuerung/50#comments</comments>
		<pubDate>Sat, 12 Jul 2008 11:57:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AVR]]></category>
		<category><![CDATA[Mikrocontroller]]></category>
		<category><![CDATA[ATM-18]]></category>
		<category><![CDATA[Wii]]></category>
		<category><![CDATA[Wii Nunchuk]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/?p=50</guid>
		<description><![CDATA[Disese Projekt wurde mit dem ATM-18 Controller Modul realisiert. Dieses Controller Modul besitzt einen ATmega88 als Mikrocontroller und ist eine Zusammenarbeit zwischen Elektor und dem CC2 (ComputerClub 2). Der Wii-Nunchuk wird &#252;ber die I2C Schnittstelle angesprochen. Findige Bastler wie Chad Phillips haben das Protokoll und den Verschl&#252;sselungs Algorythmus herausgefunden. Einige m&#246;gliche Anwendungsbeispiele hierzu: Datalogger. Beschleunigungswerte [...]]]></description>
			<content:encoded><![CDATA[<p>Disese Projekt wurde mit dem ATM-18 Controller Modul realisiert. Dieses Controller Modul besitzt einen ATmega88 als Mikrocontroller und ist eine Zusammenarbeit zwischen <a href="http://www.elektor.de" class="liexternal">Elektor</a> und dem <a href="http://www.cczwei.de/" class="liexternal">CC2 (ComputerClub 2)</a>.<br />
Der Wii-Nunchuk wird &#252;ber die I2C Schnittstelle angesprochen. Findige Bastler wie <a href="http://www.windmeadow.com/node/42" class="liexternal">Chad Phillips</a> haben das Protokoll und den Verschl&#252;sselungs Algorythmus herausgefunden.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2659070097/" class="flickr-image" title="ATM18::Projekt::Wii-Nunchuk"><img src="http://farm4.static.flickr.com/3129/2659070097_117a647f56.jpg" alt="ATM18::Projekt::Wii-Nunchuk" /></a></p>
<p><span id="more-50"></span></p>
<p>Einige m&#246;gliche  Anwendungsbeispiele hierzu:</p>
<ul>
<li>Datalogger. Beschleunigungswerte &#252;ber einen Zeitraum erfassen und in einem I2C EEPROM ablegen, z.B. damitr eine Autofahrt aufzeichnen.</li>
<li>Pan-Tilt Kamera Steuerung. Eine Kamera auf Servos montiert &#252;ber den Nunchuk steuern.</li>
<li>RC Modell Fernsteuerung. Zusammen mit einem RC-Sender k&#246;nnte man RC-Autos, Roboter und Flugmodelle steuern</li>
</ul>
<p>usw.<br />
<!--more--></p>
<h2>Was wird ben&#246;tigt:</h2>
<ul>
<li>WII Nunchuk 19€</li>
<li>Ein Nunchuk Adapter 5$ oder DIY selber machen, oder einfach den Stecker abschneiden</li>
<li>ATM-18-Modul oder Nachbau, es geht auch mit einem Arduino Board</li>
<li>LCD Modul zur Anzeige, alternativ UART Verbindung</li>
</ul>
<p>Optional, (aber sehr zu empfehlen):</p>
<ul>
<li>3,3V Spannungsregler</li>
<li>bidirektionaler Levelshifter 3,3V/5V f&#252;r I2C Leitungen</li>
</ul>
<p>Der Nunchuk wird mit 3,3V betrieben. Es funktioniert zwar anscheinend auch mit 5V, ist auf Dauer aber sicher nicht gut.<br />
Zwar vertr&#228;gt der im Nunchuk eingebaute Controller 5V, nicht aber der 3-Achsen-Beschleunigungssensor, der ist nur f&#252;r max. 3,6V ausgelegt.</p>
<p>Zur Verdeutlichung einige Bilder von meinem Versuchsaufbau.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2659070605/" class="flickr-image" title="ATM18::Projekt::Wii-Nunchuk"><img src="http://farm4.static.flickr.com/3059/2659070605_0b26684d87.jpg" alt="ATM18::Projekt::Wii-Nunchuk" /></a></p>
<p>Der gesamte Probeaufbau mit ATM18-Modul, Wii-Nunchuk, Levelshifter und 3,3V Stromversorgung auf Steckbrett, STK500.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2659897886/" class="flickr-image" title="ATM18::Projekt::Wii-Nunchuk"><img src="http://farm4.static.flickr.com/3145/2659897886_b93b6bcf35.jpg" alt="ATM18::Projekt::Wii-Nunchuk" /></a></p>
<p>Das LCD-Modul mit Wii-Nunchuk Parametern.</p>
<ul>
<li>JOY zeigt den Joystick Wert an</li>
<li>ACC zeigt die 3-Achsen Beschleunigswerte an</li>
<li>BTN zeigt den Status der beiden Tasten C und Z an</li>
</ul>
<p><a href="http://www.flickr.com/photos/23913470@N00/2659070955/" class="flickr-image" title="ATM18::Projekt::Wii-Nunchuk"><img src="http://farm3.static.flickr.com/2049/2659070955_7fe1f2ce54.jpg" alt="ATM18::Projekt::Wii-Nunchuk" /></a></p>
<p>Kabelsalat. Der I2C Levelshifter und die 3,3V Stromversorgung auf dem Steckbrett.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2659071079/" class="flickr-image" title="ATM18::Projekt::Wii-Nunchuk"><img src="http://farm4.static.flickr.com/3055/2659071079_249d682f0f.jpg" alt="ATM18::Projekt::Wii-Nunchuk" /></a></p>
<h2>Wii-Nunchuk Adapter</h2>
<p>Der Wii-Nunchuk Adapter f&#252;hrt Stromversorgungs und I2C Anschl&#252;sse auf Stiftleiste heraus.</p>
<ul>
<li>Erfinder: <a href="http://todbot.com/blog/2008/02/18/wiichuck-wii-nunchuck-adapter-available/" class="liexternal">http://todbot.com/blog</a></li>
<li>Bezugsquelle: <a href="http://store.fungizmos.com/index.php?main_page=product_info&amp;cPath=69&amp;products_id=212" class="liexternal">FunGizmos</a></li>
</ul>
<p><a href="http://www.flickr.com/photos/23913470@N00/2659897466/" class="flickr-image" title="ATM18::Projekt::Wii-Nunchuk"><img src="http://farm4.static.flickr.com/3090/2659897466_f0324355c0.jpg" alt="ATM18::Projekt::Wii-Nunchuk" /></a></p>
<p>DIY Wii-Nunchuk Adapter aus einem alten Floppy Adapter. Man kann sich auch aus dem Steckverbinder einer alten ISA Karte einen Nunchuk-Adapter basteln.</p>
<h2>Schaltpl&#228;ne:</h2>
<p><a href="http://www.flickr.com/photos/23913470@N00/2660878524/" class="flickr-image" title="wii_power_schem"><img src="http://farm4.static.flickr.com/3134/2660878524_5e490efac6.jpg" alt="wii_power_schem" /></a></p>
<p>3,3V Stromversorgung</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2660878560/" class="flickr-image" title="wii_levelshifter_schem"><img src="http://farm4.static.flickr.com/3110/2660878560_928cfecd7b.jpg" alt="wii_levelshifter_schem" /></a></p>
<p>Der WII-Nunchuk Levelshifter Schaltplan.<br />
Setzt die 5V Signale vom ATM-18 Modul in 3,3V Pegel f&#252;r den WII-Nunchuk um. Das ganze funktioniert bidirektional nach einer Application Note von Philips.<br />
<a href="http://www.nxp.com/acrobat_download/applicationnotes/AN10441_1.pdf" class="lipdf">AN10441_1.pdf</a></p>
<p>Die komplette Fotoserie mit h&#246;her aufgel&#246;sten Fotos gibt es bei <a href="http://flickr.com/photos/hmblgrmpf/sets/72157606114444341/" class="liexternal">Flickr</a></p>
<p>Die Software f&#252;r das ATM-18 Modul und weitere Informationen findet man im <a href="http://www.cczwei-forum.de/cc2/thread.php?threadid=1785" class="liexternal">CC2 Forum</a>.</p>
<h2>Weblinks</h2>
<ul>
<li><a href="http://www.elektor.de" class="liexternal">Elektor</a></li>
<li><a href="http://www.cczwei.de/" class="liexternal">CC2 (ComputerClub 2)</a></li>
<li><a href="http://www.windmeadow.com/node/42" class="liexternal">www.windmeadow.com</a></li>
<li><a href="http://todbot.com/blog/2008/02/18/wiichuck-wii-nunchuck-adapter-available/trackback/" class="liexternal">http://todbot.com/blog</a></li>
<li><a href="http://store.fungizmos.com/index.php?main_page=product_info&amp;cPath=69&amp;products_id=212" class="liexternal">FunGizmos</a></li>
<li><a href="http://flickr.com/photos/hmblgrmpf/sets/72157606114444341/" class="liexternal">Flickr</a></li>
<li><a href="http://www.cczwei-forum.de/cc2/thread.php?threadid=1785" class="liexternal">CC2 Forum</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/mikrocontroller/wii-nunchuk-als-universalsteuerung/50/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AVR Preserver</title>
		<link>http://www.robotfreak.de/blog/mikrocontroller/avr-preserver/43</link>
		<comments>http://www.robotfreak.de/blog/mikrocontroller/avr-preserver/43#comments</comments>
		<pubDate>Wed, 23 Jan 2008 22:42:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AVR]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Mikrocontroller]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/allgemein/avr-preserver/43</guid>
		<description><![CDATA[Wer hatte noch nicht das Problem. Ein Klick an der falschen Stelle beim Setzen der Fusebits und schon hat man einen AVR Prozessor auf externen Takt gestellt, obwohl man eigentlich externen Quarz gemeint hatte. Damit hat man sich vom Prozessor ausgesperrt. Um so einen AVR wieder zu beleben ben&#246;tigt man eine HV-Programmer, wie z.B. das [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/23913470@N00/2215430472/" title="Preserver" class="liimagelink"><img src="http://farm3.static.flickr.com/2028/2215430472_f80850e7f2.jpg" alt="Preserver" /></a></p>
<p>Wer hatte noch nicht das Problem. Ein Klick an der falschen Stelle beim Setzen der Fusebits und schon hat man einen AVR Prozessor auf externen Takt gestellt, obwohl man eigentlich externen Quarz gemeint hatte. Damit hat man sich vom Prozessor ausgesperrt. Um so einen AVR wieder zu beleben ben&#246;tigt man eine HV-Programmer, wie z.B. das STK500 oder den AVR Preserver. <span id="more-43"></span><br />
Die Schaltung ist sehr einfach gehalten. Ben&#246;tigt wird ein Quarz Oszillator (Frequenz ist fast egal, sollte zwischen 1..4 MHz liegen. Ich habe gleich einen 14poligen IC Sockel spendiert, so kann ich bei Bedarf auch den Quarz Oszillator tauschen. Der 10polige Wannenstecker hat die Standard Belegung der STK200/Kanda ISP Schnittstelle, und kann so einfach mit einer zus&#228;tzlichen 10poligen Buchse, sie auf das ISP Kabel gecrimpt wird, mit Spannung aus dem ISP Dongle mitversorgt werden.<br />
Die Pinbelegung der Quarz Oszillatoren ist eigentlich immer dieselbe und entspricht vom Layout her einem IC. Im Bild oben wird ein quadratischer Quarz Oszillator verwendet, andere Bauformen sind oftmals rechteckig wie ein 14poliger IC. Pin1 ist immer mit einem Punkt gekennzeichnet (unten links). Die Z&#228;hlweise der Pins ist wie bei ICs &#252;blich von unten links (Pin1) bis unten rechts (Pin7) dann oben rechts (Pin8) bis oben links (Pin14).</p>
<li>Pin1 ist unbenutzt</li>
<li>Pin7(4) ist Masse</li>
<li>Pin8(12) der Ausgang</li>
<li>Pin14 die Versorgungsspannung (5V)</li>
<p>Die Zahlen in Klammern gelten f&#252;r den quadratischen Quarz Oszillator der im 14poligen IC Sockel steckt. Auf der Platine werden deshalb die Pins 4..7 untereinander verbunden und ebenso die Pins 8..12.</p>
<h3>Schaltplan</h3>
<p><a href="http://www.flickr.com/photos/23913470@N00/2214636485/" title="preserver_schem" class="liimagelink"><img src="http://farm3.static.flickr.com/2143/2214636485_1fe57281b0.jpg" alt="preserver_schem" /></a></p>
<h3>Board Layout</h3>
<p><a href="http://www.flickr.com/photos/23913470@N00/2215428896/" title="preserver" class="liimagelink"><img src="http://farm3.static.flickr.com/2209/2215428896_dd39439ff0.jpg" alt="preserver" /></a></p>
<p>Board 3-D Ansicht</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2215428852/" title="preserver" class="liimagelink"><img src="http://farm3.static.flickr.com/2116/2215428852_1c9a6dc0a6.jpg" alt="preserver" /></a></p>
<h2>Weblinks</h2>
<li><a href="http://www.klaus-leidinger.de/mp/" class="liexternal">http://www.klaus-leidinger.de/mp/</a> Die Idee f&#252;r den Preserver stammt von dort.</li>
<li><a href="http://palmavr.sourceforge.net/cgi-bin/fc.cgi" class="liexternal">AVR Fusebits Calculator</a> &#8211; Ein klasse Tool zum finden der richtigen Fusebits</li>
<li><a href="http://www.mikrocontroller.net/articles/AVR_Fuses" class="liexternal">www.microcontroller.net</a> &#8211; Fusebits</li>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/mikrocontroller/avr-preserver/43/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arduino und der Asuro</title>
		<link>http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42</link>
		<comments>http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42#comments</comments>
		<pubDate>Wed, 09 Jan 2008 22:06:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Asuro]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Mikrocontroller]]></category>
		<category><![CDATA[Robotik]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42</guid>
		<description><![CDATA[Mit der Asuro Erweiterung und der damit vorhandenen RS232 Schnittstelle lassen sich auch sehr leicht Arduino Skripte laden und ausf&#252;hren. Allerdings wird dazu auch ein neuer Prozessor mit einem Arduino kompatiblen Bootloader vorausgesetzt. Warum nicht gleich auf den ATmega168 umsteigen. Der bietet neben dem doppelten Speicher f&#252;r Flash, EEPROM und RAM auch eine Debug M&#246;glichkeit [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der Asuro Erweiterung und der damit vorhandenen RS232 Schnittstelle lassen sich auch sehr leicht <a href="http://www.arduino.cc" class="liexternal">Arduino</a> Skripte laden und ausf&#252;hren. Allerdings wird dazu auch ein neuer Prozessor mit einem Arduino kompatiblen Bootloader vorausgesetzt. Warum nicht gleich auf den ATmega168 umsteigen. Der bietet neben dem doppelten Speicher f&#252;r Flash, EEPROM und RAM auch eine Debug M&#246;glichkeit &#252;ber DebugWire.<br />
<span id="more-42"></span><br />
Die Idee dazu stammt aus dem <a href="http://www.arduino.cc/playground/" class="liexternal">Arduino Playground</a> in dem Arduino Nutzer ihre Projekte vorstellen. Unter <a href="http://www.arduino.cc/playground/Learning/Asuro" class="liexternal">Arduino and the Asuro Robot</a> von Jakob Remin findet man neben einer Quick&#8217;n'Dirty Methode zur Modifikation des Asuros auch ein Arduino Sketch zur Ansteuerung des Asuros. Den Umbau kann ich mir durch die  <a href="http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34" class="liinternal">Asuro Erweiterung</a> schon mal sparen.</p>
<h2>Erste Versuche</h2>
<p>Die ersten Versuche mit einem geclonten Arduino Diecimila Bootloader verliefen schon mal vielversprechend. Mit<br />
Ein paar &#196;nderungen in der Board Beschreibungsdatei hat man ein neues Board dazugef&#252;gt und dieses taucht nach dem Start der Arduino Oberfl&#228;che unter Tools | Boards aus.</p>
<pre class="prettyprint" style="padding-left: 30px;">##############################################################
atmega168.name=Arduino Asuro w/ ATmega168
atmega168.upload.protocol=stk500
atmega168.upload.maximum_size=14336
atmega168.upload.speed=9600
atmega168.bootloader.low_fuses=0xff
atmega168.bootloader.high_fuses=0xdd
atmega168.bootloader.extended_fuses=0x00
atmega168.bootloader.path=atmega168asuro
atmega168.bootloader.file=ATmegaBOOT_168_asuro.hex
atmega168.bootloader.unlock_bits=0x3F
atmega168.bootloader.lock_bits=0x0F
atmega168.build.mcu=atmega168
atmega168.build.f_cpu=8000000L
atmega168.build.core=arduino</pre>
<p>Nach einstellen der Schnittstelle wird der Asuro auch gleich erkannt und das Beispiel Sketch kann &#252;bersetzt und geladen werden.<br />
Allerdings zeigte sich dabei der Effekt das beim Flashen bzw. beim Einschalten oder Reset des Asuros der rechte Motor f&#252;r ca. 10sek los l&#228;uft. Das ist nat&#252;rlich unsch&#246;n und liegt am Original Arduino Bootloader. Dort wird PB5 als Port f&#252;r die Status LED verwendet. Beim Asuro ist dieser Port mit dem rechten Motor verbunden. Autsch!!</p>
<h2>Bootloader anpassen</h2>
<p>Da der Quellcode f&#252;r den Bootloader als Open Source zur Verf&#252;gung steht, ist das &#196;ndern der Status LED kein Problem. Allerdings blieb auch nach &#196;nderung die recht lange Wartezeit von 10sek bis das Anwenderprogramm gestartet wird. Nach ein paar Internet Recherchen war auch f&#252;r dieses Problem eine L&#246;sung in Form des ADABOOT Bootloader gefunden. Dieser Bootloader bietet einige Vorteile gegen&#252;ber dem Arduino Bootloader. Damit bin ich erst mal gl&#252;cklich.</p>
<p>Allerdings klappt die &#220;bertragung bisher nur &#252;ber RS232. Bei Bluetooth Anbindung gibt es keine Verbindung zwischen der Arduino IDE und dem Asuro.  Man kann zwar in der Bluetooth Umgebung die Verbindung manuell herstellen, dann klappt immerhin die Verbindung im Terminalmode. Versucht man aber ein Sketch zu laden, bricht die Verbindung wieder ab. Mit Hyper Terminal gibt es keine Probleme unter Bluetooth. Schade, aber man kann wohl nicht alles haben. Allerdings besteht noch Hoffnung. Auf der  <a href="http://www.chip45.com" class="liexternal">Chip45 Homepage</a>, gibt es den Ur-Bootloader f&#252;r die Arduino Boards. Dort gibt es auch ein kleines Tool zum Flashen von Programmen &#252;ber den Bootloader. Dies lie&#223;e sich vielleicht anpassen, damit das Flashen auch unter Bluetooth funktioniert. Ein nettes Feature der Arduino Bootloader ist der automatische Reset des Boards, wenn ein neues Programm geflasht werden soll. Dazu muss lediglich ein 100nF Kondensator  zwischen Reset Leitung und DTR Steuerleitung gel&#246;tet werden. Allerdings F&#252;hrt das auch dazu, dass der Asuro einen Reset ausf&#252;hrt, wenn man die Arduino IDE, bzw. das Terminalprogramm startet.</p>
<p>Theoretisch lie&#223;e sich der Bootloader  auch soweit anpassen, das er auch &#252;ber die Standard Infrarot Schnittstelle des ASUROs funktioniert. Dazu m&#252;sste lediglich noch der 36kHz Timer f&#252;r die Ansteuerung der IR-LED implementiert werden. Praktisch funktioniert das leider nicht. Die IR &#220;bertragung ist leider zu fehlertr&#228;chtig.</p>
<p>Den Asuro Bootloader kann man sich bei <a href="http://sourceforge.net/project/showfiles.php?group_id=155217" class="liexternal">Sourceforge</a> herunterladen</p>
<h2>Asurino &#8211; Eine Arduino Bibliothek f&#252;r den Asuro</h2>
<p>Aus dem bestehenden Sketch von Jakob Remin habe ich angefangen eine Arduino Bibliothek zu schreiben.<br />
Der Name Asurino ist ein Kunstwort zusammengef&#252;gt aus den beiden Worten <strong>Asur</strong>o und Ardu<strong>ino</strong>. Bibliotheken f&#252;r Arduino werden in C++ geschrieben. Das h&#246;rt sich erst mal nach viel Arbeit an, ist aber nicht sonderlich schwer. Es gibt eine sehr gute Anleitung zum Schreiben von Bibliotheken. Man braucht auch nicht bei Null anfangen, da man nat&#252;rlich die vorhandenen Arduino Funktionen alle verwenden kann. Au&#223;erdem kann man sich an bereits existierenden Bibliotheken orientieren.</p>
<p>Bisher ist die Bibliothek noch recht rudiment&#228;r und sicher auch nicht fehlerfrei. Wer m&#246;chte kann sich die derzeitige Arbeitsversion bei <a href="http://sourceforge.net/project/showfiles.php?group_id=155217" class="liexternal">Sourceforge</a> herunterladen.</p>
<h2>Asuro Beispiel Sketche</h2>
<p>Ein Beispiel Sketch f&#252;r den Asuro sieht z.B. so aus. Durch das<br />
<code>#include "Asuro.h"</code><br />
wird die Bibliothek eingebunden. Die Zeile<br />
<code>Asuro asuro = Asuro();</code><br />
ist der Aufruf f&#252;r den Konstruktor der Asuro Klasse. Die Setup Routine wird einmalig beim Start des Sketches ausgef&#252;hrt und initialisiert lediglich die serielle Schnittstelle. Die Asuro spezifische Initialisierung passiert bereits im Konstruktor. Die loop Funktion wird dann zyklisch vom Hauptprogramm aufgerufen und durchlaufen. Das eigentliche Programm fragt die Tastsensoren ab. Falls eine Taste gedr&#252;ckt wurde, wird der Tastenwert bin&#228;r zum Terminalprogramm gesendet und die Status LED f&#252;r eine Sekunde auf Rot gesetzt, dann wieder zur&#252;ck auf Gr&#252;n.</p>
<pre class="prettyprint" style="padding-left: 30px;">#include "Asuro.h"
Asuro asuro = Asuro();
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  int Switches;
  /* front switch check */
  Switches = asuro.readSwitches();
  if (Switches)      /* Key pressed?
  {
    Serial.println("switches pressed");
    Serial.println(Switches, BIN);    /* send key value in binary */
    asuro.setStatusLED(RED);        /* status led red */
    delay(1000);                         /* wait 1sec */
  }
  asuro.setStatusLED(GREEN);      /* status led green */
}</pre>
<p>Einen aktualisierten Artikel zu diesem Thema findet man im <a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Asurino" class="liexternal">AsuroWiki</a>.</p>
<h2>Weblinks</h2>
<ul>
<li><a href="http://www.arduino.cc" class="liexternal">Arduino</a></li>
<li><a href="http://www.arduino.cc/playground/" class="liexternal">Arduino Playground</a></li>
<li><a href="http://www.arduino.cc/playground/Learning/Asuro" class="liexternal">Arduino and the Asuro Robot</a></li>
<li><a href="http://www.arduino.cc/playground/Learning/Asurino" class="liexternal">Asurino, an Arduino Library for the Asuro robot</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=155217" class="liexternal">Sourceforge</a> &#8211; Asurino, AsuroBoot Download</li>
<li><a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Asurino" class="liexternal">Asurino Artikel im AsuroWiki</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asuro Erweiterung RS232/Bluetooth und ISP</title>
		<link>http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34</link>
		<comments>http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34#comments</comments>
		<pubDate>Sat, 22 Dec 2007 23:47:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asuro]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Mikrocontroller]]></category>
		<category><![CDATA[Robotik]]></category>
		<category><![CDATA[Bluetooth]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34</guid>
		<description><![CDATA[Geschafft! Nach langer Zeit hatte ich mal wieder etwas Zeit, mich um meinen kleinen Freund den ASURO zu k&#252;mmern. Rechtzeitig zu Weihnachten erh&#228;lt dieser mal wieder eine Erweiterung. Diese besteht zurzeit aus einem RS232 bzw. Bluetooth Modul und einer ISP Schnittstelle. Der Clou bei der Sache ist, die Erweiterung wird nicht, wie das LCD-Modul oder [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/23913470@N00/2129839498/" title="Asuro mit BT Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2201/2129839498_1121858e85.jpg" alt="Asuro mit BT Modul" /></a></p>
<p>Geschafft! Nach langer Zeit hatte ich mal wieder etwas Zeit, mich um meinen kleinen Freund den ASURO zu k&#252;mmern. Rechtzeitig zu Weihnachten erh&#228;lt dieser mal wieder eine Erweiterung. Diese besteht zurzeit aus einem RS232 bzw. Bluetooth Modul und einer ISP Schnittstelle. Der Clou bei der Sache ist, die Erweiterung wird nicht, wie das LCD-Modul oder die SnakeVision Erweiterung, von oben, sondern von unten aufgesteckt. D.h. man kann oben zus&#228;tzlich z.B. das LCD-Modul stecken. Zudem ist auf der Platine noch jede Menge Platz f&#252;r weitere Features.</p>
<p><span id="more-34"></span></p>
<h2>Durchf&#252;hrung</h2>
<p>Durch die Erfahrungen, die ich mit dem <a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/AsuroEvalBoard" class="liexternal">ASURO Eval Board</a> gemacht habe, war die Umsetzung nicht sehr schwierig. Dort war ja auch schon das RS232 Modul und das Bluetooth Modul sowie die ISP Schnittstelle vorhanden. Nur ist das ganze jetzt wesentlich kompakter, robuster und nicht so verbaut wie beim Eval Board.</p>
<p>Der ASURO mu&#223; allerdings etwas modifiziert werden, damit das ganze auch funktioniert. Wer es nachbauen m&#246;chte, sollte schon wissen, was er tut. Die Umbauten sind allerdings nicht so gravierend, dass man das Ganze nicht wieder zur&#252;ckbauen k&#246;nnte. Auch ist der einwandfreie Betrieb ohne die Erweiterungsplatine m&#246;glich. Es m&#252;ssen lediglich 3 Jumper am Asuro gesetzt werden.</p>
<h3>UART Schnittstelle</h3>
<p>Die UART Schnittstelle am ASURO ist normalerweise &#252;ber eine Infrarot Schnittstelle realisiert. Leider ist die Reichweite dieser L&#246;sung nicht besonders (max. 50cm). Zudem wird auf PC Seite ebenfalls ein Infrarot Transceiver ben&#246;tigt. Um die UART Schnittstelle zur Erweiterungs Platine zu f&#252;hren, m&#252;ssen die beiden Signale RX und TX vom Prozessor zur IR Schnittstelle durchtrennt werden. Zus&#228;tzlich werden die durchtrennten Signale von der IR Schnittstelle ebenfalls zur Erweiterungsplatine gef&#252;hrt. Zweckm&#228;&#223;igerweise werden alle Signal auf einen doppelreihigen Steckerleiste gef&#252;hrt. Die untere Reihe wird an die Prozessor Pins gel&#246;tet. an die obere Reihe kommen die Signale von der IR Schnittstelle. Da gleich neben den UART ins der RESET Pin h&#228;ngt, wird dieser ebenfalls auf die insgesamt 2&#215;3 poligen Steckerleiste gef&#252;hrt (geh&#246;rt aber eigentlich zur ISP Schnittstelle). Da der RESET Pin direkt an der Versorgungsspannung h&#228;ngt, wird diese Verbindung ebenfalls durchtrennt und die Versorgungsspannung  an die obere Reihe gef&#252;hrt. So ist gew&#228;hrleistet, das durch Stecken von 3 Jumpern auf die Steckerleiste, die original Funktion des ASUROs wiederhergestellt ist.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129823200/" title="Asuro UART Verdrahtung" class="liimagelink"><img src="http://farm3.static.flickr.com/2074/2129823200_ddff632457.jpg" alt="Asuro UART Verdrahtung" /></a></p>
<h3>ISP Schnittstelle</h3>
<p>Die ISP Schnittstelle ist beim Original ASURO Prozessor abgeschaltet und kann nur durch einen Chip Erase wieder eingeschaltet werden. Leider ist durch den Chip Erase aber auch der Bootloader weg. Deshalb sollte man Experimente mit der ISP Schnittstelle nur mit einem anderen Prozessor durchgef&#252;hrt werden und der Original Prozessor gut aufgehoben werden. Zur ISP Schnittstelle geh&#246;rt neben RESET, VErsorgungsspannung und Masse die 3 Prozessor Signale MISO, MOSI und SCK. Diese 3 Signale liegen beim Mega8 gl&#252;cklicherweise direkt nebeneinander  auf Pin 17,18 u. 19. So reicht eine 3polige abgewinkelte Steckerleiste aus, die an die entsprechenden Prozessor Pins gel&#246;tet werden. Leiterbahnen m&#252;ssen keine aufgetrennt werden.</p>
<h3>Verdrahtung</h3>
<p>Auf dem ASURO m&#252;ssen ingesamt 4 Leitungen nachverdrahtet werden. Dies sind:</p>
<li> die TX Leitung von der IR Sende Diode,</li>
<li>die RX Leitung vom IR Empf&#228;nger,</li>
<li>die Versorgungspannung zur 3&#215;2 poligen Steckerleiste</li>
<li>eine Versorgungsspannung Leitung zum Widerstand R11, da dieser hinter der RESET Leitung an der Versorgungsspannung hing</li>
<p>Dazu kommt eine 6-polige Leitung zur UART Schnittstelle und die 3polige Leitung zur ISP Schnittstelle. Versorgungsspannung und Masse kommen von den Erweiterungs Steckverbindern, die ebenfalls zur Erweiterungsplatine f&#252;hren.<br />
<a href="http://www.flickr.com/photos/23913470@N00/2129053755/" title="Asuro Erweiterung komplett" class="liimagelink"><img src="http://farm3.static.flickr.com/2009/2129053755_ee7e836835.jpg" alt="Asuro Erweiterung komplett" /></a></p>
<h3>Schaltplan</h3>
<p><a href="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/asuro_erweiterung.png" title="Asuro Erweiterung Schematic" rel="lightbox[34]" class="liimagelink"><img src="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/asuro_erweiterung_s.png" alt="Asuro&lt;br /&gt; Erweiterung Schematic" /></a><br />
F&#252;r eine vergr&#246;&#223;erte Darstellung auf das Bild klicken.</p>
<h2>UART-Modul</h2>
<p>Das RS232 Modul besteht aus einem normalen RS232 Pegelwandler Chip, hier ist das der MAX202. Die Steckerbelegung des 6poligen Steckbverbinders ist diesselbe wie beim Bluetooth Modul.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129824702/" title="RS232 Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2275/2129824702_93e4c68df2.jpg" alt="RS232 Modul" /></a></p>
<p>Der ASURO mit dem RS232 Modul. Mit den beiden gr&#252;nen Jumper rechts neben dem RS232 Modul kann man zwischen RS232 und IR Schnittstellen Betrieb umschalten.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129059453/" title="Asuro mit Erweiterung und RS232 Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2355/2129059453_2875df5fe3.jpg" alt="Asuro mit Erweiterung und RS232 Modul" /></a></p>
<h3>Schaltplan</h3>
<p><a href="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/rs232-adapter.png" title="rs232-adapter.png" rel="lightbox[34]" class="liimagelink"><img src="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/rs232-adapter_s.png" alt="rs232-adapter.png" /></a><br />
F&#252;r eine vergr&#246;&#223;erte Darstellung auf das Bild klicken.</p>
<h2>Bluetooth Modul</h2>
<p>Als Bluetooth Modul kommt das BlueSmiRF von Sparkfun zum Einsatz. Dies ist noch die Version 1.0. Neuere Module verwenden einen Bluegiga Transceiver.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129049719/" title="BlueSmiRF BT Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2390/2129049719_39ca3dd8f6.jpg" alt="BlueSmiRF BT Modul" /></a></p>
<p>Der Asuro mit dem Bluetooth Modul.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129833192/" title="Asuro mit Erweiterung und BT Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2255/2129833192_06fb5463b6.jpg" alt="Asuro mit Erweiterung und BT Modul" /></a></p>
<h2>ISP Schnittstelle</h2>
<p>Die ISP Schnittstelle ben&#246;tigt keine weiteren Bauteile, lediglich der RESET Pin bekommt den &#252;blichen 10kOhm Pullup Widerstand. Als ISP Steckverbinder wurde ein 10poliger Pfostensteckverbinder mit KANDA/STK200 Steckerbelegung verwendet. Rechts daneben befindet sich noch ein Kurzhubtaster als RESET Knopf.</p>
<h2>Aussichten</h2>
<p>Es fehlen derzeit noch die Liniensensoren. Diese werden dann, wie die Infrarot Schnittstelle, &#252;ber Jumper steckbar sein. Geplant ist weiterhin eine I2C Porterweiterung mit ein paar IS471 als IR Kollisionsdetektoren. Auch ein I2C A/D Wandler w&#228;re eine sinnvolle Erweiterung. Eventuell w&#228;re auch ein Co-Prozessor (als I2C Slave) besser als die I2C Chips mal sehen.</p>
<p>Ansonsten w&#252;nsche ich meinen Lesern ein frohes Weihnachtsfest.</p>
<p>Einen aktualisierten Artikel zu diesem Thema findet man im <a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/AsuroErweiterung" class="liexternal">AsuroWiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<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[Arduino]]></category>
		<category><![CDATA[AVR]]></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" rel="lightbox[16]" 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://code.google.com/p/arduino/" class="liexternal">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>
<li><a href="http://www.watterott.com/" class="liexternal">Watterott</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/mikrocontroller/arduino-einfuehrung/16/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

