<?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>Niklas Rother - Computer &#38; mehr</title>
	<atom:link href="http://niklas-rother.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://niklas-rother.de</link>
	<description>Ein Blog über C#, Software, und anderes...</description>
	<lastBuildDate>Sun, 12 May 2013 10:38:44 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>FischerPi Teil 3: Kühlung, Stromverbrauch und ein erstes Blinken</title>
		<link>http://niklas-rother.de/artikel/fischerpi-teil-3-kuhlung-stromverbrauch-und-ein-erstes-blinken/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/fischerpi-teil-3-kuhlung-stromverbrauch-und-ein-erstes-blinken/#comments</comments>
		<pubDate>Sun, 12 May 2013 10:38:44 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[fischerpi]]></category>
		<category><![CDATA[fischertechnik]]></category>
		<category><![CDATA[kühlung]]></category>
		<category><![CDATA[ldconfig]]></category>
		<category><![CDATA[libroboint]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[stromverbrauch]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1845</guid>
		<description><![CDATA[Im letzten Teil hatte ich ja schon geschrieben, dass es noch ein Problem mit der Kühlung gab, sprich der Spannungswandler auf meinem Roboter, der aus den ~9V für den fischertechnik-Teil genau 5V für den Raspberry Pi machen sollte, wurde viel &#8230; <a href="http://niklas-rother.de/artikel/fischerpi-teil-3-kuhlung-stromverbrauch-und-ein-erstes-blinken/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Im <a title="Aus NiboPi wird FischerPi: Teil 2" href="http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/">letzten Teil</a> hatte ich ja schon geschrieben, dass es noch ein Problem mit der Kühlung gab, sprich der Spannungswandler auf meinem Roboter, der aus den ~9V für den fischertechnik-Teil genau 5V für den Raspberry Pi machen sollte, wurde viel zu heiß. Wie Christoph in den Kommentaren <a href="http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/#comment-4082">anmerkte</a> bin ich da nicht ganz unschuldig dran, denn mein Spannungswandler ist tatsächlich nur für 2A ausgelegt, wenn er ausreichend gekühlt wird.</p>
<p>Also habe ich einen Blick in unsere Metallkiste geworfen, und aus einem alten Stück Alu-Blech dieses Kühlkörper gebaut:<a href="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1936.jpg"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-1847" alt="IMGP1936" src="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1936-1024x768.jpg" width="640" height="480" /></a>Kommt vermutlich nicht ganz an die Kühlleistung eines richtigen Kühlkörpers heran, reicht aber völlig. Damit bleibt die Temperatur des Bleches auf einem erträglichen Maß (man kann es ca. 10 sek lang anfassen). Trotzdem ist das Ding immer noch ziemlich warm, und strahlt auch eine Menge Wärme ab. Gerade wenn das man von einem Akku gespeist werden soll, wird da wohl zu viel Energie verloren gehen&#8230; Aber: <strong>Der Raspberry Pi läuft!</strong> Er wird direkt über die GPIO Pins mit Strom versorgt, und läuft wunderbar.</p>
<p><span id="more-1845"></span></p>
<p>Ich habe dann auch gleich ein paar Messungen zum Stromverbrauch angestellt:<a href="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1935.jpg"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-1846" alt="IMGP1935" src="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1935-1024x768.jpg" width="640" height="480" /></a>Gemessen wurde zwischen GPIO und Spannungswandler, also <em>ohne</em> die Wandlungsverluste. Dazu kommt noch, das mein Multimeter nicht gerade gut ist, und ich im 10A Modus messen musste, wodurch ich leider nur nur zwei Nachkommastelle habe. Hier sind jedenfalls die Ergebnisse:</p>
<ul>
<li>RoboInterface (Leerlauf): 34mA</li>
<li>Motoren des Roboters (beide, volle Drehzahl): 500mA (bis zu 1A wenn sie blockiert werden)</li>
<li>Raspberry Pi (Leerlauf): 390mA</li>
<li>Raspberry Pi (100% CPU (yes &gt; /dev/null)): 480mA</li>
<li>Raspberry Pi (Bootvorgang): 600mA</li>
</ul>
<p>Interessanterweise verbraucht der RPi beim booten mehr, als wenn nur die CPU unter Vollast läuft, scheinbar braucht also auch die SD-Karte einiges an Strom. (Alles ohne Übertaktung)</p>
<p>Der Spannungswandler wird also circa 400mA wandeln müssen für den RPi. Der Akku wird allerdings auch noch mit den 500mA der Motoren und den Wandlungsverlusten belasten, alles in allem werden da fast 1,5A abfallen. Da der Akku nur 900mAh hat, wird er wohl nicht lange halten <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Was leider auch nicht funktioniert hat, ist mein WLAN Adapter, wenn ich den anschließe landet ein Haufen Fehlermeldung im Log und der Pi verabschiedet sich. Da der Adapter aber auch sehr warm wird (wenn er und der Pi über ein Netzteil versorgt werden), vermute ich, dass der einfach zu viel Strom frisst. Dazu ist er noch viel zu groß und unhandlich und fällt auch noch ab und zu aus, da wird wohl ein neuer her müssen! (Einer von diesen winzigen, die fast im USB Anschluss verschwinden <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>Doch zum dritten Punkt der Überschrift: Ich konnte meinem Roboter ein Blinken entlocken! Dazu kommt auf dem RPi die <a href="http://defiant.homedns.org/~erik/ft/libft/">libroboint </a>zum Einsatz, die über ein wenig Python das RoboInterface über USB ansteuert. Ich hatte das schon mal probiert, aber leider wollte das Python Beispiel nicht funktionieren. (Das C Beispiel schon, dabei ist mir fast der Roboter vom Tisch gefallen <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> ) Der entscheidende Hinweis kam aus der/dem (großartigen) <a href="http://www.ftcommunity.de/ftpedia_ausgaben/ftpedia-2012-2.pdf">ft:pedia 02/12</a>, dort sieht man im Listing auf Seite 33 den Befehl</p>
<pre class="brush: bash; title: ; notranslate">

sudo ldconfig

</pre>
<p>Und der hat bei mir wohl gefehlt. Damit konnte ich dann mein &#8220;Auge&#8221; zum Blinken bringen:</p>
<pre class="brush: python; title: ; notranslate">
from time import sleep
from robointerface import *
ri = RoboInterface(bEnableDist=1)
while True:
ri.SetMotor(4, 'l')
sleep(1)
ri.setMotor(4, 's')
sleep(1)
</pre>
<p>Wunderbar! Jetzt kann es also mit der Entwicklung losgehen (zumindest, wenn ich einen neuen WLAN Adapter habe). Die Raspberry Pi Foudation hat auch schon durchscheinen lassen, dass das Camera.Board wohl noch in diesem Monat erscheinen wird, was will man mehr? <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<br /><a href="http://niklas-rother.de/?p=1845#comments" title="Comments on &quot;FischerPi Teil 3: Kühlung, Stromverbrauch und ein erstes Blinken&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1845" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/fischerpi-teil-3-kuhlung-stromverbrauch-und-ein-erstes-blinken/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wenn Half-Life 2 plötzlich koreanisch spricht&#8230;</title>
		<link>http://niklas-rother.de/artikel/wenn-half-life-2-plotzlich-koreanisch-spricht/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/wenn-half-life-2-plotzlich-koreanisch-spricht/#comments</comments>
		<pubDate>Sat, 11 May 2013 12:49:14 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Spiele]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[half life 2]]></category>
		<category><![CDATA[russich]]></category>
		<category><![CDATA[sprache]]></category>
		<category><![CDATA[steam]]></category>
		<category><![CDATA[valve]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1842</guid>
		<description><![CDATA[Momentan hat Steam/Valve scheinbar ein paar Probleme mit den Spracheinstellungen bei Half-Life 2. Letzte Dienstag hat sich das Spiel bei mir plötzlich von selbst auf Englisch umgestellt (interessanterweise nur der Ton, das Menü war weiterhin Deutsch), und wollte sich auch &#8230; <a href="http://niklas-rother.de/artikel/wenn-half-life-2-plotzlich-koreanisch-spricht/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Momentan hat Steam/Valve scheinbar ein paar Probleme mit den Spracheinstellungen bei Half-Life 2. Letzte Dienstag hat sich das Spiel bei mir plötzlich von selbst auf Englisch umgestellt (interessanterweise nur der Ton, das Menü war weiterhin Deutsch), und wollte sich auch nicht mehr dazu überreden, wieder Deutsch mit mir zu sprechen. Ich war <del>ein wenig</del> genervt, und verschob das Problem ein wenig.</p>
<p>Heute hab ich dann wieder Half-Life 2 gestartet, und plötzlich war der Ton in einer <strong>asiatisch/chinesisch klingenden Sprache</strong>! WTF? Schnell in den Steam-Ordner geschaut, und dort eine &#8220;half-life2_korean.gfc&#8221; gefunden&#8230;</p>
<p><strong>Die Lösung des Problems: </strong>Rechtsklick auf das Half-Life 2, Eigenschaften, Sprache, und dort auf <em>Russisch</em> (!) stellen:</p>
<p><span id="more-1842"></span></p>
<p><a href="http://niklas-rother.de/wp-content/uploads/2013/05/hl2_koreanisch.png"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1843" alt="hl2_koreanisch" src="http://niklas-rother.de/wp-content/uploads/2013/05/hl2_koreanisch.png" width="616" height="400" /></a>Jetzt ist das komplette Spiel wieder auf Deutsch&#8230; Da scheint irgendwas durcheinander geraten zu sein&#8230;</p>
<p>Allerdings ist bei mir in den Einstellungen im Spiel selber die Box für die Sprache immer noch leer, und als einzigste Option ist Englisch verfügbar, aber das war schon lange so. Dabei hab ich folgendes bemerkt:</p>
<ul>
<li>Die Oberfläche ist immer auf Deutsch. Das scheint aus der Windows-Sprache zu kommen.</li>
<li>Beim Start des Spiels wird unten rechts &#8220;Daten werden geladen&#8221; angezeigt. Das ist immer in der aktiven Sprache! Wenn dort also z.B. &#8220;Loading&#8221; steht, wird der Ton auf Englisch sein!</li>
<li>Steam kann ganz schön nervig sein <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
</ul>
<br /><a href="http://niklas-rother.de/?p=1842#comments" title="Comments on &quot;Wenn Half-Life 2 plötzlich koreanisch spricht&#8230;&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1842" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/wenn-half-life-2-plotzlich-koreanisch-spricht/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Aus NiboPi wird FischerPi: Teil 2</title>
		<link>http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/#comments</comments>
		<pubDate>Wed, 01 May 2013 11:49:42 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[fischerpi]]></category>
		<category><![CDATA[fischertechnik]]></category>
		<category><![CDATA[libft]]></category>
		<category><![CDATA[nibopi]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[spannungwandler]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1833</guid>
		<description><![CDATA[So, ich habe mal wieder Zeit gefunden an meinem Roboter zu arbeiten (Teil Eins lesen!), und ich habe im Grunde ganz neu angefangen. Natürlich soll es immer noch ein Roboter werden, der Kamera gesteuert einer Linie folgt, aber ich habe &#8230; <a href="http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So, ich habe mal wieder Zeit gefunden an meinem Roboter zu arbeiten (<a title="NiboPi: Teil 1" href="http://niklas-rother.de/artikel/nibopi-teil-1/">Teil Eins lesen!</a>), und ich habe im Grunde ganz neu angefangen. Natürlich soll es immer noch ein Roboter werden, der Kamera gesteuert einer Linie folgt, aber ich habe den kompletten Unterbau ausgetauscht. Er war ja mal ein NIBObee, jetzt besteht der komplette Unterbau aus fischertechnik:</p>
<p><a href="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1916.jpg"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-1837" alt="IMGP1916" src="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1916-1024x768.jpg" width="640" height="480" /></a>Warum? Ganz einfach, mir kam der ganze Unterbau einfach zu instabil vor. Jetzt ist das ganze deutlich belastbarer, und die Motoren sind auch kräftiger. Gerade weil ja auch noch eine Stromversorgung (also ein Akku) dazukommen sollte, und die ja nun mal recht schwer sind.</p>
<p>Der Aufbau stammt in großen Teilen aus der Anleitung des RoboMobile Set, nur der Aufbau mit Raspberry Pi und Breadboard ist neu. Der gelbe Rahmen ist mit Tastern ausgestattet, damit können schon wunderbar Hindernisse erkannt werden. Dazu gibt es noch Odometriesensoren an jedem Rad (leider nur mir 8 Impulsen pro Drehung, also ziemlich ungenau&#8230;)</p>
<p><span id="more-1833"></span></p>
<p>Das RoboInterface hat eine USB-Schnittstelle, und diese ist direkt mit dem Raspberry Pi verbunden. Dort soll die <a href="http://defiant.homedns.org/~erik/ft/libft/">libft</a> zum Einsatz kommen, um das Interface zu steuern (über Python). Dazu hängt noch der WLAN-Adapter am USB, auch wenn ich da über einen neuen nachdenke, denn der hat ab und zu Aussetzer (wodurch die SSH Session abbricht) und ist auch nicht wirklich handlich&#8230;</p>
<p>Jedenfalls fährt der Roboter mit dem fischertechnik-Demo-Programm schon schön durch die Gegend aus weicht Hindernissen aus.</p>
<p><strong>Ein kleines Problem bleibt die Stromversorgung:</strong> Das Interface lässt sich über einen fischertechnik-Akku problemlos versorgen (auch wenn der nur 900mAh hat), und der passt auch ganz wunderbar in das Chassis:</p>
<p><a href="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1921.jpg"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-1838" alt="IMGP1921" src="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1921-1024x768.jpg" width="640" height="480" /></a>Doch der Raspberry Pi braucht ja nun mal 5V und kann mit den 9V aus dem Akku nichts anfangen. Dort kommt das Breadboard ins Spiel: Dort sitzt ein 77ct Spannungsregel von Conrad, ein <a href="http://www.produktinfo.conrad.com/datenblaetter/150000-174999/156073-da-01-en-SPANNUNGSREGLER_L78S05CV_STM.pdf">L78S50CV</a> wenn ich das richtig lesen kann, der aus den 9V wieder stabile 5V machen sollte. Laut meinem Multimeter klappt das auch recht gut (direkt am Raspberry Pi gemessen), aber der Spannungregulator wurde dabei extrem heiß (ich hab mich direkt verbrannt), daher scheint da noch was nicht zu stimmen (obwohl das leider so vorgesehen ist, theoretisch soll der bis zu 150°C aushalten <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</p>
<p>Das neue Chassis sieht jedenfalls richtig gut aus, und ist deutlich besser als das alte. Natürlich muss ich jetzt ein bisschen Code umschreiben, und hoffen, dass die libft überhaupt funktioniert. Und natürlich den Spannungwandler besser kühlen <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>So zum Abschluss noch ein paar Bilder, dann baue ich weiter.</p>

<a href='http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/imgp1919/' title='IMGP1919'><img width="150" height="150" src="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1919-150x150.jpg" class="attachment-thumbnail" alt="Stecker am RoboInterface" /></a>
<a href='http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/imgp1917/' title='IMGP1917'><img width="150" height="150" src="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1917-150x150.jpg" class="attachment-thumbnail" alt="Ansicht von oben (das Breadboard ist da noch nicht sinnvoll verkabelt!)" /></a>
<a href='http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/imgp1922/' title='IMGP1922'><img width="150" height="150" src="http://niklas-rother.de/wp-content/uploads/2013/05/IMGP1922-150x150.jpg" class="attachment-thumbnail" alt="Seiteansicht" /></a>

<br /><a href="http://niklas-rother.de/?p=1833#comments" title="Comments on &quot;Aus NiboPi wird FischerPi: Teil 2&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1833" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/aus-nibopi-wird-fischerpi-teil-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>NiboPi: Teil 1</title>
		<link>http://niklas-rother.de/artikel/nibopi-teil-1/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/nibopi-teil-1/#comments</comments>
		<pubDate>Sun, 14 Apr 2013 12:17:37 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Ideen & Gedanken]]></category>
		<category><![CDATA[nibobee]]></category>
		<category><![CDATA[nibopi]]></category>
		<category><![CDATA[raspberry pi]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1823</guid>
		<description><![CDATA[Mein neues Bastel-Projekt: Der NiboPi. Richtig, dass ist ein selten dämlicher Name. Aber bei sowas war ich noch nie sehr kreativ&#8230; Wie man am Namen wohl schon fast erraten kann, ist es eine Verbindung aus Raspberry Pi und NIBObee. Und &#8230; <a href="http://niklas-rother.de/artikel/nibopi-teil-1/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mein neues Bastel-Projekt: <strong>Der NiboPi</strong>. Richtig, dass ist ein selten dämlicher Name. Aber bei sowas war ich noch nie sehr kreativ&#8230; Wie man am Namen wohl schon fast erraten kann, ist es eine Verbindung aus Raspberry Pi und NIBObee. Und damit dieser Blog auch mal wieder ein paar Beiträge bekommt, habe ich mir vorgenommen, ein wenig über dieses Projekt zu bloggen.</p>
<p>Momentan sieht es so aus:</p>
<p><a href="http://niklas-rother.de/wp-content/uploads/2013/04/IMGP1904.jpg"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-1825" alt="IMGP1904" src="http://niklas-rother.de/wp-content/uploads/2013/04/IMGP1904-1024x768.jpg" width="640" height="480" /></a>Unten ist mein NIBObee eingebaut, und oben drauf sitzt in einer LEGO-Halterung mein Raspberry Pi, ein WLAN-Adapter und hinten ein Breadboard mit USB-UART Wandler.</p>
<p>Doch zunächst ein bisschen zum Hintergrund: Vor ein paar Jahren habe ich von meiner Schule aus mit ein paar Freunden am RoboCup teilgenommen, und zwar in der Disziplin RoboRescue. (Das andere Team unserer Schule hat es bei RoboDance übrigens <a href="http://www.innovatives.niedersachsen.de/DE/Nachrichten/Meldung/robocup-2008-weltmeister-aus-osnabrueck-und-langenhagen/541">bis zum Weltmeistertitel geschafft</a>) Wir waren leider nicht ganz so erfolgreich, aber es hat immerhin für eine Platzierung im Mittelfeld gereicht <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-1823"></span></p>
<p>Die Aufgabe: Einer schwarzen Linie folgen und damit grüne und silberne Männchen auf der Linie durch ein Blinken &#8220;retten&#8221;, und dabei Hindernissen ausweichen. Das Siegerteam hat mich damals (wie heute) beeindruckt: Die hatten einen Roboter mit einer Webcam ausgestattet, und haben das Bild scheinbar direkt auf dem Roboter ausgewertet. Damit waren Sie natürlich unserem Roboter aus LEGO mit zwei Lichtsensoren (ohne Farberkennung!) haushoch überlegen (dem Rest der Teilnehmer eigentlich auch).</p>
<p>Und jetzt kann man sich schon fast denken, was mein NiboPi werden soll, oder? <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Richtig: Der NIBObee ist für die Fortbewegung zuständig (und könnte sogar Hindernisse erkennen) und der Raspberrry Pi sorgt für genügend Intelligenz. Ich warte momentan noch sehnsüchtig auf die Raspberry Camera, denn die soll die Daten liefern. Und mit 700Mhz Rechenleistung (plus GPU) und einer 5MP Farbkamera sollte man doch so eine blöde Linie erkennen können, oder?</p>
<p><strong>Doch das sind alles noch Pläne, </strong>wie sieht es denn momentan aus? Momentan steuert noch mein Computer mit einem kleinen C#-Programm:<a href="http://niklas-rother.de/wp-content/uploads/2013/04/NiboBeeRemote_2013-04-14_14-02-58.png"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1829" alt="NiboBeeRemote_2013-04-14_14-02-58" src="http://niklas-rother.de/wp-content/uploads/2013/04/NiboBeeRemote_2013-04-14_14-02-58.png" width="757" height="445" /></a>Auf dem AVR-Controller des NIBObee läuft nur noch ein kleines Programm, dass die Steuersignale über die serielle Schnittstelle annimmt und an die Motoren etc. weiterreicht. Das Programm stammt auch nicht von mir, sondern direkt von den Machern des NIBObee: Die haben ein Programm geschrieben, dass das extra dafür entwickelte <a href="http://www.nibo-roboter.de/wiki/Nibo_Serial_Protocol">Nibo-Serial-Protokoll</a> unterstützt. Natürlich auch nicht nur zum Spaß, sondern für ihr <a href="http://www.nibo-roboter.de/wiki/Blue-Modul">Blue-Modul</a>, was dem NIBObee eine Bluetooth-Schnittstelle verpasst. (Das Programm unterstützt übrigens dank dem tollen <a href="http://www.codeproject.com/Articles/492473/Using-XInput-to-access-an-Xbox-360-Controller-in-M">J2I.Net.XInputWrapper</a> auch meinen XBOX Controller. Das ist ziemlich cool <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p><strong>So ist ungefähr der aktuelle Stand</strong>. Jetzt werde ich versuchen, eine Verbindung zwischen Raspberry Pi und NIBObee hinzubekommen, damit sollte die Steuerung schon mal kabellos über SSH und WLAN funktionieren. Dann wäre eine mobile Stromversorgung nett, und eine Steuerung per Wii-Nunchuck (der benutzt I²C) wäre auch ziemlich cool&#8230; Der nächste Teil folgt, wenn ich wieder was erreicht habe.</p>
<p>Zum Abschluss noch ein paar Bilder des ganzen:</p>

<a href='http://niklas-rother.de/artikel/nibopi-teil-1/imgp1906/' title='IMGP1906'><img width="150" height="150" src="http://niklas-rother.de/wp-content/uploads/2013/04/IMGP1906-150x150.jpg" class="attachment-thumbnail" alt="Die beiden Teile" /></a>
<a href='http://niklas-rother.de/artikel/nibopi-teil-1/imgp1905/' title='IMGP1905'><img width="150" height="150" src="http://niklas-rother.de/wp-content/uploads/2013/04/IMGP1905-150x150.jpg" class="attachment-thumbnail" alt="Der NIBObee" /></a>
<a href='http://niklas-rother.de/artikel/nibopi-teil-1/imgp1902/' title='IMGP1902'><img width="150" height="150" src="http://niklas-rother.de/wp-content/uploads/2013/04/IMGP1902-150x150.jpg" class="attachment-thumbnail" alt="Seitenansicht" /></a>
<a href='http://niklas-rother.de/artikel/nibopi-teil-1/imgp1901/' title='IMGP1901'><img width="150" height="150" src="http://niklas-rother.de/wp-content/uploads/2013/04/IMGP1901-150x150.jpg" class="attachment-thumbnail" alt="Top-Down" /></a>

<br /><a href="http://niklas-rother.de/?p=1823#comments" title="Comments on &quot;NiboPi: Teil 1&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1823" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/nibopi-teil-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kurztipp: Wenn der Rasperry Pi nach dem Update nur noch drei Mal blinkt&#8230;</title>
		<link>http://niklas-rother.de/artikel/kurztipp-wenn-der-rasperry-pi-nach-dem-update-nur-noch-drei-mal-blinkt/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/kurztipp-wenn-der-rasperry-pi-nach-dem-update-nur-noch-drei-mal-blinkt/#comments</comments>
		<pubDate>Sat, 13 Apr 2013 16:14:15 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[rpi-update]]></category>
		<category><![CDATA[start.elf]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1819</guid>
		<description><![CDATA[Ich hatte gerade mal wieder aus Gewohnheit ein Update der Firmware meines Raspberry Pis gemacht, doch das war wohl keine gute Idee: Nach dem Neustart blinkte die &#8220;ACT&#8221; LED nur noch drei Mal, aber das System wollte nicht mehr starten. &#8230; <a href="http://niklas-rother.de/artikel/kurztipp-wenn-der-rasperry-pi-nach-dem-update-nur-noch-drei-mal-blinkt/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ich hatte gerade mal wieder aus Gewohnheit ein Update der Firmware meines Raspberry Pis gemacht, doch das war wohl keine gute Idee: Nach dem Neustart blinkte die &#8220;ACT&#8221; LED nur noch drei Mal, aber das System wollte nicht mehr starten.</p>
<p>Das dreimalige Blinken ist ein Fehlercode, der sagt, dass die start.elf Datei nicht gefunden werden kann. Verursacht hat den Fehler das &#8220;rpi-update&#8221; Tool, denn das tauscht ja die start.elf Datei aus.</p>
<p>Scheinbar gelangt dabei ein <em>nicht druckbares Zeichen</em> (warum auch immer) in den Dateinamen, und damit kann die Datei nicht mehr gefunden werden. Dadurch, dass das Zeichen nicht druckbar ist, sieht man das leider auch nicht&#8230;</p>
<p><strong>Abhlife ist einfach:</strong> Einfach die SD-Karte in einen anderen PC stecken (Windows reicht), und die start.elf-Datei in irgendwas anderes umbenennen (z.B. &#8220;start.elf2&#8243;), und danach wieder zurück auf &#8220;start.elf&#8221;. Auf diese Weise verschwindet das nicht druckbare Zeichen, und alles funktioniert wieder <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><span id="more-1819"></span></p>
<p>Back to work!</p>
<p>Dieser Tipp stammt aus <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?t=34700&amp;p=294781">diesem Thread im Raspberry Pi-Forum</a>.</p>
<br /><a href="http://niklas-rother.de/?p=1819#comments" title="Comments on &quot;Kurztipp: Wenn der Rasperry Pi nach dem Update nur noch drei Mal blinkt&#8230;&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1819" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/kurztipp-wenn-der-rasperry-pi-nach-dem-update-nur-noch-drei-mal-blinkt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dateiendungen für Highlighting in Notepad++ einstellen</title>
		<link>http://niklas-rother.de/artikel/dateiendungen-fur-highlighting-in-notepad-einstellen/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/dateiendungen-fur-highlighting-in-notepad-einstellen/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 15:35:03 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[ctp]]></category>
		<category><![CDATA[Notepad ++]]></category>
		<category><![CDATA[syntax highlighting]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1814</guid>
		<description><![CDATA[Ich habe mich heute ein wenig mit CakePHP beschäftigt (das sieht wirklich richtig gut aus), und CakePHP benutzt *.ctp-Dateien (Cake-Template soll das wohl heißen). Das sind im Grunde aber nur HTML/PHP Dateien (bzw. Fragemente davon). Also wollte ich beim Bearbeiten &#8230; <a href="http://niklas-rother.de/artikel/dateiendungen-fur-highlighting-in-notepad-einstellen/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ich habe mich heute ein wenig mit <a href="http://cakephp.org/">CakePHP </a>beschäftigt (das sieht wirklich richtig gut aus), und CakePHP benutzt *.ctp-Dateien (Cake-Template soll das wohl heißen). Das sind im Grunde aber nur HTML/PHP Dateien (bzw. Fragemente davon). Also wollte ich beim Bearbeiten mit <a href="http://notepad-plus-plus.org/">Notepad++</a> auch das passende SyntaxHighlighting haben.</p>
<p>Leider erkennt Notepad++ die Sprache der Datei an der Dateiendung (woran auch sonst) und stellt .ctp-Dateien natürlich nur als Text dar. Und das zu ändern ist gar nicht mal so einfach, denn die Einstellung dafür ist unter <strong>Einstellungen/Stile&#8230;</strong></p>
<p><a href="http://niklas-rother.de/wp-content/uploads/2013/03/Stile_2013-03-29_14-19-13.png"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1815" alt="Stile_2013-03-29_14-19-13" src="http://niklas-rother.de/wp-content/uploads/2013/03/Stile_2013-03-29_14-19-13.png" width="766" height="439" /></a>Dort klickt man auf die Sprache und stellt unten bei &#8220;Benutzer-Erw.&#8221; die entsprechende Endung ein. Hat ein wenig gedauert, bis ich das gefunden habe&#8230; Möchte man mehr als eine Erweiterung haben, kann man sie einfach mir Leerzeichen getrennt eintragen <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-1814"></span></p>
<p>Viel Spaß damit und <em>schöne Ostern</em> wünsche ich!</p>
<br /><a href="http://niklas-rother.de/?p=1814#comments" title="Comments on &quot;Dateiendungen für Highlighting in Notepad++ einstellen&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1814" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/dateiendungen-fur-highlighting-in-notepad-einstellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fortschritt von dd unter Mac OS</title>
		<link>http://niklas-rother.de/artikel/fortschritt-von-dd-unter-mac-os/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/fortschritt-von-dd-unter-mac-os/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 10:47:54 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Betriebsyteme]]></category>
		<category><![CDATA[Mac/iOS]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[kill]]></category>
		<category><![CDATA[kopieren]]></category>
		<category><![CDATA[siginfo]]></category>
		<category><![CDATA[usr1]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1811</guid>
		<description><![CDATA[Heute musste ich mal wieder ein Image auf eine SD-Karte kopieren, und sowas ist unter Unix/Linux ja kein Problem, daher mache ich das immer gerne mit dd auf meinem MacBook. Dieses mal hatte ich es sogar erst unter Windows versucht, &#8230; <a href="http://niklas-rother.de/artikel/fortschritt-von-dd-unter-mac-os/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Heute musste ich mal wieder ein Image auf eine SD-Karte kopieren, und sowas ist unter Unix/Linux ja kein Problem, daher mache ich das immer gerne mit dd auf meinem MacBook. Dieses mal hatte ich es sogar erst unter Windows versucht, aber dort wollte es nicht so recht funktionieren, also holte ich mein MacBook doch wieder raus. Dort den ganz normalen dd-Befehl abgesetzt:</p>
<pre class="brush: plain; title: ; notranslate">

sudo dd if=/path/to/file.img of=/dev/disk1 bs=1m

</pre>
<p>Nun dauert das natürlich (das Image war 2GB groß, und ja es war ein Raspberry Pi Image <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). Naja, warten wir mal. &#8230; Aber es würde mich schon interessieren, wie weit er gerade ist&#8230; Warum hat dd eigentlich keinen Fortschrittsbalken?</p>
<p>Also schnell dies PID rausgesucht:</p>
<p><span id="more-1811"></span></p>
<pre class="brush: plain; title: ; notranslate">

ps a

</pre>
<p>Aufpassen: Nicht die von sudo nehmen, sondern die von dd selber! Nun <em>dachte ich </em>man müsste das USR1 Signal an dd schicken. Und das muss man auch unter Linux. <strong>Nicht aber unter Mac OS! USR1 beendet dd! </strong>Hier ist das SIGINFO Signal das richtige. Mit diesem Befehl gibt es einen Status:</p>
<pre class="brush: plain; title: ; notranslate">

sudo kill -SIGINFO [PID]

</pre>
<p>Kleiner Tipp: Wenn man als Blockgröße (bs=&#8230;) sowas wie 1m (ein Megabyte) genommen hat kann man an den &#8220;records in/out&#8221; wunderbar sehen, wie weit er schon ist <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also immer mit kill aufpassen&#8230; Besonders, wenn dd schon fast fertig ist <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<br /><a href="http://niklas-rother.de/?p=1811#comments" title="Comments on &quot;Fortschritt von dd unter Mac OS&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1811" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/fortschritt-von-dd-unter-mac-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Tipps 5: Optionale Parameter und Params sind keine gute Idee</title>
		<link>http://niklas-rother.de/artikel/net-tipps-5-optionale-parameter-und-params-sind-keine-gute-idee/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/net-tipps-5-optionale-parameter-und-params-sind-keine-gute-idee/#comments</comments>
		<pubDate>Sun, 10 Mar 2013 14:54:57 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.net tipp]]></category>
		<category><![CDATA[optionale parameter]]></category>
		<category><![CDATA[params]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1805</guid>
		<description><![CDATA[Mal wieder ein neuer .NET Tipp! C# hat ja so nette Funktionen wie optionale Parameter und &#8220;params&#8220;. Beide für sich sehr praktisch, mit dem ersten kann man Parametern Default-Werte mitgeben, die benutzt werden, wenn der Parameter nicht angegeben wird. Mit &#8230; <a href="http://niklas-rother.de/artikel/net-tipps-5-optionale-parameter-und-params-sind-keine-gute-idee/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Mal wieder ein <a href="http://niklas-rother.de/artikel/net-tipps-4-test-auf-mehrere-werte/">neuer .NET Tipp</a>!</p>
<p>C# hat ja so nette Funktionen wie <a href="http://msdn.microsoft.com/en-us/library/dd264739.aspx">optionale Parameter</a> und &#8220;<a href="http://msdn.microsoft.com/en-us/library/w5zay9db%28v=vs.71%29.aspx">params</a>&#8220;. Beide für sich sehr praktisch, mit dem ersten kann man Parametern Default-Werte mitgeben, die benutzt werden, wenn der Parameter nicht angegeben wird. Mit dem zweiten kann man einen Parameter kennzeichnen, der ein Array erwartet, statt diesem kann man dann auch einfach eine Kommata-getrennte Liste angeben.</p>
<p>Nur beides zusammen ist keine gute Idee: Ich hatte diese Funktion, welche eine optionale Sequenznummer erwartet, sowie eine Liste von NiboCommand-Objekten:</p>
<p><span id="more-1805"></span></p>
<pre class="brush: csharp; title: ; notranslate">

public static string GetCommandString(int sequenceNumber = -1, params NiboCommand[] commands)
{ }

</pre>
<p>Nur wie ruft man die jetzt auf? Ganz ohne Parameter geht es, aber das ist ja meistens nicht gewünscht&#8230; Nur so etwas geht leider nicht:</p>
<pre class="brush: csharp; title: ; notranslate">

GetCommandString(new NiboGetCommand(1))

</pre>
<p>Jetzt wird der erste Parameter als Sequenznummer interpretiert, und NiboGetCommand kann nicht in int konvertiert werden <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Die einzige Lösung so eine Funktion aufzurufen ist diese:</p>
<pre class="brush: csharp; title: ; notranslate">

CommandBuilder.GetCommandString(commands: new[]{ new NiboGetCommand(2), new NiboGetCommand(5)})

</pre>
<p>Man muss den Namen des Parameters (&#8220;commands&#8221;) explizit angeben (das ist auch ein nettes Features von C#, BTW), und muss dann aber ein Array übergeben (welche hier automatisch typisiert wird, noch ein nettes Feature <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>Die Reihenfolge der Parameter zu ändern ist übrigens auch keine Lösung, params muss immer der letzte sein. Meine Lösung? Die Sequenznummer weglassen, die braucht eh kein Mensch&#8230;</p>
<br /><a href="http://niklas-rother.de/?p=1805#comments" title="Comments on &quot;.NET Tipps 5: Optionale Parameter und Params sind keine gute Idee&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1805" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/net-tipps-5-optionale-parameter-und-params-sind-keine-gute-idee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ein Kartengeber aus fischertechnik</title>
		<link>http://niklas-rother.de/artikel/ein-kartengeber-aus-fischertechnik/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/ein-kartengeber-aus-fischertechnik/#comments</comments>
		<pubDate>Sat, 16 Feb 2013 11:43:28 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Interressantes]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[fischertechnik]]></category>
		<category><![CDATA[kartengeber]]></category>
		<category><![CDATA[robopro]]></category>
		<category><![CDATA[roboter]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1782</guid>
		<description><![CDATA[Diesmal eine kleine Vorgeschichte: Bei uns bei uniKIK gibt es immer jede Menge Flyer, und diese Flyer müssen meisten in Packen von ca. 15 an die ganzen Schulen verschickt werden. Von der Druckerei kommt aber nur ein großer Haufen, also &#8230; <a href="http://niklas-rother.de/artikel/ein-kartengeber-aus-fischertechnik/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Diesmal eine kleine Vorgeschichte: Bei uns bei uniKIK gibt es immer jede Menge Flyer, und diese Flyer müssen meisten in Packen von ca. 15 an die ganzen Schulen verschickt werden. Von der Druckerei kommt aber nur ein großer Haufen, also müssen die Flyer in einer wahnsinnig spannenden Aktion abgezählt werden. Langweilige Arbeit? Das kann doch auch eine Maschine machen, dachte ich mir <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <a href="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1869.jpg"><img class="alignnone size-large wp-image-1783" alt="IMGP1869" src="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1869-1024x768.jpg" width="640" height="480" /></a></p>
<p><span id="more-1782"></span>Also fing ich mit einem Freund an zu planen, und holte dann zu Hause angekommen meine fischertechnik wieder herraus. Statt der Flyer habe ich erst Mal Karte genommen, aber es ging ja auch nur ums Prinzip. Also fing ich an die oben abgebildete Maschine zu konstruieren. Inzwischen ist das gute Stück fertig und funktioniert erstaunlich gut. Leider werden immer mal wieder zwei Karten durchgezogen, aber ansonsten funktioniert es perfekt. (Von ein paar verklemmten Karten mal abgesehen, die sich mit einer Führungsschiene auch noch beheben ließen). Hier ist eine Video, dass die Maschine in Aktion zeigt:</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/QUh1i6rdDr8?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p><a href="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1873.jpg"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  class="size-medium wp-image-1787 alignleft" alt="IMGP1873" src="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1873-300x225.jpg" width="270" height="203" /></a>Die Ausgabe der Karten selber erfolgt über einen Gummireifen, der unter den Karten liegt. Ober auf dem Stapel ruht noch ein Stein, der für das nötige Gewicht sorgt. Vor dem Stapel ist eine Platte angebracht die nur einen ganz schmalen Schlitz hat, damit auch immer nur ein (oder zwei&#8230;) Karten hindurchrutschen. Davor ist dann noch ein Gummirad, dass dafür sorgt dass die Karten nicht hinter dem Schlitz stecken bleiben<a href="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1872.jpg"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="size-medium wp-image-1786 alignright" alt="IMGP1872" src="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1872-300x225.jpg" width="270" height="202" /></a>. Wichtig sind hier die weißen Innenteile der Räder: Ich hatte es zunächst mit den normalen roten versucht, aber diese waren einfach nicht fest zubekommen. Ich bin mir jetzt nicht sicher, ob man die einfach nicht festschrauben können soll, oder ob das ein Fehler ist&#8230; Mit den weißen aus dem ROBO Mobile Set funktionierte es jedenfalls.</p>
<p>Die Karten fallen dann über eine Rutsche vor eine Klappe, die sie so lange zurückhält, bis genug Karten angesammelt wurden. Dann wird die Klappe geöffnet, was durch einen Tasten an einem Encoder-Rädchen überwacht wird. Diese Verschraubung ist auch sehr lose, was aber sehr praktisch ist, so werden Karten, die in dem Schlitz hängen bleiben beim Schließen nicht zerknickt.<a href="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1874.jpg"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  class="alignleft size-medium wp-image-1788" alt="IMGP1874" src="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1874-300x225.jpg" width="300" height="225" /></a></p>
<p>Der Vorgang wird über einen Taster gestartet (wie auch sonst&#8230;), der versteckt sich aber unter dem großen roten Plättchen. Dort kann man ihn mit einem 15° Winkel so befestigen, dass er durch das Plättchen betätigt wird. Finde ich deutlich besser, als die &#8220;Benutzer&#8221; direkt auf den kleinen Taster drücken zu lassen!</p>
<p>Daneben sieht man noch eine einfache Ampel, die Teil des ausgefeilten Sicherheitskonzeptes ist: Wenn die Ampel grün zeigt, ist das System bereit. Drückt man auf den Taster springt die Ampel auf rot und die gelbe Lampe (s. Bild oben) fängt an zu blinken. Sollte man jetzt noch mal auf den Taster drücken wird der Summer ausgelöst. Ja, man könnte den Taster auch einfach ignorieren, und hätte dann auch keine Probleme damit, dass Ampel + gelbe Lampe + Summer 4 Outputs belegen, es macht einfach Spaß <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1875.jpg"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-medium wp-image-1789" alt="IMGP1875" src="http://niklas-rother.de/wp-content/uploads/2013/02/IMGP1875-300x225.jpg" width="300" height="225" /></a>Das Zählen der Karten selber passiert einfach durch eine Lichtschranke, leider waren die Outputs etwas knapp, daher geht die Lampe der Lichtschranke zusammen mit dem oberen Transportrad an (sie könnte ja einfach an bleiben&#8230;). Dabei stellt sich heraus, dass so eine Lampe recht lange zum angehen benötigt: Lampe an und direkt auf &#8220;dunkel&#8221; (durch eine Karte) zu warten ist keine gute Idee&#8230; Ich hatte erst mit Wartezeiten experimentiert (so ca. 0,3 sec), aber im Grunde ist es einfach einfach auf &#8220;hell&#8221; zu warten <img src='http://niklas-rother.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Weiter geht&#8217;s auf der nächsten Seite&#8230; (Das erkennt man ganz schlecht, daher der Hinweis)</p>
<br /><a href="http://niklas-rother.de/?p=1782#comments" title="Comments on &quot;Ein Kartengeber aus fischertechnik&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1782" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/ein-kartengeber-aus-fischertechnik/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP: htmlentities() zerstört UTF-8</title>
		<link>http://niklas-rother.de/artikel/php-htmlentities-zerstort-utf-8/?pk_campaign=feed</link>
		<comments>http://niklas-rother.de/artikel/php-htmlentities-zerstort-utf-8/#comments</comments>
		<pubDate>Fri, 15 Feb 2013 15:12:31 +0000</pubDate>
		<dc:creator>niklas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[htmlentities]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://niklas-rother.de/?p=1778</guid>
		<description><![CDATA[htmlentities() ist ja eine Recht nette PHP Funktion um schnell das ganzen HTML aus einem String zu bekommen, weil man den z.B. (als Code) ausgeben möchte. Aber: Die Funktion macht UTF-8 kaputt! Also muss man entweder sowas wie utf8_decode(htmlentities($str)) machen, &#8230; <a href="http://niklas-rother.de/artikel/php-htmlentities-zerstort-utf-8/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.php.net/manual/de/function.htmlentities.php">htmlentities()</a> ist ja eine Recht nette PHP Funktion um schnell das ganzen HTML aus einem String zu bekommen, weil man den z.B. (als Code) ausgeben möchte. Aber: <strong>Die Funktion macht UTF-8 kaputt!</strong> Also muss man entweder sowas wie utf8_decode(htmlentities($str)) machen, oder man schaut sich die Argumente noch mal genau an, und stellt fest, dass man das Charset auf explizit angeben kann. Diese Variante lässt UTF-8 am Leben:</p>
<pre class="brush: php; title: ; notranslate">

htmlentities($str, ENT_COMPAT | ENT_HTML401, &quot;UTF-8&quot;);

</pre>
<p><span id="more-1778"></span></p>
<p>Ab PHP 5.4 ist das auch die Standardeinstellung, aber so modern sind wir leider noch nicht&#8230;</p>
<p>Kann einem ein wenig Kopfzerbrechen sparen, wenn einem das klar ist&#8230; Oder man sich wundert, warum der Vorgänger eine Funktion htmlentities8() definiert hat&#8230;</p>
<p>Dieser ganze Kram mit den Zeichenkodierungen ist echt nervig. Man versucht nun schon alles auf UTF-8 zu halten, aber ständig gibt es irgendwelche Funktionen, Browser oder Software bei der das nicht Standard ist, oder die man noch mal extra dran erinnern muss&#8230;.</p>
<br /><a href="http://niklas-rother.de/?p=1778#comments" title="Comments on &quot;PHP: htmlentities() zerstört UTF-8&quot;"><img src="http://niklas-rother.de/wp-content/plugins/feed-comments-number/image.php?1778" alt="Comments" /></a>]]></content:encoded>
			<wfw:commentRss>http://niklas-rother.de/artikel/php-htmlentities-zerstort-utf-8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
