{"id":946,"date":"2018-08-06T21:06:34","date_gmt":"2018-08-06T19:06:34","guid":{"rendered":"https:\/\/www.nerdiy.de\/?p=946"},"modified":"2020-05-02T12:08:02","modified_gmt":"2020-05-02T10:08:02","slug":"ardunio-die-serielle-schnittstelle","status":"publish","type":"post","link":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/","title":{"rendered":"HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden"},"content":{"rendered":"<p>\u00dcber die serielle Schnittstelle wird normalerweise jedes Arduino Board programmiert.<br \/>\nDar\u00fcber l\u00e4sst sich aber nicht nur der Programmcode auf den Arduino \u00fcbertragen. Es lassen sich auch Steuerbefehle an den Arduino senden oder Werte vom Arduino empfangen.<\/p>\n<p>Wie das geht und welche M\u00f6glichkeiten Ihr dabei habt beschreibe ich im folgenden Artikel.<\/p>\n<hr \/>\n<h2><span style=\"color: #ff0000;\">Sicherheitshinweise <\/span><\/h2>\r\n<p><span style=\"color: #ff0000;\">Ich wei\u00df die folgenden Hinweise sind immer irgendwie l\u00e4stig und wirken unn\u00f6tig. Aber leider haben schon viele Menschen die es \"besser\" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese k\u00f6nnen echt \u00e4rgerlich sein. Deswegen nehmt Euch bitte f\u00fcnf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen \u00c4rger wert.<\/span><br \/><strong><em><a href=\"https:\/\/www.nerdiy.de\/sicherheitshinweise\/\"><span style=\"color: #ff0000;\">https:\/\/www.nerdiy.de\/sicherheitshinweise\/<\/span><\/a><\/em><\/strong><\/p>\r\n<h2>Affiliatelinks\/Werbelinks<\/h2>\r\n<p><em>Die hier in aufgef\u00fchrten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und \u00fcber diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. F\u00fcr Dich ver\u00e4ndert sich der Preis nicht. Falls Du Deine Eink\u00e4ufe \u00fcber diese Links t\u00e4tigst unterst\u00fctzt Du Nerdiy.de dabei auch in Zukunft weitere n\u00fctzliche Projekte anbieten zu k\u00f6nnen. \ud83d\ude42\u00a0<\/em><\/p>\n<hr \/>\n<h2>Serielle Schnittstelle vorbereiten<\/h2>\n<p>Um die serielle Schnittstelle in Eurem Programm zu nutzen m\u00fcsst Ihr diese initialisieren.<br \/>\nDies geschieht indem Ihr in der &#8222;setup()&#8220;-Funktion die Funktion<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Serial.begin(115200);<\/pre>\n<p>aufruft. Die Zahl &#8222;115200&#8220; steht dabei f\u00fcr die Baudrate &#8211; also die Geschwindigkeit &#8211; mit der die Symbole Nicht Bits oder Bytes) \u00fcber die serielle Schnittstelle \u00fcbertragen werden. Diese Geschwindigkeit solltet ihr von der &#8222;Qualit\u00e4t&#8220; der Verbindungsleitung abh\u00e4ngig machen.<\/p>\n<p>Habt Ihr zum Beispiel ein abgeschirmtes und sehr kurzes Kabel so kann die Geschwindigkeit sehr hoch eingestellt werden.<br \/>\nBei nicht abgeschirmten und\/oder sehr langen Kabeln sollte diese Geschwindigkeit nicht so hoch gew\u00e4hlt werden.<\/p>\n<p>G\u00e4ngige Baudraten sind zum Beispiel die folgenden Werte:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">50\r\n110\r\n150\r\n300\r\n1200\r\n2400\r\n4800\r\n9600\r\n19200\r\n38400\r\n57600\r\n115200\r\n230400\r\n460800\r\n500000<\/pre>\n<p>Egal welche Geschwindigkeit Ihr einstellt, dieser Wert muss auch im &#8222;Seriellen Monitor&#8220; &#8211; also dem anderen Kommunikationspartner der seriellen Kommunikation &#8211; eingestellt werden. Nur dann werden die Zeichen korrekt empfangen und gesendet. Mehr dazu erfahrt Ihr im Laufe des Textes.<\/p>\n<p>Falls Ihr Euch unsicher seid, welche Baudrate Ihr verwenden sollt empfehle ich Werte zwischen 9600 baud und 115200 baud. Diese und die dazwischen liegenden Werte sind auch bei vielen fertigen produkten wie Sensoren und Aktoren die g\u00e4ngigen Werte.<\/p>\n<hr \/>\n<h2>Daten vom Arduino Board an den verbundenen Computer senden<\/h2>\n<p>Damit Ihr Daten von eurem Arduino Board an den verbundenen Computer senden k\u00f6nnt m\u00fcsst ihr folgende Funktion aufrufen.<\/p>\n<p>Diese sendet den Text &#8222;Hallo Welt!&#8220; inklusive Zeilenumbruch an den Computer.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Serial.println(\"Hallo Welt!\");<\/pre>\n<p>Als Beispiel k\u00f6nnt Ihr dazu folgenden Code ausprobieren.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">void setup() \r\n{\r\n  Serial.begin(115200);\r\n}\r\n\r\nvoid loop() \r\n{\r\n  Serial.println(\"Hallo Welt!\");\r\n  delay(1000);\r\n}<\/pre>\n<figure id=\"attachment_6175\" aria-describedby=\"caption-attachment-6175\" style=\"width: 716px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-46-39.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"6175\" data-permalink=\"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/javaw-2019-05-28-21-46-39\/\" data-orig-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-46-39.png?fit=716%2C420&amp;ssl=1\" data-orig-size=\"716,420\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"javaw-2019-05-28-21-46-39\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-46-39.png?fit=716%2C420&amp;ssl=1\" class=\"wp-image-6175 size-full\" src=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-46-39.png?resize=716%2C420&#038;ssl=1\" alt=\"\" width=\"716\" height=\"420\" srcset=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-46-39.png?w=716&amp;ssl=1 716w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-46-39.png?resize=300%2C176&amp;ssl=1 300w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-46-39.png?resize=600%2C352&amp;ssl=1 600w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/a><figcaption id=\"caption-attachment-6175\" class=\"wp-caption-text\">Dadurch erhaltet Ihr die abgebildete Ausgabe. Nach jedem &#8222;Hallo Welt!&#8220; wird automatisch ein Wechsel in die n\u00e4chste Zeile vorgenommen.<\/figcaption><\/figure>\n<p>In der folgenden Kombination sendet die Funktion den Text &#8222;Hallo Welt!&#8220; ohne Zeilenumbruch an den Computer.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Serial.print(\"Hallo Welt!\");<\/pre>\n<p>Dazu gibt es ein weiteres Beispiel.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">void setup() \r\n{\r\n  Serial.begin(115200);\r\n}\r\n\r\nvoid loop() \r\n{\r\n  Serial.print(\"Hallo Welt!\");\r\n  delay(1000);\r\n}<\/pre>\n<figure id=\"attachment_6176\" aria-describedby=\"caption-attachment-6176\" style=\"width: 716px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-47-46.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"6176\" data-permalink=\"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/javaw-2019-05-28-21-47-46\/\" data-orig-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-47-46.png?fit=716%2C420&amp;ssl=1\" data-orig-size=\"716,420\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"javaw-2019-05-28-21-47-46\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-47-46.png?fit=716%2C420&amp;ssl=1\" class=\"wp-image-6176 size-full\" src=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-47-46.png?resize=716%2C420&#038;ssl=1\" alt=\"\" width=\"716\" height=\"420\" srcset=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-47-46.png?w=716&amp;ssl=1 716w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-47-46.png?resize=300%2C176&amp;ssl=1 300w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-47-46.png?resize=600%2C352&amp;ssl=1 600w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/a><figcaption id=\"caption-attachment-6176\" class=\"wp-caption-text\">Da nun nach dem &#8222;Hallo Welt!&#8220; kein Zeilenumbruch vorgenommen wird entsteht eine Lange Zeile aus mehreren &#8222;Hallo Welt!&#8220;-Abschnitten.<\/figcaption><\/figure>\n<p>Wollt Ihr Variabel-Werte &#8211; in diesem Fall den Wert der Variable &#8222;lustige_variable&#8220; &#8211;\u00a0 senden k\u00f6nnt Ihr dies wie folgt tun:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">uint8_t lustige_variable=5;\r\nSerial.println(String(lustige_variable));<\/pre>\n<p>Als Beispiel sieht das Ganze wieder so aus.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">void setup() \r\n{\r\n  Serial.begin(115200);\r\n}\r\n\r\nvoid loop() \r\n{\r\n  uint8_t lustige_variable=5; \r\n  Serial.println(String(lustige_variable));\r\n  delay(1000);\r\n}<\/pre>\n<figure id=\"attachment_6177\" aria-describedby=\"caption-attachment-6177\" style=\"width: 716px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-49-31.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"6177\" data-permalink=\"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/javaw-2019-05-28-21-49-31\/\" data-orig-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-49-31.png?fit=716%2C420&amp;ssl=1\" data-orig-size=\"716,420\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"javaw-2019-05-28-21-49-31\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-49-31.png?fit=716%2C420&amp;ssl=1\" class=\"wp-image-6177 size-full\" src=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-49-31.png?resize=716%2C420&#038;ssl=1\" alt=\"\" width=\"716\" height=\"420\" srcset=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-49-31.png?w=716&amp;ssl=1 716w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-49-31.png?resize=300%2C176&amp;ssl=1 300w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-49-31.png?resize=600%2C352&amp;ssl=1 600w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/a><figcaption id=\"caption-attachment-6177\" class=\"wp-caption-text\">Der Wert (5) der Variable wird inklusive Zeilenumbruch ausgegeben.<\/figcaption><\/figure>\n<p>Senden eines Zeilenumbruchs bedeutet, dass zus\u00e4tzlich zu dem eigentlichen Nachrichteninhalt noch ein Steuerzeichen mitgesendet wird, dass dem Empf\u00e4nger signalisiert in die n\u00e4chste Zeile zu wechseln.<\/p>\n<hr \/>\n<h2>Seriellen Monitor nutzen<\/h2>\n<p>Der Serielle Monitor ist das Gegenst\u00fcck zum Arduino-Board. Es ist das Programm welches am Computer die Daten empf\u00e4ngt und f\u00fcr euch lesbar macht.<br \/>\nIhr findet es als Teil der Arduino-IDE unter dem Men\u00fcpunkt &#8222;Werkzeuge\/Serieller Monitor&#8220;. Tools wie dieser &#8222;Serielle Monitor&#8220; werden auch Terminalprogramme genannt. Eine gute Alternative zu dem &#8222;Seriellen Monitor&#8220; der Arduino-IDE ist auch das Programm <em><strong><a href=\"http:\/\/www.der-hammer.info\/terminal\/\">HTERM.<\/a><\/strong><\/em><\/p>\n<figure id=\"attachment_951\" aria-describedby=\"caption-attachment-951\" style=\"width: 810px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"951\" data-permalink=\"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/screenshot-60\/\" data-orig-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?fit=1367%2C674&amp;ssl=1\" data-orig-size=\"1367,674\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Serieller Monitor\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Im Fenster des Seriellen Monitors lassen sich der Zeilenumbruch und die Baudrate einstellen. Durch einen Klick auf &amp;#8222;Ausgabe l\u00f6schen&amp;#8220; l\u00e4sst sich au\u00dferdem der Inhalt des Ausgabefensters l\u00f6schen.&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?fit=810%2C399&amp;ssl=1\" class=\"size-large wp-image-951\" src=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60-1024x505.png?resize=810%2C399&#038;ssl=1\" alt=\"\" width=\"810\" height=\"399\" srcset=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?resize=1024%2C505&amp;ssl=1 1024w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?resize=300%2C148&amp;ssl=1 300w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?resize=768%2C379&amp;ssl=1 768w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?resize=600%2C296&amp;ssl=1 600w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-60.png?w=1367&amp;ssl=1 1367w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/a><figcaption id=\"caption-attachment-951\" class=\"wp-caption-text\">Im Fenster des Seriellen Monitors lassen sich das Zeilenabschlusszeichen und die Baudrate einstellen. Durch einen Klick auf &#8222;Ausgabe l\u00f6schen&#8220; l\u00e4sst sich au\u00dferdem der Inhalt des Ausgabefensters l\u00f6schen.<\/figcaption><\/figure>\n<p>In dem Fenster des Seriellen Monitors l\u00e4sst sich die Baudrate einstellen. Hier muss der gleiche Wert eingestellt werden den ihr zuvor im Programmcode eingestellt habt.<br \/>\nHabt ihr mit dem Befehl<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\">Serial.begin(115200);<\/pre>\n<p>also eine Baudrate von 115200 baud eingestellt so m\u00fcsst Ihr auch im seriellen Monitor eine Baudrate von 115200 baud einstellen.<\/p>\n<p>Neben der Baudrate l\u00e4sst sich au\u00dferdem noch das Zeilenabschlusszeichen einstellen. Diese Einstellung ben\u00f6tigt Ihr aber nur, wenn Ihr Daten vom Computer an den Arduino senden wollt.<\/p>\n<p>Hier l\u00e4sst sich n\u00e4mlich das Zeichen einstellen, welches nach jedem Absenden eines Wertes automatisch angeh\u00e4ngt und mitgesendet wird.<\/p>\n<p>Dies k\u00f6nnt Ihr in Eurem Code zum Beispiel sehr gut dazu nutzen um auf dem Arduino zu erkennen ob die \u00dcbertragung eines Befehls oder Werts abgeschlossen ist.<\/p>\n<p>Im Bereich &#8222;Befehle und Parameter an den Arduino senden&#8220; wird dies ausf\u00fchrlich erkl\u00e4rt.<\/p>\n<hr \/>\n<h2>Serieller Plotter nutzen<\/h2>\n<p>Der Serielle-Plotter ist ein Tool mit dem Ihr Zahlenwerte (z.B. Messwerte) direkt auf dem Computer als zeitlichen Verlauf darstellen k\u00f6nnt. Dazu m\u00fcsst ihr den Arduino so programmieren, dass er die Zahlenwerte an den Computer sendet.<br \/>\nDies geht zum Beispiel mit dem Befehl:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\">Serial.println(VariableMitEinemMesswert);<\/pre>\n<p>Die Variable &#8222;VariableMitEinemMesswert&#8220; sollte nat\u00fcrlich euren Messwert als Zahl enthalten.<br \/>\nAuf dem Computer m\u00fcsst ihr dann den Seriellen Plotter starten. Diesen findet ihr unter &#8222;Werkzeuge\/Serieller Plotter&#8220;.<\/p>\n<p>Ein simples Beispiel das auf dem seriellen Plotter eine Sinus-Kurve ausgibt ist das folgende. Probiert den Code einfach aus. Er sollte sich auf jedem Arduino ausf\u00fchren lassen. Denkt daran Euren &#8222;Seriellen Plotter&#8220; auf 115200 baud einzustellen.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\/*                                _   _                 _  _               _\r\n                                 |  | |               | |(_)             | |\r\n  __      ____      ____      __ |  | |  ___  _ __  __| | _  _   _     __| |  ___\r\n    \/ \/ \/  \/ \/ \/  \/ \/ \/ | . ` | \/ _ | '__|\/ _` || || | | |   \/ _` | \/ _ \r\n    V  V \/   V  V \/   V  V \/_ | |  ||  __\/| |  | (_| || || |_| | _| (_| ||  __\/\r\n    \\_\/\\_\/    \\_\/\\_\/    \\_\/\\_\/(_)|_| \\_| \\___||_|   \\__,_||_| \\__, |(_)\\__,_| \\___|\r\n                                                               __\/ |\r\n                                                              |___\/\r\n     sinusTest by Fabian Steppat\r\n     Infos on https:\/\/www.nerdiy.de\/ardunio-die-serielle-schnittstelle\/\r\n\r\n     This program is free software: you can redistribute it and\/or modify\r\n     it under the terms of the GNU General Public License as published by\r\n     the Free Software Foundation, either version 3 of the License, or\r\n     (at your option) any later version.\r\n\r\n     This program is distributed in the hope that it will be useful,\r\n     but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n     GNU General Public License for more details.\r\n\r\n     You should have received a copy of the GNU General Public License\r\n     along with this program.  If not, see &lt;http:\/\/www.gnu.org\/licenses\/&gt;.\r\n\r\n     You will find additional information to this project at the following address:\r\n     <blockquote class=\"wp-embedded-content\" data-secret=\"mLWFSFs3Oe\"><a href=\"https:\/\/nerdiy.de\/ardunio-die-serielle-schnittstelle\/\">HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden<\/a><\/blockquote><iframe loading=\"lazy\" title=\"&#8222;HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden&#8220; &#8212; Nerdiy.de\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"https:\/\/nerdiy.de\/ardunio-die-serielle-schnittstelle\/embed\/#?secret=mLWFSFs3Oe\" data-secret=\"mLWFSFs3Oe\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\r\n\r\n     This codesnippet prints a sine wave via serial console or serial plotter\r\n*\/\r\n\r\n\/\/variables and constants\r\nfloat degreeAngle = 0;\r\nfloat sinusValue = 0;\r\nconst float pi = 3.1415;\r\nfloat radiantAngle = 0;\r\nconst uint8_t sinusFactor = 50;\r\n\r\nvoid setup()\r\n{\r\n  Serial.begin(115200);\r\n}\r\n\r\nvoid loop()\r\n{\r\n  radiantAngle = degreeAngle * pi \/ 180; \/\/making deg in radians\r\n  sinusValue = sin(radiantAngle); \/\/calculate sine from radiant angle\r\n  degreeAngle += 1.0; \/\/increase the angle\r\n  delay(5); \/\/make output a bit slower\r\n\r\n  if (degreeAngle &gt; 360) \/\/if degree boundary is reached reset it to zero\r\n  {\r\n    degreeAngle = 0;\r\n  }\r\n\r\n  Serial.println(sinusFactor * sinusValue); \/\/output to serial monitor\/plotter\r\n}<\/pre>\n<figure id=\"attachment_6174\" aria-describedby=\"caption-attachment-6174\" style=\"width: 810px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"6174\" data-permalink=\"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/javaw-2019-05-28-21-36-47\/\" data-orig-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&amp;ssl=1\" data-orig-size=\"1046,420\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"javaw-2019-05-28-21-36-47\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=810%2C325&amp;ssl=1\" class=\"wp-image-6174 size-large\" src=\"https:\/\/i0.wp.com\/www.nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47-1024x411.png?resize=810%2C325&#038;ssl=1\" alt=\"\" width=\"810\" height=\"325\" srcset=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?resize=1024%2C411&amp;ssl=1 1024w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?resize=300%2C120&amp;ssl=1 300w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?resize=768%2C308&amp;ssl=1 768w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?resize=600%2C241&amp;ssl=1 600w, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?w=1046&amp;ssl=1 1046w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/a><figcaption id=\"caption-attachment-6174\" class=\"wp-caption-text\">Das oben angegeben Beispiel sollte die abgebildete Sinuskurve auf dem seriellen Plotter anzeigen.<\/figcaption><\/figure>\n<p>Der Plotter funktioniert nat\u00fcrlich nicht nur mit Sinus- sondern auch mit allen anderen Zahlen-werten.<\/p>\n<hr \/>\n<h2>Befehle und Parameter an den Arduino senden<\/h2>\n<p>Nun wisst Ihr also wie man verschiedene Status-Nachrichten oder Werte vom Arduino an den Computer sendet.<br \/>\nEs geht aber auch andersherum. Dies ist besonders dann sinnvoll oder praktisch, wenn ihr den Arduino von au\u00dfen steuern und keine Eingabeger\u00e4te wie Taster und Co. an den Arduino anschlie\u00dfen wollt (oder mangels GPIOs k\u00f6nnt).<\/p>\n<p>So k\u00f6nnt Ihr zum Beispiel die Helligkeit oder Farbe einer LED oder auch eine Motordrehzahl eines angeschlossenen Motors alleine \u00fcber die serielle Schnittstelle einstellen.<\/p>\n<p>Zur Kommunikation \u00fcber die serielle Schnittstelle stell die Arduino-IDE dazu ein paar n\u00fctzliche Funktionen bereit. (Die Dokumentation mit mehr Details dazu findet Ihr hier: <em><strong><a href=\"https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/communication\/serial\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.arduino.cc\/reference\/en\/language\/functions\/communication\/serial\/<\/a><\/strong><\/em>)<\/p>\n<p>Damit der Empfang und die Auswertung von Befeheln klappt gibt es nun drei Aufgaben zu l\u00f6sen:<br \/>\n1. Wie erkennt der Arduino empfangene Zeichen?<br \/>\n2. Wie werden aus den empfangenen Zeichen komplette Befehle zusammengesetzt?<br \/>\n3. Wie k\u00f6nnen diese empfangenen Befehle ausgewertet werden?<\/p>\n<p><strong>1. Wie erkennt der Arduino empfangene Zeichen<\/strong><\/p>\n<p>Um nun auf eingehende Zeichen zu reagieren gibt es die Funktion<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Serial.available()<\/pre>\n<p>Diese pr\u00fcft ob neue Zeichen im Empfangspuffer des Arduino enthalten sind. Der Empfangspuffer ist dabei eine Art zwischenspeicher in dem empfangene Zeichen solange gespeichert werden bis der Mikrocontroller des Arduinos Zeit hat sich um die empfangegenen Zeichen zu &#8222;k\u00fcmmern&#8220;.<\/p>\n<p>In dem Fall, dass neue Zeichen empfangen, aber noch nicht aus dem Empfangspuffer gelesen wurden gibt die Funktion &#8222;Serial.available()&#8220; &#8222;true&#8220; zur\u00fcck ansonsten &#8222;false&#8220;.<\/p>\n<p>Diese Funktion eignet sich also perfekt dazu um zu \u00fcberpr\u00fcfen ob aktuell Zeichen emfpangen wurden, welche nun ausgewertet werden m\u00fcssen. Dabei sagt uns der Befehl nicht wieviele Zeichen empfangen wurden. Er sagt nur, dass mindestens ein Zeichen im Empfangspuffer ist.<\/p>\n<p><strong>2. Wie werden aus den empfangenen Zeichen komplette Befehle<\/strong><\/p>\n<p>Gut, nun haben wir dank der vorherigen Funktion erkannt, dass mindestens ein Zeichen im Empfangspuffer verf\u00fcgbar ist. Aber wie kommen wir nun an die empfangenen Zeichen?<\/p>\n<p>Zeichen aus dem Empfangspuffer lassen sich mit dem Befehl<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Serial.read()<\/pre>\n<p>auslesen. Dabei gibt die Funktion das erste im Empfangspuffer enthaltene Zeichen aus und entfernt es automatisch aus dem Empfangspuffer.<br \/>\nUm nun alle Zeichen auszulesen und in eine Variable zu schreiben, lesen wir nun solange aus dem Empfangspuffer bis dieser leer ist und merken uns dabei jedes ausgelesene Zeichen.<br \/>\nDies kann man mit einer Schleife zum Beispiel so umsetzen:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">void check_seriellen_empfang() \r\n{ \r\n   String seriellerPuffer; \r\n   while (Serial.available()) \r\n   {\r\n      char aktuellesZeichen = (char)Serial.read(); \r\n      if (aktuellesZeichen == 13)   \/\/pr\u00fcfen ob das eingelesen Zeichen das Zeilenabschlusszeichen ist\r\n      { \r\n         empfangene_zeichen_auswerten(seriellerPuffer); \r\n      } else \r\n      { \r\n         seriellerPuffer += aktuellesZeichen; \r\n      } \r\n   }\r\n}<\/pre>\n<p>Wie Ihr sehen k\u00f6nnt besteht der Code aus einer while-schleife die solange l\u00e4uft bis der Empfangspuffer leer ist (dann ist Serial.available()==false).<br \/>\nInnerhalb der while-Schleife werden w\u00e4hrenddessen zeichenweise die auf dem Emfpangspuffer enthaltenen Zeichen ausgelesen (Serial.read()), der Variable &#8222;aktuellesZeichen&#8220; zugewiesen und an den String &#8222;seriellerPuffer&#8220; angeh\u00e4ngt.<\/p>\n<p>Hier kommt nun auch das im Abschnitt &#8222;Serieller Monitor&#8220; erw\u00e4hnte Zeilenabschlusszeichen ins Spiel. In diesem (und jedem anderen Terminalprogramm) l\u00e4sst sich n\u00e4mlich ein Zeichen einstellen, welches nach jedem Absenden eines Zeichens oder einer Zeichenkette automatisch angeh\u00e4ngt und mitgesendet wird.<\/p>\n<p>Dieses Zeilenabschlusszeichen l\u00e4sst sich nun nutzen um zu erkennen ob die zuvor eingelesene Zeichenkette abgeschlossen ist und somit ausgewertet werden kann.<br \/>\nDies bedeutet, dass jedes empfangene Zeichen darauf gepr\u00fcft werden muss ob es das Zeilenabschlusszeichen ist. Im oben gezeigten Code geschieht dies durch<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">if (aktuellesZeichen == 13)...<\/pre>\n<p>Lasst euch von der 13 nicht verwirren. Das Problem bei Zeilenabschlusszeichen ist n\u00e4mlich, dass diese auf einer Tastatur nicht aufgef\u00fchrt sind. Man kann sie also nicht als Vergleichszeichen in den Code &#8222;eintippen&#8220;.<br \/>\nUm das empfangene Zeichen trotzdem auf das Zeichenabschlusszeichen zu pr\u00fcfen bedienen wir uns hier eines Tricks.<\/p>\n<p>Dank der <em><strong><a href=\"http:\/\/lmgtfy.com\/?t=i&amp;q=ascii+table\">Ascii-Tabelle<\/a><\/strong><\/em> wissen wir n\u00e4mlich, dass jedes Zeichen im Computer einem Byte-Wert(also einem Zahlenwert zwischen 0 und 255) entspricht.<br \/>\nWenn ihr im Arduino also zum Beispiel ein &#8222;A&#8220; speichert, so speichert dieser eigentlich den Zahlenwert &#8222;65&#8220;.<br \/>\nW\u00fcrde man nun pr\u00fcfen wollen ob ein empfangenes Zeichen einem &#8222;A&#8220; entspricht k\u00f6nnte man entweder<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">if (aktuellesZeichen == \"A\")<\/pre>\n<p>oder aber auch<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">if (aktuellesZeichen == 65)<\/pre>\n<p>schreiben. Beide Vergleiche w\u00fcrden zum gleichen Ergebnis f\u00fchren.<\/p>\n<p>Diesen Trick machen wir uns nun zu Nutze. Um zu pr\u00fcfen, ob das aktuell empfangene Zeichen ein Zeilenabschlusszeichen wie zum Beispiel das CR (=CarriageReturn) ist, pr\u00fcfen wir nicht auf das Zeichen selber sondern auf den Wert des Zeichens in der Ascii-Tabelle: Also 13.<\/p>\n<p>Sobald dieses Zeichen empfangen wurde wissen wir also, dass alle zuvor abgesendeten Zeichen einen Befehl darstellen sollen und nun ausgewertet werden m\u00fcssen.<\/p>\n<p><strong>3. Wie k\u00f6nnen diese empfangenen Befehle ausgewertet werden<\/strong><\/p>\n<p>Wir bzw. der Arduino hat nun also einen Befehl empfangen. Dieser ist in der String-Variable &#8222;seriellerPuffer&#8220; gespeichert und wird als Funktionsparameter an die Funktion &#8222;empfangene_zeichen_auswerten()&#8220; \u00fcbergeben.<\/p>\n<p>Diese Funktion k\u00f6nnte zum Beispiel so aussehen:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">void empfangene_zeichen_auswerten(String seriellerPuffer)\r\n{\r\n   Serial.println(\"\"\" + String(seriellerPuffer) + \"\" empfangen.\");   \/\/ausgabe des soeben empfangenen Befehls\r\n   \r\n   if (seriellerPuffer == \"simplerBefehlDerWasTut\")\r\n   {\r\n      simpler_befehl_der_was_tut();\r\n   } else if (seriellerPuffer.indexOf('=') != -1)\r\n   {\r\n      uint16_t empfangenerWert = seriellerPuffer.substring(seriellerPuffer.indexOf('=') + 1).toInt();\r\n      String empfangenerParameter = seriellerPuffer.substring(0, seriellerPuffer.indexOf('='));\r\n      \r\n      if (empfangenerParameter == \"befehlDerEinenWertSetzt\")\r\n      {\r\n         if (empfangenerWert &lt;= 23 &amp;&amp; empfangenerWert &gt;= 0)\r\n         {\r\n            befehl_der_einen_wert_setzt(empfangenerWert );\r\n         } else\r\n         {\r\n            Serial.println(F(\"Wert ausserhalb des erlaubten Wertebereichs.\"));\r\n         }\r\n      } else\r\n      {\r\n         Serial.print(F(\"Der Befehl \"\"));\r\n         Serial.print(seriellerPuffer);\r\n         Serial.print(F(\"\" wurde nicht erkannt.\"));\r\n      }\r\n   } else\r\n   {\r\n      Serial.print(F(\"Der Befehl \"\"));\r\n      Serial.print(seriellerPuffer);\r\n      Serial.print(F(\"\" wurde nicht erkannt.\"));\r\n   }\r\n}<\/pre>\n<p>Nach dem Empfang eines Befehls wird dieser nochmal ausgegeben, dies ist gerade f\u00fcr Debugging-Zwecke sehr praktisch. So k\u00f6nnt Ihr \u00fcberpr\u00fcfen welche Zeichenkette denn letztendlich im Arduino angekommen ist.<\/p>\n<p>Danach kann mit einer einfachen IF-Abfrage gepr\u00fcft werden welcher Zeichenkette der empfangene Befehl entspricht. Hier wird zum Beispiel gepr\u00fcft ob der Befehl der Zeichenkette &#8222;simplerBefehlDerWasTut&#8220; entspricht.<br \/>\nIst dies der Fall wird die Funktion &#8222;simpler_befehl_der_was_tut();&#8220; ausgef\u00fchrt.<\/p>\n<p>Mithilfe dieser &#8222;absoluten&#8220; Befehle k\u00f6nntet ihr nun einfache Befehle absetzen. Zum Beispiel um ein Licht ein- oder auszuschalten.<\/p>\n<p>Um nun aber auch Werte \u00fcbergeben zu k\u00f6nnen m\u00fcssen auch Befehle der Form &#8222;helligkeitSetzenAuf=20&#8220; ausgewertet werden k\u00f6nnen.<br \/>\nEs muss also der Befehlsname (in diesem Fall &#8222;helligkeitSetzenAuf&#8220;) und der Wert (in diesem Fall &#8222;20&#8220;) erkannt werden.<\/p>\n<p>Dies geschieht im weiteren Teil des oben gezeigten Codes.<br \/>\nSollte n\u00e4mlich keiner der &#8222;absoluten&#8220; Befehle zu der empfangenen Zeichenkette passen wird gepr\u00fcft ob in der empfangenen Zeichenkette ein &#8222;=&#8220;-Zeichen Vorhanden ist.<\/p>\n<p>Solltet Ihr also zum Beispiel den Befehl &#8222;setzeHelligkeit=100&#8220; an den Arduino gesendet haben wird er die gesamte Zeichenkette &#8222;setzeHelligkeit=100&#8220; keinem &#8222;absoluten&#8220; Befehl zuordnen k\u00f6nnen.<\/p>\n<p>In diesem Fall wird die empfangene Zeichenkette also auf ein Gleichheitszeichen untersucht und dieses auch gefunden.<\/p>\n<p>Daraufhin wird die empfangene Zeichenkette mit folgenden Befehlen in den Teil vor und hinter dem Gleichheitszeichen zerlegt.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">uint16_t empfangenerWert = seriellerPuffer.substring(seriellerPuffer.indexOf('=') + 1).toInt(); \r\nString empfangenerParameter = seriellerPuffer.substring(0, seriellerPuffer.indexOf('='));<\/pre>\n<p>Nun ist in der Variable &#8222;empfangenerWert&#8220; die &#8222;100&#8220; und in der Variable &#8222;empfangenerParameter&#8220; der Befehl &#8222;setzeHelligkeit&#8220;\u00a0gespeichert.<\/p>\n<p>Einmal aus der empfangenen Zeichenkette extrahiert, k\u00f6nnen die beiden Werte dann weiterverarbeitet und darauf reagiert werden.<\/p>\n<p>Probiert es einfach aus. \ud83d\ude42<br \/>\nDen gesamten Code zum ausprobieren findet ihr nochmal hier:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\/*                                _   _                 _  _               _\r\n                                 |  | |               | |(_)             | |\r\n  __      ____      ____      __ |  | |  ___  _ __  __| | _  _   _     __| |  ___\r\n    \/ \/ \/  \/ \/ \/  \/ \/ \/ | . ` | \/ _ | '__|\/ _` || || | | |   \/ _` | \/ _ \r\n    V  V \/   V  V \/   V  V \/_ | |  ||  __\/| |  | (_| || || |_| | _| (_| ||  __\/\r\n    \\_\/\\_\/    \\_\/\\_\/    \\_\/\\_\/(_)|_| \\_| \\___||_|   \\__,_||_| \\__, |(_)\\__,_| \\___|\r\n                                                               __\/ |\r\n                                                              |___\/\r\n     serialTest by Fabian Steppat\r\n     Infos on https:\/\/www.nerdiy.de\/ardunio-die-serielle-schnittstelle\/\r\n\r\n     This program is free software: you can redistribute it and\/or modify\r\n     it under the terms of the GNU General Public License as published by\r\n     the Free Software Foundation, either version 3 of the License, or\r\n     (at your option) any later version.\r\n\r\n     This program is distributed in the hope that it will be useful,\r\n     but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\n     GNU General Public License for more details.\r\n\r\n     You should have received a copy of the GNU General Public License\r\n     along with this program.  If not, see &lt;http:\/\/www.gnu.org\/licenses\/&gt;.\r\n\r\n     You will find additional information to this project at the following address:\r\n     <blockquote class=\"wp-embedded-content\" data-secret=\"mLWFSFs3Oe\"><a href=\"https:\/\/nerdiy.de\/ardunio-die-serielle-schnittstelle\/\">HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden<\/a><\/blockquote><iframe loading=\"lazy\" title=\"&#8222;HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden&#8220; &#8212; Nerdiy.de\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"https:\/\/nerdiy.de\/ardunio-die-serielle-schnittstelle\/embed\/#?secret=mLWFSFs3Oe\" data-secret=\"mLWFSFs3Oe\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\r\n\r\n     This codesnippet is a basic conept of a serial communication to control an arduino via serial commands\r\n*\/\r\n\r\n{\r\n  Serial.begin(115200);\r\n}\r\n\r\nvoid loop()\r\n{\r\n  check_seriellen_empfang();\r\n}\r\n\r\nvoid check_seriellen_empfang()\r\n{\r\n  String seriellerPuffer;\r\n  while (Serial.available())\r\n  {\r\n    char aktuellesZeichen = (char)Serial.read();\r\n    if (aktuellesZeichen == 13)\r\n    {\r\n      empfangene_zeichen_auswerten(seriellerPuffer);\r\n    } else\r\n    {\r\n      seriellerPuffer += aktuellesZeichen;\r\n    }\r\n  }\r\n}\r\nvoid empfangene_zeichen_auswerten(String seriellerPuffer)\r\n{\r\n  Serial.println(\"\"\" + String(seriellerPuffer) + \"\" empfangen.\");\r\n\r\n  if (seriellerPuffer == \"simplerBefehlDerWasTut\")\r\n  {\r\n    simpler_befehl_der_was_tut();\r\n  } else if (seriellerPuffer.indexOf('=') != -1)\r\n  {\r\n    uint16_t empfangenerWert = seriellerPuffer.substring(seriellerPuffer.indexOf('=') + 1).toInt();\r\n    String empfangenerParameter = seriellerPuffer.substring(0, seriellerPuffer.indexOf('='));\r\n    if (empfangenerParameter == \"befehlDerEinenWertSetzt\")\r\n    {\r\n      if (empfangenerWert &amp; lt; = 23 &amp; amp; &amp; empfangenerWert &amp; gt; = 0)\r\n      {\r\n        befehl_der_einen_wert_setzt(empfangenerWert );\r\n      } else\r\n      {\r\n        Serial.println(F(\"Wert ausserhalb des erlaubten Wertebereichs.\"));\r\n      }\r\n    } else\r\n    {\r\n      Serial.print(F(\"Der Befehl \"\"));\r\n      Serial.print(seriellerPuffer);\r\n      Serial.print(F(\"\" wurde nicht erkannt.\"));\r\n    }\r\n  } else\r\n  {\r\n    Serial.print(F(\"Der Befehl \"\"));\r\n    Serial.print(seriellerPuffer);\r\n    Serial.print(F(\"\" wurde nicht erkannt.\"));\r\n  }\r\n}<\/pre>\n<hr \/>\n<h2>Viel Spa\u00df mit dem Projekt<\/h2>\r\n<p>Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.<br \/>Auch Ideen f\u00fcr neue Projekte sind immer gerne willkommen. \ud83d\ude42<\/p>\r\n<p><strong>P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Nat\u00fcrlich mache ich das weil ich Spa\u00df daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, w\u00fcrde ich mich \u00fcber eine kleine Spende an die Kaffeekasse freuen. \ud83d\ude42<\/strong><\/p>\r\n<p><a href=\"https:\/\/ko-fi.com\/nerdiy\" target=\"_blank\" rel=\"noopener\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" style=\"border: 0px; height: 36px;\" src=\"https:\/\/i0.wp.com\/cdn.ko-fi.com\/cdn\/kofi4.png?resize=143%2C36&#038;ssl=1\" alt=\"Buy Me a Coffee at ko-fi.com\" width=\"143\" height=\"36\" border=\"0\" \/><\/a>\u00a0 \u00a0 \u00a0 \u00a0<input name=\"cmd\" type=\"hidden\" value=\"_s-xclick\" \/> <input name=\"hosted_button_id\" type=\"hidden\" value=\"UAZE9RMHJY7VJ\" \/> <input title=\"PayPal - The safer, easier way to pay online!\" alt=\"Donate with PayPal button\" name=\"submit\" src=\"https:\/\/www.paypalobjects.com\/de_DE\/DE\/i\/btn\/btn_donateCC_LG.gif\" type=\"image\" \/> <img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.paypal.com\/de_DE\/i\/scr\/pixel.gif?resize=1%2C1&#038;ssl=1\" alt=\"\" width=\"1\" height=\"1\" border=\"0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00dcber die serielle Schnittstelle wird normalerweise jedes Arduino Board programmiert. Dar\u00fcber l\u00e4sst sich aber nicht nur der Programmcode auf den Arduino \u00fcbertragen. Es lassen sich auch Steuerbefehle an den Arduino [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[149,56,66,86],"tags":[29],"class_list":["post-946","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-abendprojekt2h","category-arduino","category-codeschnipsel","category-elektronik","tag-arduino"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>HowTo: Ardunio - Die serielle Schnittstelle verwenden - nerdiy.de - DIY, Elektronik, 3D Druck und mehr...<\/title>\n<meta name=\"description\" content=\"Read a huge collection of detailed Tutorials on Nerdiy.de about all kind of Software, Hardware and general maker topics.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HowTo: Ardunio - Die serielle Schnittstelle verwenden - nerdiy.de - DIY, Elektronik, 3D Druck und mehr...\" \/>\n<meta property=\"og:description\" content=\"Read a huge collection of detailed Tutorials on Nerdiy.de about all kind of Software, Hardware and general maker topics.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/\" \/>\n<meta property=\"og:site_name\" content=\"nerdiy.de - DIY, Elektronik, 3D Druck und mehr...\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nerdiy.de\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/nerdiy.de\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-06T19:06:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-02T10:08:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1046\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nerdiyde\" \/>\n<meta name=\"twitter:site\" content=\"@nerdiyde\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/\"},\"author\":{\"name\":\"Fab\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#\\\/schema\\\/person\\\/f1579a71868adb0be60a74246d3e0908\"},\"headline\":\"HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden\",\"datePublished\":\"2018-08-06T19:06:34+00:00\",\"dateModified\":\"2020-05-02T10:08:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/\"},\"wordCount\":1870,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/nerdiy.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1\",\"keywords\":[\"Arduino\"],\"articleSection\":[\"Abendprojekt(&lt;2h)\",\"Arduino\",\"Codeschnipsel\",\"Elektronik\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/\",\"url\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/\",\"name\":\"HowTo: Ardunio - Die serielle Schnittstelle verwenden - nerdiy.de - DIY, Elektronik, 3D Druck und mehr...\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/nerdiy.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1\",\"datePublished\":\"2018-08-06T19:06:34+00:00\",\"dateModified\":\"2020-05-02T10:08:02+00:00\",\"description\":\"Read a huge collection of detailed Tutorials on Nerdiy.de about all kind of Software, Hardware and general maker topics.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/nerdiy.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/nerdiy.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1\",\"width\":1046,\"height\":420},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/ardunio-die-serielle-schnittstelle\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#website\",\"url\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/\",\"name\":\"nerdiy.de - DIY, Elektronik, 3D Druck und mehr...\",\"description\":\"Bei nerdiy.de dreht sich alles um Elektronik, Heimwerken, 3D-Druck, Smart Home und viele andere technische Themen.\",\"publisher\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#organization\",\"name\":\"Nerdiy.de\",\"url\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/nerdiy.de\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/www.nerdiy.de-v1.0final180x180-1.png?fit=180%2C180&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/nerdiy.de\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/www.nerdiy.de-v1.0final180x180-1.png?fit=180%2C180&ssl=1\",\"width\":180,\"height\":180,\"caption\":\"Nerdiy.de\"},\"image\":{\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/nerdiy.de\",\"https:\\\/\\\/x.com\\\/nerdiyde\",\"https:\\\/\\\/www.instagram.com\\\/nerdiy.de\\\/\",\"https:\\\/\\\/www.pinterest.de\\\/nerdiyde\\\/\",\"https:\\\/\\\/www.youtube.com\\\/nerdiy\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/nerdiy.de\\\/de_de\\\/#\\\/schema\\\/person\\\/f1579a71868adb0be60a74246d3e0908\",\"name\":\"Fab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5cd8a2c5a20873f04ac46048f749a6f5335f6d9d3af744d9bb04f4052c44fca2?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5cd8a2c5a20873f04ac46048f749a6f5335f6d9d3af744d9bb04f4052c44fca2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5cd8a2c5a20873f04ac46048f749a6f5335f6d9d3af744d9bb04f4052c44fca2?s=96&d=mm&r=g\",\"caption\":\"Fab\"},\"sameAs\":[\"https:\\\/\\\/nerdiy.de\",\"https:\\\/\\\/www.facebook.com\\\/nerdiy.de\\\/\",\"https:\\\/\\\/www.instagram.com\\\/nerdiy.de\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/nerdiy-de\\\/\",\"http:\\\/\\\/www.pinterest.com\\\/nerdiyde\\\/\",\"https:\\\/\\\/x.com\\\/nerdiyde\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/Nerdiy\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HowTo: Ardunio - Die serielle Schnittstelle verwenden - nerdiy.de - DIY, Elektronik, 3D Druck und mehr...","description":"Read a huge collection of detailed Tutorials on Nerdiy.de about all kind of Software, Hardware and general maker topics.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/","og_locale":"de_DE","og_type":"article","og_title":"HowTo: Ardunio - Die serielle Schnittstelle verwenden - nerdiy.de - DIY, Elektronik, 3D Druck und mehr...","og_description":"Read a huge collection of detailed Tutorials on Nerdiy.de about all kind of Software, Hardware and general maker topics.","og_url":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/","og_site_name":"nerdiy.de - DIY, Elektronik, 3D Druck und mehr...","article_publisher":"https:\/\/www.facebook.com\/nerdiy.de","article_author":"https:\/\/www.facebook.com\/nerdiy.de\/","article_published_time":"2018-08-06T19:06:34+00:00","article_modified_time":"2020-05-02T10:08:02+00:00","og_image":[{"width":1046,"height":420,"url":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1","type":"image\/png"}],"author":"Fab","twitter_card":"summary_large_image","twitter_creator":"@nerdiyde","twitter_site":"@nerdiyde","twitter_misc":{"Verfasst von":"Fab","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#article","isPartOf":{"@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/"},"author":{"name":"Fab","@id":"https:\/\/nerdiy.de\/de_de\/#\/schema\/person\/f1579a71868adb0be60a74246d3e0908"},"headline":"HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden","datePublished":"2018-08-06T19:06:34+00:00","dateModified":"2020-05-02T10:08:02+00:00","mainEntityOfPage":{"@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/"},"wordCount":1870,"commentCount":0,"publisher":{"@id":"https:\/\/nerdiy.de\/de_de\/#organization"},"image":{"@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1","keywords":["Arduino"],"articleSection":["Abendprojekt(&lt;2h)","Arduino","Codeschnipsel","Elektronik"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/","url":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/","name":"HowTo: Ardunio - Die serielle Schnittstelle verwenden - nerdiy.de - DIY, Elektronik, 3D Druck und mehr...","isPartOf":{"@id":"https:\/\/nerdiy.de\/de_de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#primaryimage"},"image":{"@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1","datePublished":"2018-08-06T19:06:34+00:00","dateModified":"2020-05-02T10:08:02+00:00","description":"Read a huge collection of detailed Tutorials on Nerdiy.de about all kind of Software, Hardware and general maker topics.","breadcrumb":{"@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#primaryimage","url":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1","contentUrl":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1","width":1046,"height":420},{"@type":"BreadcrumbList","@id":"https:\/\/nerdiy.de\/de_de\/ardunio-die-serielle-schnittstelle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/nerdiy.de\/de_de\/"},{"@type":"ListItem","position":2,"name":"HowTo: Ardunio &#8211; Die serielle Schnittstelle verwenden"}]},{"@type":"WebSite","@id":"https:\/\/nerdiy.de\/de_de\/#website","url":"https:\/\/nerdiy.de\/de_de\/","name":"nerdiy.de - DIY, Elektronik, 3D Druck und mehr...","description":"Bei nerdiy.de dreht sich alles um Elektronik, Heimwerken, 3D-Druck, Smart Home und viele andere technische Themen.","publisher":{"@id":"https:\/\/nerdiy.de\/de_de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nerdiy.de\/de_de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/nerdiy.de\/de_de\/#organization","name":"Nerdiy.de","url":"https:\/\/nerdiy.de\/de_de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/nerdiy.de\/de_de\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2020\/04\/www.nerdiy.de-v1.0final180x180-1.png?fit=180%2C180&ssl=1","contentUrl":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2020\/04\/www.nerdiy.de-v1.0final180x180-1.png?fit=180%2C180&ssl=1","width":180,"height":180,"caption":"Nerdiy.de"},"image":{"@id":"https:\/\/nerdiy.de\/de_de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/nerdiy.de","https:\/\/x.com\/nerdiyde","https:\/\/www.instagram.com\/nerdiy.de\/","https:\/\/www.pinterest.de\/nerdiyde\/","https:\/\/www.youtube.com\/nerdiy"]},{"@type":"Person","@id":"https:\/\/nerdiy.de\/de_de\/#\/schema\/person\/f1579a71868adb0be60a74246d3e0908","name":"Fab","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/5cd8a2c5a20873f04ac46048f749a6f5335f6d9d3af744d9bb04f4052c44fca2?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5cd8a2c5a20873f04ac46048f749a6f5335f6d9d3af744d9bb04f4052c44fca2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5cd8a2c5a20873f04ac46048f749a6f5335f6d9d3af744d9bb04f4052c44fca2?s=96&d=mm&r=g","caption":"Fab"},"sameAs":["https:\/\/nerdiy.de","https:\/\/www.facebook.com\/nerdiy.de\/","https:\/\/www.instagram.com\/nerdiy.de","https:\/\/www.linkedin.com\/company\/nerdiy-de\/","http:\/\/www.pinterest.com\/nerdiyde\/","https:\/\/x.com\/nerdiyde","https:\/\/www.youtube.com\/c\/Nerdiy"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/08\/www.nerdiy.de-howto-ardunio-die-serielle-schnittstelle-verwenden-javaw-2019-05-28-21-36-47.png?fit=1046%2C420&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9GM3g-fg","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":928,"url":"https:\/\/nerdiy.de\/de_de\/arduinoide-tipps-und-tricks\/","url_meta":{"origin":946,"position":0},"title":"ArduinoIDE &#8211; Tipps und Tricks","author":"Fab","date":"12. Juni 2018","format":false,"excerpt":"Die ArdunioIDE ist - verglichen mit anderen Entwicklungsumgebungen - sehr simpel gehalten. Es gibt nicht viele Sachen die man ein- oder verstellen kann. Dies hat den Vorteil, dass Anf\u00e4nger oder \"Fachfremde\" von der Einstellungsvielfalt nicht \u00fcberfordert werden und man bei der Programmierung und \u00dcbertragung nicht soviel falsch machen kann. Trotzdem\u2026","rel":"","context":"In &quot;Arduino&quot;","block_context":{"text":"Arduino","link":"https:\/\/nerdiy.de\/de_de\/category\/arduino\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-57.png?fit=1200%2C592&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-57.png?fit=1200%2C592&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-57.png?fit=1200%2C592&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-57.png?fit=1200%2C592&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/06\/Screenshot-57.png?fit=1200%2C592&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":6085,"url":"https:\/\/nerdiy.de\/de_de\/howto-espeasy-befehle-ausfuehren\/","url_meta":{"origin":946,"position":1},"title":"HowTo: ESPEasy &#8211; Befehle und Aktionen per HTTP, MQTT, UDP und direkt ausf\u00fchren","author":"Fab","date":"26. Mai 2019","format":false,"excerpt":"Eine Sache die ESPEasy so praktisch und universell macht ist die M\u00f6glichkeit verschiedene Sensoren und Aktoren \u00fcber Befehle auslesen und steuern zu k\u00f6nnen. Gerade in Kombination mit entsprechenden Rules ergeben sich dadurch unheimlich viele M\u00f6glichkeiten. Um einzelne Befehle zu testen und\/oder generell ausf\u00fchren zu k\u00f6nnen, gibt es mehrere M\u00f6glichkeiten. Diese\u2026","rel":"","context":"In &quot;Arduino&quot;","block_context":{"text":"Arduino","link":"https:\/\/nerdiy.de\/de_de\/category\/arduino\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-befehle-ausfuehren-firefox-2019-05-26-22-06-37.png?fit=1200%2C634&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-befehle-ausfuehren-firefox-2019-05-26-22-06-37.png?fit=1200%2C634&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-befehle-ausfuehren-firefox-2019-05-26-22-06-37.png?fit=1200%2C634&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-befehle-ausfuehren-firefox-2019-05-26-22-06-37.png?fit=1200%2C634&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-befehle-ausfuehren-firefox-2019-05-26-22-06-37.png?fit=1200%2C634&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4511,"url":"https:\/\/nerdiy.de\/de_de\/tasmota-firmware-flashen\/","url_meta":{"origin":946,"position":2},"title":"HowTo: Tasmota &#8211; Firmware flashen","author":"Fab","date":"7. M\u00e4rz 2019","format":false,"excerpt":"Neben der Hardware ist die richtige Software f\u00fcr Euer Projekt nat\u00fcrlich genauso wichtig. Eine praktische und universell einsetzbare Firmware f\u00fcr den Wald-und-Wiesen-Mikrocontroller ESP8266 ist die Tasmota Firmware. Damit lassen sich diverse Projekte realisieren ohne, dass Ihr selber programmieren m\u00fcsst. Au\u00dferdem muss man das Rad ja auch nicht jedes mal \"neu\u2026","rel":"","context":"In &quot;Abendprojekt(&lt;2h)&quot;","block_context":{"text":"Abendprojekt(&lt;2h)","link":"https:\/\/nerdiy.de\/de_de\/category\/abendprojekt2h\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/03\/www.nerdiy.de-tasmota-firmware-flashen-javaw-2019-02-25-20-41-40.png?fit=1200%2C684&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/03\/www.nerdiy.de-tasmota-firmware-flashen-javaw-2019-02-25-20-41-40.png?fit=1200%2C684&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/03\/www.nerdiy.de-tasmota-firmware-flashen-javaw-2019-02-25-20-41-40.png?fit=1200%2C684&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/03\/www.nerdiy.de-tasmota-firmware-flashen-javaw-2019-02-25-20-41-40.png?fit=1200%2C684&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/03\/www.nerdiy.de-tasmota-firmware-flashen-javaw-2019-02-25-20-41-40.png?fit=1200%2C684&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":617,"url":"https:\/\/nerdiy.de\/de_de\/fibonacciuhr-programmierung\/","url_meta":{"origin":946,"position":3},"title":"HowTo: FibonacciUhr &#8211; Programmierung","author":"Fab","date":"29. Mai 2018","format":false,"excerpt":"In den beiden Beitr\u00e4gen FibonacciUhr - Ein ungew\u00f6hnlicher Zeitanzeiger und FibonacciUhr - Zusammenbau wurde die FibonacciUhr vorgestellt und beschrieben wie ihr eine eigene FibonacciUhr zusammenbauen k\u00f6nnt. Nachdem ihr den Zusammenbau abgeschlossen habt steht nun noch die Programmierung der Uhr an. Dies ist im folgendem Artikel beschrieben. Voraussetzungen Zur Programmierung eurer\u2026","rel":"","context":"In &quot;Abendprojekt(&lt;2h)&quot;","block_context":{"text":"Abendprojekt(&lt;2h)","link":"https:\/\/nerdiy.de\/de_de\/category\/abendprojekt2h\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/InkedScreenshot-152_LI.jpg?fit=1048%2C590&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/InkedScreenshot-152_LI.jpg?fit=1048%2C590&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/InkedScreenshot-152_LI.jpg?fit=1048%2C590&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/InkedScreenshot-152_LI.jpg?fit=1048%2C590&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":607,"url":"https:\/\/nerdiy.de\/de_de\/fibonacciuhr-bedienungsanleitung\/","url_meta":{"origin":946,"position":4},"title":"FibonacciUhr &#8211; Bedienungsanleitung","author":"Fab","date":"29. Mai 2018","format":false,"excerpt":"In den Beitr\u00e4gen FibonacciUhr - Ein ungew\u00f6hnlicher Zeitanzeiger, FibonacciUhr - Zusammenbau und FibonacciUhr - Programmierung habe ich beschrieben wie man sich eine eigene FibonacciUhr bauen kann. Gerade f\u00fcr den Fall, dass man seine selbstgebaute FibonacciUhr verschenken m\u00f6chte ist es praktisch direkt eine Bedienungsanleitung mitschenken zu k\u00f6nnen. F\u00fcr diesen Fall habe\u2026","rel":"","context":"In &quot;Abendprojekt(&lt;2h)&quot;","block_context":{"text":"Abendprojekt(&lt;2h)","link":"https:\/\/nerdiy.de\/de_de\/category\/abendprojekt2h\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/fibouhrUebersicht.png?fit=800%2C500&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/fibouhrUebersicht.png?fit=800%2C500&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/fibouhrUebersicht.png?fit=800%2C500&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2018\/05\/fibouhrUebersicht.png?fit=800%2C500&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":6070,"url":"https:\/\/nerdiy.de\/de_de\/howto-espeasy-firmware-flashen\/","url_meta":{"origin":946,"position":5},"title":"HowTo: ESPEasy &#8211; Firmware kompilieren, flashen und WLAN Zugangsdaten konfigurieren","author":"Fab","date":"26. Mai 2019","format":false,"excerpt":"Jedes Projekt besteht neben vielen wichtigen Hardwarekomponenten auch aus der passenden Software. Dabei ist es oft weniger aufwendig das Projekt zusammenzubauen als sp\u00e4ter die dazu passende Software zu schreiben. Diese Arbeit kann man sich aber dank einiger OpenSource-Projekte sparen. Eins davon ist die hier schon oft erw\u00e4hnte Tasmota-Firmware. Eine andere\u2026","rel":"","context":"In &quot;Abendprojekt(&lt;2h)&quot;","block_context":{"text":"Abendprojekt(&lt;2h)","link":"https:\/\/nerdiy.de\/de_de\/category\/abendprojekt2h\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-firmware-flashen-und-wlan-zugangsdaten-konfigurieren-screenshot-20190604-150012-settings.jpg?fit=675%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-firmware-flashen-und-wlan-zugangsdaten-konfigurieren-screenshot-20190604-150012-settings.jpg?fit=675%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/nerdiy.de\/wp-content\/uploads\/2019\/05\/www.nerdiy.de-howto-espeasy-firmware-flashen-und-wlan-zugangsdaten-konfigurieren-screenshot-20190604-150012-settings.jpg?fit=675%2C1200&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/posts\/946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/comments?post=946"}],"version-history":[{"count":0,"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/posts\/946\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/media\/6174"}],"wp:attachment":[{"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/media?parent=946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/categories?post=946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nerdiy.de\/de_de\/wp-json\/wp\/v2\/tags?post=946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}