{"id":1321,"date":"2015-04-01T14:16:11","date_gmt":"2015-04-01T12:16:11","guid":{"rendered":"https:\/\/tristanweis.com\/?p=1321"},"modified":"2020-04-19T18:48:02","modified_gmt":"2020-04-19T16:48:02","slug":"the-icarus-bot","status":"publish","type":"post","link":"https:\/\/tristanweis.com\/de\/the-icarus-bot\/","title":{"rendered":"Der Icarus-Roboter"},"content":{"rendered":"F\u00fcr die beiden Vorlesungen <em>We make machines not art<\/em> von <a title=\":*\u00a8*\u00a8*:\u00b7..\u00b7:*\u00a8*:\u00b7..\u00b7:*\u00a8*:\u00b7..\u00b7:*\u00a8*:\u00b7..\u00b7:*\u00a8*:\u00b7..\u00b7:*\u00a8*:\u00b7..\u00b7:*\u00a8*:\u00b7..\u00b7:*\u00a8*\u00a8*:\" href=\"http:\/\/www.darsha.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Darsha Hewitt<\/a> und <em>Tangible Programming - An Introduction<\/em> von <a title=\"Johannes Deich - Media Wiki Bauhaus-Universit\u00e4t Weimar\" href=\"http:\/\/www.uni-weimar.de\/medien\/wiki\/Category:Johannes_Deich\" target=\"_blank\" rel=\"noopener noreferrer\">Johannes Deich<\/a> baute ich einen einfachen Roboter, der st\u00e4ndig vor dem Licht flieht.<br \/>\n<!--more--><\/p>\n<p>Ich verband alles, was ich bis dahin \u00fcber Elektronik-Grundlagen, die Programmierung eines<br \/>\n<a title=\"Arduino - Home\" href=\"http:\/\/www.arduino.cc\/\" target=\"_blank\" rel=\"noopener noreferrer\">Arduino<\/a>-Boards, sowie 3D-Druck gelernt hatte, um meine erste Maschine zu konstruieren.<\/p>\n<div class=\"fve-video-wrapper fve-image-embed fve-thumbnail-image youtube\" style=\"padding-bottom:75%;\">\n    <iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/864vgJSep3w?wmode=transparent&modestbranding=1&autohide=1&showinfo=0&rel=0\" width=\"100%\" height=\"100%\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>    <\/div>\n<p>&nbsp;<\/p>\n<h2>Rahmen<\/h2>\n<div id='gallery-5' class='gallery galleryid-1321 gallery-columns-4 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_ortho.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_ortho-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_front.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_front-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_top.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_top-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_side.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_side-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<p><a href=\"\/wp-content\/uploads\/2015\/02\/icarus_render.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1339 size-large\" src=\"\/wp-content\/uploads\/2015\/02\/icarus_render-1024x576.jpg\" alt=\"icarus_render\" width=\"1024\" height=\"576\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_render-1024x576.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_render-300x169.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_render-768x432.jpg 768w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_render-30x17.jpg 30w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/icarus_render.jpg 1920w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><br \/>\nUm eine robuste Arbeitsgrundlage zu erhalten, beschloss ich, den Rahmen in einer 3D-Umgebung zu modellieren und ihn dann mithilfe eines 3D-Druckers zu materialisieren. Dies stellte mein erstes komplexes Druckmodell dar und brachte mir den Produktionsprozess aufw\u00e4ndigerer Druckprojekte n\u00e4her. Ich entwarf das Modell au\u00dferdem mit gr\u00f6\u00dftm\u00f6glicher Flexibilit\u00e4t, um es auch f\u00fcr zuk\u00fcnftige Projekte verwenden zu k\u00f6nnen.<\/p>\n<div id='gallery-6' class='gallery galleryid-1321 gallery-columns-3 gallery-size-medium'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-07-23.27.36-e1428780187150.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-07-23.27.36-300x169.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-07-23.27.36-300x169.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-07-23.27.36-1024x576.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-07-23.27.36-e1428780187150.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.32-e1428780312621.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.32-300x169.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.32-300x169.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.32-1024x576.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.32-e1428780312621.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.51-e1428780291980.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.51-300x169.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.51-300x169.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.51-1024x576.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-03.47.51-e1428780291980.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.27-e1428780265987.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.27-300x169.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.27-300x169.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.27-1024x576.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.27-e1428780265987.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.33-e1428780238881.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.33-300x169.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.33-300x169.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.33-1024x576.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-17.56.33-e1428780238881.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-19.43.05-e1428780222271.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-19.43.05-300x169.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-19.43.05-300x169.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-19.43.05-1024x576.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/2015-02-08-19.43.05-e1428780222271.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<p>Der Rahmen sollte die Basis f\u00fcr jegliche beliebige biaxiale Maschine bieten, mit genug Platz f\u00fcr eine gew\u00f6hnliche Steckplatine, sowie Batterien. Er h\u00e4lt die vier Motoren m\u00f6glichst nah am Boden fest an ihrem Platz. Ich entschied mich au\u00dferdem dazu, das Modell mit Lego-Kompatibilit\u00e4t auszustatten, f\u00fcr den Fall, dass ich es mit einer weiteren Platine oder anderen Strukturen ausbauen m\u00f6chte.<\/p>\n<h2>R\u00e4der<\/h2>\n<p>Da ein Bewegungsapparat mit einer Lenkvorrichtung elektronisch zu schwer zu kontrollieren gewesen w\u00e4re, entschied ich mich f\u00fcr eine bidirektionale, den orthogonalen Seitenachsen folgende Fortbewegungsform \u2013 via <a title=\"Allseitenrad - Wikipedia\" href=\"https:\/\/de.wikipedia.org\/wiki\/Allseitenrad\" target=\"_blank\" rel=\"noopener noreferrer\">Allseitenr\u00e4der<\/a>. Allseitenr\u00e4der besitzen um ihren Kreisumfang angeordnete, kleine Scheiben, die senkrecht zur Drehrichtung des Rades orientiert sind. Dies erlaubt den Antrieb in ihre nat\u00fcrliche Drehrichtung, w\u00e4hrend sie zus\u00e4tzlich seitlich frei rollen k\u00f6nnen.<br \/>\nNach ein paar Versionen mit Kinderkrankheiten entwarf ich schlie\u00dflich ein funktionierendes Design, indem ich die R\u00e4der (unter anderem) m\u00f6glichst klein gestaltete. Die seitliche Bewegung wird durch kleine, h\u00f6lzerne K\u00fcgelchen erm\u00f6glicht, die auf einem gespannten Draht sitzen.<\/p>\n<div id='gallery-7' class='gallery galleryid-1321 gallery-columns-3 gallery-size-medium'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/04\/omniwheel.model_.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/04\/omniwheel.model_-300x200.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/04\/omniwheel.model_-300x200.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/04\/omniwheel.model_-768x512.jpg 768w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/04\/omniwheel.model_-1024x683.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/04\/omniwheel.model_-30x20.jpg 30w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/04\/omniwheel.model_.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5418-e1428780144119.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5418-300x200.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5418-300x200.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5418-1024x683.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5418-e1428780144119.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5419-e1428780131134.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5419-300x200.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5419-300x200.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5419-1024x683.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5419-e1428780131134.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<h2>Schaltkreise<\/h2>\n<p><a href=\"\/wp-content\/uploads\/2015\/02\/Icarus_arduino_Schaltplan.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1425 size-large\" src=\"\/wp-content\/uploads\/2015\/02\/Icarus_arduino_Schaltplan-753x1024.jpg\" alt=\"\" width=\"753\" height=\"1024\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/Icarus_arduino_Schaltplan-753x1024.jpg 753w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/Icarus_arduino_Schaltplan-221x300.jpg 221w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/Icarus_arduino_Schaltplan-768x1045.jpg 768w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/Icarus_arduino_Schaltplan-22x30.jpg 22w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/Icarus_arduino_Schaltplan.jpg 1083w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><\/p>\n<p>F\u00fcr die Konzeption des Schaltkreises unterteilte ich die Funktionen in grunds\u00e4tzliche Module: Ich ben\u00f6tige vier Fotozellen um die Lichtst\u00e4rke in jeder Richtung zu messen; daher vier Eing\u00e4nge, die ihren Widerstand messen. Au\u00dferdem brauche ich zwei <a title=\"Pulsweitenmodulation - Wikipedia\" href=\"https:\/\/de.wikipedia.org\/wiki\/Pulsweitenmodulation\" target=\"_blank\" rel=\"noopener noreferrer\">PWM<\/a>-gesteuerte Ausg\u00e4nge um die Motorgeschwindigkeit zu kontrollieren \u2013 einen pro Achse. Die PWMs bespeisen jeweils einen Transistor, was mir die Nutzung einer externen Stromquelle f\u00fcr die Motoren erm\u00f6glichte (die Motoren sind hungrig nach 12V). Die Drehrichtung der Motoren wird durch ein Relais pro Achse gesteuert, jeweils mit Hilfe eines <a title=\"Schalter, Schaltfunktion - Wikipedia\" href=\"https:\/\/de.wikipedia.org\/wiki\/Schalter_(Elektrotechnik)#Schaltfunktion\" target=\"_blank\" rel=\"noopener noreferrer\">DPDT-Schalters<\/a>; damit werden zwei weitere Arduino-Ausg\u00e4nge ben\u00f6tigt. Schlie\u00dflich wollte ich noch einen einfachen Potentiometer einarbeiten, der es mir erm\u00f6glicht, eine manuelle Resistenz einzustellen. Diese kann mit der Resistenz der Fotozellen verglichen werden, womit ich den Roboter per Hand an die momentane Lichtsituation des Raumes anpassen kann.<\/p>\n<div id='gallery-8' class='gallery galleryid-1321 gallery-columns-3 gallery-size-medium'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5416-e1428780165801.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5416-300x200.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5416-300x200.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5416-1024x683.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5416-e1428780165801.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5413-e1428780172916.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5413-300x200.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5413-300x200.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5413-1024x683.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5413-e1428780172916.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5417-e1428780157510.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"200\" src=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5417-300x200.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5417-300x200.jpg 300w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5417-1024x683.jpg 1024w, https:\/\/tristanweis.com\/wp-content\/uploads\/2015\/02\/IMG_5417-e1428780157510.jpg 1920w\" sizes=\"auto, 100vw\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<h2>Code<\/h2>\n<p>Der code ist sehr einfach: Er misst die Eingangssignale des Schaltkreises, vergleicht sie, berechnet die resultierenden Geschwindigkeiten und bespeist die jeweiligen Ausg\u00e4nge f\u00fcr Richtung und PWM.<br \/>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus myspoiler su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Code: Icarus.arduino<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<pre>\/\/  Define pins on Arduino board\nint motorXupPin = 10;\nint motorYupPin = 11;\nint motorXdirPin = 12;\nint motorYdirPin = 13;\n\nint photoYtopPin = 0;\nint photoXrightPin = 1;\nint photoYbottomPin = 2;\nint photoXleftPin = 3;\n\nint potiPin = 5;\n\n\/\/  Variables to store pure input\nint photoYtop;\nint photoXright;\nint photoYbottom;\nint photoXleft;\n\nint lightX;\nint lightY;\nint poti;\n\n\/\/  Setting up variables to store speed\nint motorXspeed;\nint motorYspeed;\n\n\/\/  Define minimum speed and difference multiplicator\nint speedBase = 200;\nint speedMod = 15;\n\n\/\/  Setup\nvoid setup(){\n  Serial.begin(9600);\n  pinMode(motorXupPin, OUTPUT);\n  pinMode(motorYupPin, OUTPUT);\n  pinMode(motorXdirPin, OUTPUT);\n  pinMode(motorYdirPin, OUTPUT);\n  pinMode(photoXrightPin, INPUT);\n  pinMode(photoYbottomPin, INPUT);\n  pinMode(photoXleftPin, INPUT);\n  pinMode(potiPin, INPUT);\n}\n\n\/\/  Loop\nvoid loop(){\n\n\/\/  Write poti factor\n  poti = analogRead(potiPin);\n  \n\/\/  Measure and store light\n  photoYtop = analogRead(photoYtopPin);\n  photoXright = analogRead(photoXrightPin);\n  photoYbottom = analogRead(photoYbottomPin);\n  photoXleft = analogRead(photoXleftPin);\n  lightX = max(photoXright, photoXleft);\n  lightY = max(photoYtop, photoYbottom);\n\n\/\/  Y: See if there is enough light to trigger movement\n  if (lightY &lt;= poti){ analogWrite(motorYupPin, LOW); }\n  if (lightY &gt; poti){\n\n\/\/ Y: Power up motors with PWM based on light comparison\n    motorYspeed = min(speedBase + \n                    (abs(photoYbottom - photoYtop)\n                        \/ speedMod), 255);\n    analogWrite(motorYupPin, motorYspeed); \n   \n\/\/  Y: Change motor direction by triggering relays\n    if (photoYtop &gt;= photoYbottom){\n      digitalWrite(motorYdirPin, HIGH);\n      }\n    if (photoYtop &lt; photoYbottom){\n      digitalWrite(motorYdirPin, LOW);\n      }\n  }\n\n\/\/  X: See if there is enough light to trigger movement\n  if (lightX &lt;= poti){ analogWrite(motorXupPin, LOW); }\n  if (lightX &gt; poti){\n\n\/\/ X: Power up motors with PWM based on light comparison\n    motorXspeed = min(speedBase +\n                    (abs(photoXright - photoXleft)\n                        \/ speedMod), 255);\n    analogWrite(motorXupPin, motorXspeed);\n\n\/\/  X: Change motor direction by triggering relays\n    if (photoXleft &gt;= photoXright){\n      digitalWrite(motorXdirPin, HIGH);\n      }\n    if (photoXleft &lt; photoXright){\n      digitalWrite(motorXdirPin, LOW);\n      }\n  }\n}\n<\/pre>\n<\/div><\/div>\n<h2>Die fertige Maschine<\/h2>\n<p><a href=\"\/wp-content\/uploads\/2015\/02\/IMG_5420-e1428779868604.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1431 size-large\" src=\"\/wp-content\/uploads\/2015\/02\/IMG_5420-1024x683.jpg\" alt=\"IMG_5420\" width=\"1024\" height=\"683\"><\/a><\/p>\n<p>Der n\u00e4chsten (und wahrscheinlich letzte) Schritt ist, eine mobile Stromquelle zu finden, die eine kabellose Fortbewegung erm\u00f6glicht. Sobald der Roboter von seinem Kabel befreit ist, kann ich mit den endlosen Input-M\u00f6glichkeiten \u2013 nicht nur Licht \u2013  experimentieren, um ihn zu kontrollieren.<\/p>\n<p>Bevor ich anfing mit dem Arduino zu arbeiten, funktionierte der Roboter-Prototyp auf rein analog elektronischer Basis. Hier ist eine fr\u00fche Demonstration davon (im Video kann man au\u00dferdem eines der ersten Allseitenrad-Designs erkennen; dieses war noch viel zu gro\u00df, was die zur Bewegung notwendige Beschleunigung unm\u00f6glich machte):<\/p>\n<div class=\"fve-video-wrapper fve-image-embed fve-thumbnail-image youtube\" style=\"padding-bottom:75%;\">\n    <iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/WoY5o2BgTgE?wmode=transparent&modestbranding=1&autohide=1&showinfo=0&rel=0\" width=\"100%\" height=\"100%\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>    <\/div>\n<a href=\"\/wp-content\/uploads\/2015\/02\/Tristan-Weis_WMMNA-Icarus-documentation.pdf\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#333333;border-color:#292929;border-radius:0px\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color:#FFFFFF;padding:6px 18px;font-size:14px;line-height:21px;border-color:#717171;border-radius:0px;text-shadow:none\"><i class=\"sui sui-file-pdf-o\" style=\"font-size:14px;color:#FFFFFF\"><\/i> Komplette <em>Dokumentation f\u00fcr 'We make machines not art'<\/em> lesen (englisch)<\/span><\/a>\n<a href=\"\/wp-content\/uploads\/2015\/02\/Tristan-Weis_TANGIBLE-Icarus-documentation.pdf\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#333333;border-color:#292929;border-radius:0px\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color:#FFFFFF;padding:6px 18px;font-size:14px;line-height:21px;border-color:#717171;border-radius:0px;text-shadow:none\"><i class=\"sui sui-file-pdf-o\" style=\"font-size:14px;color:#FFFFFF\"><\/i> Komplette <em>Dokumentation f\u00fcr 'Tangible Programming'<\/em> lesen (englisch)<\/span><\/a>","protected":false},"excerpt":{"rendered":"<p>Leider ist der Eintrag nur auf English verf\u00fcgbar. Der Inhalt wird unten in einer verf\u00fcgbaren Sprache angezeigt. Klicken Sie auf den Link, um die aktuelle Sprache zu \u00e4ndern.Combining the two classes We make machines not art by Darsha Hewitt and Tangible Programming &#8211; An Introduction by Johannes Deich I built a simple robot that is &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/tristanweis.com\/de\/the-icarus-bot\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eDer Icarus-Roboter\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":1659,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[45],"class_list":["post-1321","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-other-stuff","tag-portfolio"],"_links":{"self":[{"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/posts\/1321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/comments?post=1321"}],"version-history":[{"count":2,"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/posts\/1321\/revisions"}],"predecessor-version":[{"id":2751,"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/posts\/1321\/revisions\/2751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/media\/1659"}],"wp:attachment":[{"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/media?parent=1321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/categories?post=1321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tristanweis.com\/de\/wp-json\/wp\/v2\/tags?post=1321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}