{"id":2045,"date":"2019-03-22T18:04:53","date_gmt":"2019-03-22T18:04:53","guid":{"rendered":"http:\/\/fambach.net\/?p=2045"},"modified":"2022-04-01T10:31:13","modified_gmt":"2022-04-01T10:31:13","slug":"arduino-ps2-controller-platine-grundlagen","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/","title":{"rendered":"Arduino PS2 Controller Board Fundamentals"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Contents\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Uberblick\" >&Uuml;berblick<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Ansichten\" >Views<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Beschaltung\" >Wiring<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Einsatz\" >Operation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Programmierung\" >Programming<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Motorsteuerung\" >Motorsteuerung<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Servos\" >Servos<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#2_Direkt_ansteuerbare_Servos\" >2 Direkt ansteuerbare Servos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#4_uber_I%C2%B2C_ansteuerbare_Servos\" >4 &uuml;ber I&sup2;C ansteuerbare Servos<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#PS2_Schnittstelle\" >PS2 Schnittstelle<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#SR04\" >SR04<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#I2C\" >I2C<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#HC-06_Bluetooth\" >HC-06 Bluetooth<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Fazit\" >Conclusion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Probleme\" >Problems<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Alles_verhalt_sich_doof_%E2%80%A6\" >Alles verh&auml;lt sich doof &#8230;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Servo_3-6_gehen_nicht\" >Servo 3-6 gehen nicht<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Unkontrollierte_Tastendrucke\" >Unkontrollierte Tastendr&uuml;cke<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Keine_Funktion\" >Keine Funktion<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Verwandte_Beitrage\" >Verwandte Beitr&auml;ge<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/#Quellen\" >Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Verkaufsname: 2018 Arduino Shield Expansion Board 6-12V with 4 Channels Motors Servos Ports PS2 Joystick Remote Control&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe die Erweiterungsplatine im Set inclusive PS2 Controller\/Empfangsmodul, Arduino Uno und USB Kabel, beim schnellen Ali f&uuml;r unter 26&euro; gekauft.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>!!!Vorab um ein paar Fehler zu vermeiden, ist es sinnvoll eine externe Spannungsquelle an den Arduino anzuschliessen, der Strom &uuml;ber den USB Port reicht leider nicht immer aus!!!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Aktuelle Status ist noch Draft, bitte meckern \ud83d\ude09 <\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Uberblick\"><\/span>&Uuml;berblick<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Platine (hier in Version 2.1) ist beeindruckend vielf&auml;ltig. Die wichtigsten Daten hier im &Uuml;berblick: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Playstation 2 Anschluss f&uuml;r einen Controller-Empf&auml;nger.<\/li><li>4 Motor Anschl&uuml;sse mit Motorbr&uuml;cke<\/li><li>6 Servoanschl&uuml;sse &#8211; 2 &#8222;Normale&#8220; + 4 &Uuml;ber den PWM Chip<\/li><li>I2C Anschluss nach au&szlig;en gef&uuml;hrt<\/li><li>Anschluss f&uuml;r einen HC-SR04 oder kompatiblen Sonarsensor<\/li><li>Anschluss f&uuml;r ein HC-06 kompatibles Bluetooth Modul<\/li><li>Stromanschluss 6-9V<\/li><li>Stromanschluss Klemmen f&uuml;r +5V???<\/li><li>JMP Jumper zum deaktivieren on Board Spannung<\/li><li>JP1 Zur deaktivieren der 5V Spannung??? <\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ansichten\"><\/span>Views<a href=\"https:\/\/photos.google.com\/photo\/AF1QipPW2lQLXaqoxiLfCgnnL-yqqOoGg-8Ji5F-MCz2\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/20190320_093627\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"800\" data-id=\"2142\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093627-1024x800.jpg\" alt=\"\" class=\"wp-image-2142\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093627-1024x800.jpg 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093627-300x234.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093627-768x600.jpg 768w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/a><figcaption>Von unten<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/20190320_093527\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"774\" data-id=\"2141\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093527-1024x774.jpg\" alt=\"\" class=\"wp-image-2141\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093527-1024x774.jpg 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093527-300x227.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093527-768x580.jpg 768w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/a><figcaption>Von oben<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/20190320_093747\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"869\" data-id=\"2139\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093747-1024x869.jpg\" alt=\"\" class=\"wp-image-2139\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093747-1024x869.jpg 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093747-300x255.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/20190320_093747-768x652.jpg 768w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/a><figcaption>Das gesamte Set<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Beschaltung\"><\/span>Wiring<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"873\" height=\"397\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/AnnotationPS2Platine.jpg\" alt=\"\" class=\"wp-image-2764\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/AnnotationPS2Platine.jpg 873w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/AnnotationPS2Platine-300x136.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/AnnotationPS2Platine-768x349.jpg 768w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><figcaption>Beschriftete Frontansicht<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Einsatz\"><\/span>Operation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Als Morotplatine mit zu&auml;tzlichen Erweiterungen<\/li><li>Zur Steuerung von Robotern<\/li><li>Fernsteuerung diverser Fahrzeuge<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Programmierung\"><\/span>Programming<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The integration of libraries in general is described under the following link, and I will not go into further detail here.<br><a href=\"https:\/\/www.fambach.net\/en\/arduino-ide\/#Bibliotheken\">https:\/\/fambach.net\/arduino-ide#Bibliotheken<\/a> <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Motorsteuerung\"><\/span>Motorsteuerung<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Motorbr&uuml;cke wird &uuml;ber den I2C Bus angesteuert und ist mit der Adafruit Motor V2 Bibliothek kompatibel.  Die Adresse ist 0x60.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Bibliothek ist &uuml;ber den folgenden Link erh&auml;ltlich:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit_Motor_Shield_V2_Library\">https:\/\/github.com\/adafruit\/Adafruit_Motor_Shield_V2_Library<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deren Verwendung habe ich schon einmal im Artikel zur Motor Platine V2 beschrieben :<\/p>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-stefan-039-s-webblog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"yZyKlth7eA\"><a href=\"https:\/\/www.fambach.net\/en\/motor-platine-v2\/\">Arduino Motor Shield V2<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u201eArduino Motor Board V2\u201c \u2014 Stefan&#039;s WebBlog\" src=\"https:\/\/www.fambach.net\/motor-platine-v2\/embed\/#?secret=yZyKlth7eA\" data-secret=\"yZyKlth7eA\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das Programm des Artikels habe ich einfach mal auf den UNO dieses Projektes gespielt und siehe da, die Motoren drehen.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-368ba823-0bca-4271-9a36-ba58393c34f9\" href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/03\/MotorSchieldV2Test.ino\">MotorSchieldV2Test<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/03\/MotorSchieldV2Test.ino\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-368ba823-0bca-4271-9a36-ba58393c34f9\">Download<\/a>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Servos\"><\/span>Servos<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Auf der Zusatzplatine gibt es zwei direkt mit dem Arduino verbundene Servos und vier die &uuml;ber die Motorbr&uuml;cke &uuml;ber den I2C Bus verbunden sind. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Direkt_ansteuerbare_Servos\"><\/span>2 Direkt ansteuerbare Servos<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pin assignment<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table id=\"wpls-table-1\"><tbody><tr><td>Servo <\/td><td>Arduino Pin <\/td><\/tr><tr><td>1<\/td><td>5<\/td><\/tr><tr><td>2<\/td><td>6<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Test programme<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Anschl&uuml;sse befinden sich direkt neben dem Stromanschluss. Der Masse Pol des Servos begfindet sich an der Platinenkante.  Die beiden Servos h&auml;ngen an den Ardunio Pins 5 und 6. Sie sind &uuml;ber die, in der Arduino-Bibliothek integrierte Servosteuerung, regelbar.  Hier ein Beispiel:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-a58d1fcf-7ddb-4979-8a17-181361ef62c2\" href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ServoTest.ino\">ServoTest<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ServoTest.ino\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-a58d1fcf-7ddb-4979-8a17-181361ef62c2\">Download<\/a>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>P.S. Sollte die Servos unfug machen, mal eine extene Spannungsquelle anschliessen die USB Spannung reicht f&uuml;r dieses Board nicht aus.<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_uber_I%C2%B2C_ansteuerbare_Servos\"><\/span>4 &uuml;ber I&sup2;C ansteuerbare Servos<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">F&uuml;r die Servos gibt es ebenfalls von Adafruit eine Servo-Treiber Bibliothek:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit-PWM-Servo-Driver-Library\">https:\/\/github.com\/adafruit\/Adafruit-PWM-Servo-Driver-Library<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Test programme<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eingebunden werden kann die Bibliothek sowohl &uuml;ber das GitHub Zip als auch &uuml;ber den Library Manager.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"788\" height=\"149\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/image-5.png\" alt=\"\" class=\"wp-image-2325\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/image-5.png 788w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/image-5-300x57.png 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/image-5-768x145.png 768w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pin assignment<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table id=\"wpls-table-2\"><tbody><tr><td>Servo Nummer <\/td><td> Servo PWM Pins<br>(Nicht Arduino Pins) <\/td><\/tr><tr><td>1<\/td><td>0<\/td><\/tr><tr><td>2<\/td><td>1<\/td><\/tr><tr><td>3<\/td><td>14<\/td><\/tr><tr><td>4<\/td><td>15<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mit Hilfe des folgenden Programm lassen sich alle Servos drehen.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-e91712af-8fd4-4e06-9fe6-9d32ba0a5346\" href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ServoTest-1.ino\">ServoTest<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ServoTest-1.ino\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-e91712af-8fd4-4e06-9fe6-9d32ba0a5346\">Download<\/a>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe noch eine zweite Version bei der die Position der Servos in Grad angegeben werden kann:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-f2dab29c-13a3-4c18-9901-d1778c50d474\" href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ServoTestDegree.ino\">ServoTestDegree<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ServoTestDegree.ino\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-f2dab29c-13a3-4c18-9901-d1778c50d474\">Download<\/a>\n\n\n\n<p class=\"wp-block-paragraph\">Die Adafruit Servo PWM Bibliothek ist auch in der Adafruit Motor Bibliothek eingebunden, somit k&ouml;nnen die Servos auch &uuml;ber diese angesteuert werden. Dies ist im Beispiel des Herstellers der Fall.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"PS2_Schnittstelle\"><\/span>PS2 Schnittstelle<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F&uuml;r die PS2 Schnittstelle gibt es eine Bibliothek die sich PS2X nennt und auf Github verf&uuml;gbar ist hier der Link:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/madsci1016\/Arduino-PS2X\/zipball\/5d2be701af64d826d268301d83119a6d2ad04f15\">https:\/\/github.com\/madsci1016\/Arduino-PS2X\/zipball\/5d2be701af64d826d268301d83119a6d2ad04f15<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pin assignment<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Pinbelgung f&uuml;r den Controller ist wie folg zu definieren:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table id=\"wpls-table-3\"><tbody><tr><td>Pin<\/td><td>Description<\/td><\/tr><tr><td>12<\/td><td>DAT<\/td><\/tr><tr><td>11<\/td><td>Command Prompt<\/td><\/tr><tr><td>10<\/td><td>SEL<\/td><\/tr><tr><td>13<\/td><td>CLK<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Test programme<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe mit Hilfe des Beispiele in der Bibliothek mein eigenes Testprogramm erstellt. Dieses fragt alle Kn&ouml;pfe und die Joystick-Positionen ab. Ein paar Eigenheiten die mir aufgefallen sind habe ich ebenfalls gleich behoben:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Das erste Initialisieren des Controllers geht meist schief, deshalb versuche ich es so lange bis es geklappt hat.<\/li><li>Erstes auslesen klappt nicht immer, &uuml;berspringe ich.<\/li><li>Mein Beispiel funktioniert aktuell nur f&uuml;r den Dual Shock Controller, alle Anderen sind ausgeschlossen.<\/li><li>Da die Farbkn&ouml;pfe identisch mit den Formkn&ouml;pfen sind habe ich die Farbkn&ouml;pfe aus dem Array herausgenommen.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-d6e0a021-ad86-4083-9f8d-937a68b63906\" href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/PS2ControllerTest.zip\">PS2ControllerTest<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/PS2ControllerTest.zip\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-d6e0a021-ad86-4083-9f8d-937a68b63906\">Download<\/a>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"SR04\"><\/span>SR04<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pin assignment<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table id=\"wpls-table-4\"><tbody><tr><td><strong>Pin<\/strong><\/td><td><strong>Function<\/strong><\/td><\/tr><tr><td>7<\/td><td> Echo  <\/td><\/tr><tr><td>8<\/td><td>Trigger <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Test programme<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Den HC-SR04 habe ich schon einmal in folgenden Artikel getestet. Das Programm aus dem Artikel mit angepasster Pinbelegung kann nachfolgend herunter geladen werden:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/fambach.net\/ardunino-mit-dht10\n<\/figure>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-1845fd47-d68b-4094-a34e-8f7dccb2a3aa\" href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/SR04Test.ino\">SR04Test<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/SR04Test.ino\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-1845fd47-d68b-4094-a34e-8f7dccb2a3aa\">Download<\/a>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"I2C\"><\/span>I2C<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der I2C Bus ist auf der Oberseite der Platine gut beschriftet. Ich war mir unsicher welchen Mehrwehrt ich hier erzeugen k&ouml;nnte. Ich habe nur getestet ob die herausgef&uuml;hrte Schnittestelle auch funktioniert. Zum Test habe ich ein HMC5883L am I2C Bus angeschlossen, um einen Verbraucher zu haben. <br>Zum testen benutzte ich denn  einen I2C Scanner den ich im Internet mal gefunden und  etwas angepasst habe. <\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-2b0b039a-9420-4263-a888-04fb3d36e7b9\" href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ScanWire.ino\">ScanWire<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/ScanWire.ino\" class=\"wp-block-file__button\" download aria-describedby=\"wp-block-file--media-2b0b039a-9420-4263-a888-04fb3d36e7b9\">Download<\/a>\n\n\n\n<p class=\"wp-block-paragraph\">Und siehe da es funktioniert &#8230; nicht wirklich &uuml;berraschend.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"363\" height=\"194\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/03\/image-6.png\" alt=\"\" class=\"wp-image-3269\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/image-6.png 363w, https:\/\/www.fambach.net\/wp-content\/uploads\/2019\/03\/image-6-300x160.png 300w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"HC-06_Bluetooth\"><\/span>HC-06 Bluetooth<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe aktuell weder eine HC-06 kompatibles Board zur Hand noch einen Anwendungszweck hierf&uuml;r also lasse ich diesen Test mal aus.  Schickt mir ein HC kompatibles Modul und ich teste es \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ich finde dies Platine toll, sie bietet fast alles um einen kleinen Roboter aufzubauen. Der hohe Stromverbrauch ist sicherlich ein Nachteil, jedoch kommt der nicht zuletzt auch von PS2 Empf&auml;nger. <br> <br>Ich habe mir das Board im set gekauft weil ich eine Fernsteuerung brauchte. Zudem bietet es noch Anschlussm&ouml;glichkeiten f&uuml;r 4 Motoren, 6 Servos, einen Entfernungssenors, 1 Bluetooth Modul und diverser I2C Ger&auml;te. Mehr kann man f&uuml;r den Paketpreis von unte 25 &euro; nicht erwarten. Wer nur die Platine braucht, kann sie f&uuml;r rund 16&euro; erwerben.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Probleme\"><\/span>Problems<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Alles_verhalt_sich_doof_%E2%80%A6\"><\/span>Alles verh&auml;lt sich doof &#8230; <span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn nichts so richtig Funktioniert, die Servos ruckeln oder es sieht nach dauernden Resets aus, kann es an den folgenden Punkten liegen:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Die Spannung ist zu gering &#8211; Externe Spannungsquelle anschliessen<\/li><li>Falsche Version des Boards &#8211; Die getestete ist V2.1<\/li><li>Anderer Servo Hersteller &#8211; Ich verwende Billigware aus Fernost 95G, andere Servos brauchen evtl. andere Frequenzen.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Servo_3-6_gehen_nicht\"><\/span>Servo 3-6 gehen nicht<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Achtung Servos k&ouml;nnen nicht mit der Standard Arduino Servo implementierung angesprochen werden, bitte die entsprechende Adafruit Bibliothek verwenden (Sieht Beispiel).<\/li><li>Anderer Servo Hersteller &#8211; Ich verwende Billigware aus Fernost 95G, andere Servos brauchen evtl. andere Frequenzen. <\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Unkontrollierte_Tastendrucke\"><\/span>Unkontrollierte Tastendr&uuml;cke<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Aufbau meines eigenen Testbeispiels hatte ich das Problem, dass immer mal wieder eine Meldung kam, dass alle Tasten gedr&uuml;ckt wurden. Nach Tests unterschiedlicher Optionen, einschliesslich der Anpassung der Clock in der Lib, habe ich  heraus gefunden, dass es an den fehlenden 50ms Delay am Ende der Loop Funktion lag. Entfernt man diese scheint dem PS2 Empf&auml;nger das auslesen zu schnell zu gehen und es kommt zu Fehlern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Keine_Funktion\"><\/span>Keine Funktion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Da ich die Verkabelung des Empf&auml;ngers nicht selbst gemacht habe, ist dies kein Fehler der bei mir auftreten konnte, aber auf der Entwicklerseite der PS2x Bibliothek wird darauf hingewiesen, dass immer mal wieder Probleme bei der Verkabelung auftreten k&ouml;nnen. Hier der Link:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/www.billporter.info\/2011\/03\/27\/arduino-playstation-2-controller-library-troubleshooting-guide\/\">http:\/\/www.billporter.info\/2011\/03\/27\/arduino-playstation-2-controller-library-troubleshooting-guide\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verwandte_Beitrage\"><\/span>Verwandte Beitr&auml;ge<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<ul class=\"display-posts-listing\">\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/pan-tilt-mit-joystick\/\">Pan Tilt with joystick<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/opensmaretremotejoy-2\/\">OpenSmart Wireless Joystick<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/rc-auto-mit-ps2-controller\/\">RC car with PS2 controller<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/arduino-joystick-shield-v1-a\/\">Funduino JOYSTICK V1.A<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/sunfounder-fernbedienung\/\">Sunfounder nRF24 Remote Control<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/\">Arduino PS2 Controller Board Fundamentals<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Sources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.google.com\/search?q=servo+daten+sc90&amp;oq=servo+daten+sc90&amp;aqs=chrome..69i57.3435j0j7&amp;sourceid=chrome&amp;ie=UTF-8\">https:\/\/www.google.com\/search?q=servo+daten+sc90&amp;oq=servo+daten+sc90&amp;aqs=chrome..69i57.3435j0j7&amp;sourceid=chrome&amp;ie=UTF-8<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"http:\/\/www.7gp.cn\/archives\/195\">http:\/\/www.7gp.cn\/archives\/195<\/a>  (Hersteller Link)<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"http:\/\/www.7gp.cn\/archives\/409\">http:\/\/www.7gp.cn\/archives\/409<\/a>  (Hersteller Link) <a href=\"http:\/\/www.7gp.cn\/archives\/409\"><\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"http:\/\/www.7gp.cn\/archives\/475\">http:\/\/www.7gp.cn\/archives\/475<\/a>  (Hersteller Link) <a href=\"http:\/\/www.7gp.cn\/archives\/475\"><\/a><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/madsci1016\/Arduino-PS2X\/zipball\/5d2be701af64d826d268301d83119a6d2ad04f15\">https:\/\/github.com\/madsci1016\/Arduino-PS2X\/zipball\/5d2be701af64d826d268301d83119a6d2ad04f15<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-the-mind-of-bill-porter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"y6YCzCNP8E\"><a href=\"http:\/\/www.billporter.info\/2010\/06\/05\/playstation-2-controller-arduino-library-v1-0\/\">PlayStation 2 Controller Arduino Library v1.0<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;PlayStation 2 Controller Arduino Library v1.0&#8221; &#8212; The Mind of Bill Porter\" src=\"http:\/\/www.billporter.info\/2010\/06\/05\/playstation-2-controller-arduino-library-v1-0\/embed\/#?secret=y6YCzCNP8E\" data-secret=\"y6YCzCNP8E\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.fambach.net\/en\/arduino-ide\/\"><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Verkaufsname: 2018 Arduino Shield Expansion Board 6-12V with 4 Channels Motors Servos Ports PS2 Joystick Remote Control&nbsp; Ich habe die Erweiterungsplatine im Set inclusive PS2 Controller\/Empfangsmodul, Arduino Uno und USB Kabel, beim schnellen Ali f&uuml;r unter 26&euro; gekauft. !!!Vorab um ein paar Fehler zu vermeiden, ist es sinnvoll eine externe Spannungsquelle an den Arduino anzuschliessen, &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/\" class=\"read-more-link\">Carry on reading <span class=\"screen-reader-text\">\"Arduino PS2 Controller Platine Grundlagen\"<\/span> <span class=\"meta-nav\">\u2192<\/span><\/a>","protected":false},"author":1,"featured_media":2139,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"no","footnotes":""},"categories":[175,573,184,191,222,198,204,207],"tags":[54,82,28,84,46,12,74,13],"class_list":["post-2045","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino-gui","category-arduino-uno-zusatzplatinen","category-c-c","category-fernbedienung","category-i2c-wire","category-motorbruecke","category-ps2-controller","category-servos","tag-arduino-gui","tag-uno-zusatzplatine","tag-c-c","tag-fernbedienung","tag-i2c-wire","tag-motorbruecke","tag-ps2-controller","tag-servos","penguin-post","penguin-post-not-sticky"],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/2045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=2045"}],"version-history":[{"count":50,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/2045\/revisions"}],"predecessor-version":[{"id":8475,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/2045\/revisions\/8475"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/2139"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=2045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=2045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=2045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}