{"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_73 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 Content\"><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\" title=\"Overview\">Overview<\/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\" title=\"Views\">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\" title=\"Beschaltung\">Beschaltung<\/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\" title=\"Einsatz\">Einsatz<\/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\" title=\"Programming\">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\" title=\"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\" title=\"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\" title=\"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\" title=\"4 \u00fcber I\u00b2C ansteuerbare Servos\">4 \u00fcber I\u00b2C 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\" title=\"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\" title=\"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\" title=\"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\" title=\"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\" title=\"Conclusion\">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\" title=\"Problems\">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\" title=\"Alles verh\u00e4lt sich doof &#8230;\">Alles verh\u00e4lt 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\" title=\"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\" title=\"Unkontrollierte Tastendr\u00fccke\">Unkontrollierte Tastendr\u00fccke<\/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\" title=\"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\" title=\"Related Posts\">Related Posts<\/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\" title=\"Sources\">Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><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>Ich habe die Erweiterungsplatine im Set inclusive PS2 Controller\/Empfangsmodul, Arduino Uno und USB Kabel, beim schnellen Ali f\u00fcr unter 26\u20ac gekauft.<\/p>\n\n\n\n<p><strong>!!!Vorab um ein paar Fehler zu vermeiden, ist es sinnvoll eine externe Spannungsquelle an den Arduino anzuschliessen, der Strom \u00fcber den USB Port reicht leider nicht immer aus!!!<\/strong><\/p>\n\n\n\n<p><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>Overview<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Die Platine (hier in Version 2.1) ist beeindruckend vielf\u00e4ltig. Die wichtigsten Daten hier im \u00dcberblick: <\/p>\n\n\n\n<ul><li>Playstation 2 Anschluss f\u00fcr einen Controller-Empf\u00e4nger.<\/li><li>4 Motor Anschl\u00fcsse mit Motorbr\u00fccke<\/li><li>6 Servoanschl\u00fcsse &#8211; 2 &#8222;Normale&#8220; + 4 \u00dcber den PWM Chip<\/li><li>I2C Anschluss nach au\u00dfen gef\u00fchrt<\/li><li>Anschluss f\u00fcr einen HC-SR04 oder kompatiblen Sonarsensor<\/li><li>Anschluss f\u00fcr ein HC-06 kompatibles Bluetooth Modul<\/li><li>Stromanschluss 6-9V<\/li><li>Stromanschluss Klemmen f\u00fcr +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=\"(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=\"(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=\"(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>Beschaltung<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=\"(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>Einsatz<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul><li>Als Morotplatine mit zu\u00e4tzlichen 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>Die Einbindung von Bibliotheken im generellen ist unter folgenden Link beschrieben, hier werde ich nicht mehr n\u00e4her darauf eingehen.<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>Die Motorbr\u00fccke wird \u00fcber den I2C Bus angesteuert und ist mit der Adafruit Motor V2 Bibliothek kompatibel.  Die Adresse ist 0x60.<\/p>\n\n\n\n<p>Die Bibliothek ist \u00fcber den folgenden Link erh\u00e4ltlich:<\/p>\n\n\n\n<p><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>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 class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;Arduino Motor Platine V2&#8220; &#8212; 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<\/div><\/figure>\n\n\n\n<p>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><\/div>\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>Auf der Zusatzplatine gibt es zwei direkt mit dem Arduino verbundene Servos und vier die \u00fcber die Motorbr\u00fccke \u00fcber 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><strong>Pin assignment<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><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><strong>Test programme<\/strong><\/p>\n\n\n\n<p>Die Anschl\u00fcsse befinden sich direkt neben dem Stromanschluss. Der Masse Pol des Servos begfindet sich an der Platinenkante.  Die beiden Servos h\u00e4ngen an den Ardunio Pins 5 und 6. Sie sind \u00fcber 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><\/div>\n\n\n\n<p><strong>P.S. Sollte die Servos unfug machen, mal eine extene Spannungsquelle anschliessen die USB Spannung reicht f\u00fcr 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 \u00fcber I\u00b2C ansteuerbare Servos<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>F\u00fcr die Servos gibt es ebenfalls von Adafruit eine Servo-Treiber Bibliothek:<\/p>\n\n\n\n<p><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><strong>Test programme<\/strong><\/p>\n\n\n\n<p>Eingebunden werden kann die Bibliothek sowohl \u00fcber das GitHub Zip als auch \u00fcber 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=\"(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><strong>Pin assignment<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><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>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><\/div>\n\n\n\n<p>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><\/div>\n\n\n\n<p>Die Adafruit Servo PWM Bibliothek ist auch in der Adafruit Motor Bibliothek eingebunden, somit k\u00f6nnen die Servos auch \u00fcber 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>F\u00fcr die PS2 Schnittstelle gibt es eine Bibliothek die sich PS2X nennt und auf Github verf\u00fcgbar ist hier der Link:<\/p>\n\n\n\n<p><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><strong>Pin assignment<\/strong><\/p>\n\n\n\n<p>Die Pinbelgung f\u00fcr den Controller ist wie folg zu definieren:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><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><strong>Test programme<\/strong><\/p>\n\n\n\n<p>Ich habe mit Hilfe des Beispiele in der Bibliothek mein eigenes Testprogramm erstellt. Dieses fragt alle Kn\u00f6pfe und die Joystick-Positionen ab. Ein paar Eigenheiten die mir aufgefallen sind habe ich ebenfalls gleich behoben:<\/p>\n\n\n\n<ul><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, \u00fcberspringe ich.<\/li><li>Mein Beispiel funktioniert aktuell nur f\u00fcr den Dual Shock Controller, alle Anderen sind ausgeschlossen.<\/li><li>Da die Farbkn\u00f6pfe identisch mit den Formkn\u00f6pfen sind habe ich die Farbkn\u00f6pfe 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><\/div>\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><strong>Pin assignment<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><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><strong>Test programme<\/strong><\/p>\n\n\n\n<p>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<\/div><\/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><\/div>\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>Der I2C Bus ist auf der Oberseite der Platine gut beschriftet. Ich war mir unsicher welchen Mehrwehrt ich hier erzeugen k\u00f6nnte. Ich habe nur getestet ob die herausgef\u00fchrte 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><\/div>\n\n\n\n<p>Und siehe da es funktioniert &#8230; nicht wirklich \u00fcberraschend.<\/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=\"(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>Ich habe aktuell weder eine HC-06 kompatibles Board zur Hand noch einen Anwendungszweck hierf\u00fcr 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>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\u00e4nger. <br> <br>Ich habe mir das Board im set gekauft weil ich eine Fernsteuerung brauchte. Zudem bietet es noch Anschlussm\u00f6glichkeiten f\u00fcr 4 Motoren, 6 Servos, einen Entfernungssenors, 1 Bluetooth Modul und diverser I2C Ger\u00e4te. Mehr kann man f\u00fcr den Paketpreis von unte 25 \u20ac nicht erwarten. Wer nur die Platine braucht, kann sie f\u00fcr rund 16\u20ac 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\u00e4lt sich doof &#8230; <span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>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><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><li>Achtung Servos k\u00f6nnen 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\u00fccke<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Beim Aufbau meines eigenen Testbeispiels hatte ich das Problem, dass immer mal wieder eine Meldung kam, dass alle Tasten gedr\u00fcckt 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\u00e4nger 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>Da ich die Verkabelung des Empf\u00e4ngers 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\u00f6nnen. Hier der Link:<\/p>\n\n\n\n<p><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>Related Posts<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 Funk 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><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><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 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<\/div><\/figure>\n\n\n\n<p><a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.fambach.net\/en\/arduino-ide\/\"><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Sales Name: 2018 Arduino Shield Expansion Board 6-12V with 4 Channels Motors Servos Ports PS2 Joystick Remote Control I bought the expansion board in a set including PS2 controller\/receiver module, Arduino Uno and USB cable, from fast Ali for under \u20ac26. !!!To avoid a few mistakes beforehand, it makes sense to connect an external power source to the Arduino...<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/arduino-ps2-controller-platine-grundlagen\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"Arduino PS2 Controller Platine Grundlagen\"<\/span> <span class=\"meta-nav\">&rarr;<\/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],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/2045"}],"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}]}}