{"id":417,"date":"2013-10-29T00:15:11","date_gmt":"2013-10-28T23:15:11","guid":{"rendered":"http:\/\/eiseler.synology.me\/wordpress\/?p=417"},"modified":"2018-10-25T00:16:31","modified_gmt":"2018-10-24T22:16:31","slug":"arduino-controlling-lego-4x4-powerfunctions-ir","status":"publish","type":"post","link":"http:\/\/eiseler.de\/wordpress\/?p=417","title":{"rendered":"Arduino controlling Lego 4&#215;4 (Powerfunctions IR)"},"content":{"rendered":"<p><a href=\"http:\/\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/10\/IMG_5563.jpg\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"418\" data-permalink=\"http:\/\/eiseler.de\/wordpress\/?attachment_id=418\" data-orig-file=\"http:\/\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/10\/IMG_5563.jpg\" data-orig-size=\"2448,3264\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2.4&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 5&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1382893348&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.12&quot;,&quot;iso&quot;:&quot;200&quot;,&quot;shutter_speed&quot;:&quot;0.05&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Lego 4&#215;4 Offroader\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"http:\/\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/10\/IMG_5563-225x300.jpg\" data-large-file=\"http:\/\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/10\/IMG_5563-768x1024.jpg\" class=\"alignright size-medium wp-image-418\" src=\"http:\/\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/10\/IMG_5563-225x300.jpg\" alt=\"Lego 4x4 Offroader\" width=\"225\" height=\"300\" srcset=\"http:\/\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/10\/IMG_5563-225x300.jpg 225w, http:\/\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/10\/IMG_5563-768x1024.jpg 768w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a>For the evenings at late summer holidays on a small island in the German north sea I bought a <a href=\"http:\/\/www.amazon.de\/gp\/product\/B006ZS4SXQ\/ref=as_li_ss_tl?ie=UTF8&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B006ZS4SXQ&amp;linkCode=as2&amp;tag=eiselerde-21\">Lego 4&#215;4 Offroader<\/a> to build with the kids. The truck has 4&#215;4 driving and steering, and is controlled by an ir remote. Coming home with the built truck\u00a0 I was curious whether I could use an arduino to control the car.<\/p>\n<p>So let&#8217;s share what I found out:\u00a0The truck uses the Lego power functions (<a href=\"http:\/\/www.philohome.com\/pf\/pf.htm\">info<\/a>). One could use wiring to control it, but since I got some experience with ir control, I tried it this way, so no physical connection is needed. I found three libraries out there to control Lego power functions with the arduino and ended with this one: <a href=\"https:\/\/github.com\/schultzy51\/LEGOPowerFunctions\">LEGOPowerFunctions<\/a>. To get it to run I had to insert the line &#8220;#include &lt;Arduino.h&gt; in the legopowerfunctions.h file. After that everything worked fine. Spending a lot of time with soldering in the last projects I also wanted to try a system without soldering, so I gave the <a href=\"http:\/\/www.seeedstudio.com\/wiki\/index.php?title=Main_Page#Grove\">grove<\/a> system from seeed a try. For a small prove of concept I used an <a href=\"http:\/\/www.seeedstudio.com\/wiki\/Grove_-_Infrared_Emitter\">IR Emitter<\/a>, a <a href=\"http:\/\/www.seeedstudio.com\/wiki\/Grove_-_Serial_LCD_V1.1\">LCD Display<\/a> (for debugging),\u00a0 a <a href=\"http:\/\/www.seeedstudio.com\/wiki\/Grove_-_LED_Bar\">LED-Bar<\/a> and an ultrasonic range sensor. And here is the (simple) code which you can use as start. It simply drives the truck forward and backs up and turn if it is approaching\u00a0 a wall. It also gives some simple debugging info on LCD and the LED-Bar.<\/p>\n<p>&nbsp;<\/p>\n<p><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"http:\/\/rcm-eu.amazon-adsystem.com\/e\/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=eiselerde-21&amp;o=3&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B006ZS4SXQ\" width=\"320\" height=\"240\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<pre class=\"brush: c; gutter: true\">define TRIGGER_PIN  2  \/\/12  \/\/ Arduino pin tied to trigger pin on ping sensor.\r\n#define ECHO_PIN     3  \/\/11  \/\/ Arduino pin tied to echo pin on ping sensor.\r\n\r\n\r\n\r\n#include &lt;legopowerfunctions.h&gt;\r\n\r\n#include &lt;SerialLCD.h&gt;\r\n#include &lt;SoftwareSerial.h&gt; \/\/this is a must\r\n#include \"LED_Bar.h\"\r\n\r\nLED_Bar myLED;\r\n\r\n\/\/ IR led on port 13\r\n\/\/LEGOPowerFunctions lego(13);\r\nLEGOPowerFunctions lego(5);\r\n\r\nint timeout, count;\r\nunsigned long int distance;\r\n\r\nSerialLCD slcd(6,7);\/\/this is a must, assign soft serial pins\r\n\r\nvoid setup()\r\n{           \r\n\r\n  myLED.set_LED_Index(0b000001101010101);\r\n  \/\/Ping\r\n  pinMode(TRIGGER_PIN, OUTPUT);     \r\n  pinMode(ECHO_PIN, INPUT);\r\n\r\n  slcd.begin();\r\n  \/\/ Print a message to the LCD.\r\n  slcd.print(\"hello, world!\");\r\n  delay(3000);\r\n}\r\n\r\nvoid loop()\r\n{\r\n  while(1){\r\n\r\n    distance = pingIt();  \r\n\r\n    if (distance &lt;= 40) {\r\n      slcd.setCursor(0, 1);\r\n      slcd.print(\"Rueckwaerts  \");\r\n      lego.ComboPWM(PWM_FWD7, PWM_REV6, CH2); \/\/\r\n      delay(700);\r\n    } \r\n    else\r\n    {\r\n      slcd.setCursor(0, 1);\r\n      slcd.print(\"Forward  \");\r\n      lego.ComboPWM(PWM_FLT, PWM_FWD6, CH2); \/\/Forward 4WD\r\n      delay(700);\r\n    }  \r\n\r\n  }\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"PWM_FWD3  \");\r\n  lego.ComboPWM(PWM_FLT, PWM_FWD3, CH2); \/\/Forward 4WD\r\n  pingIt();\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"PWM_FWD4  \");\r\n  lego.ComboPWM(PWM_FWD7, PWM_FWD4, CH2); \/\/Forward 4WD\r\n  pingIt();\r\n  delay(1000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"PWM_FWD5  \");\r\n  lego.ComboPWM(PWM_REV7, PWM_FWD5, CH2); \/\/Forward 4WD\r\n  pingIt();\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"PWM_FWD6  \");\r\n  lego.ComboPWM(PWM_FLT, PWM_FWD6, CH2); \/\/Forward 4WD\r\n  pingIt();\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"PWM_FWD7  \");\r\n  lego.ComboPWM(PWM_FLT, PWM_FWD7, CH2); \/\/Forward 4WD\r\n  pingIt();\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"ComboMode  \");\r\n  lego.ComboMode(RED_FWD, BLUE_FWD, CH2);\r\n  pingIt();\r\n  delay(3000);\r\n\r\n  \/\/ }\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"zwei  \");  \r\n  lego.ComboMode(PWM_FLT, PWM_FWD4, CH2); \/\/Left Backward\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"drei  \");\r\n  lego.ComboMode(PWM_FLT, PWM_FWD7, CH2); \/\/Left Forward\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"vier   \");\r\n  lego.ComboMode(PWM_FLT, PWM_BRK, CH2); \/\/Right Forward\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"fuenf  \");\r\n  lego.ComboMode(PWM_FLT, PWM_REV4, CH2); \/\/ Right Backward Not Working\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"sechs   \");\r\n\r\n  lego.ComboMode(PWM_FLT, PWM_REV1, CH2); \/\/Forward 4WD\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"sieben   \");  \r\n  lego.ComboMode(PWM_FLT, PWM_REV7, CH2); \/\/Left Backward\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"acht   \");\r\n  lego.ComboMode(PWM_FWD2, PWM_FLT, CH2); \/\/Left Forward\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"neun   \");\r\n  lego.ComboMode(PWM_REV4, PWM_FLT, CH2); \/\/Right Forward\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"zehn   \");\r\n  lego.ComboMode(PWM_FWD3, PWM_FWD3, CH2); \/\/ Right Backward Not Working\r\n  delay(3000);\r\n\r\n  slcd.setCursor(0, 1);\r\n  slcd.print(\"zehn   \");\r\n  lego.ComboMode(PWM_FWD3, PWM_FWD3, CH2); \/\/ Right Backward Not Working\r\n  delay(3000);\r\n\r\n  \/*\r\n\r\n   timeout = 5; \/\/ 5 secs\r\n   count = 0;\r\n   while(timeout &gt; 0)\r\n   {\r\n   \/\/lego.ComboPWM(PWM_REV4, PWM_FWD4, CH2); \/\/ 50% speed\r\n   lego.ComboPWM(PWM_FLT, PWM_FWD4, CH2); \/\/ 50% speed\r\n   delay(100);\r\n\r\n   if (count++ == 1)\r\n   {\r\n   timeout--;\r\n   count = 0;\r\n   }\r\n\r\n   }\r\n   lego.ComboPWM(PWM_FLT, PWM_FLT, CH2); \/\/ stop\r\n   delay(1000);\r\n   timeout = 3; \/\/ 5 secs\r\n   count = 0;\r\n   *\/\r\n  \/*\r\n  while(timeout &gt; 0)\r\n   {\r\n   lego.ComboMode(RED_FWD, BLUE_FWD, CH2);  \/\/ turn\r\n   delay(100);\r\n   if (count++ == 10)\r\n   {\r\n   timeout--;\r\n   count = 0;\r\n   }\r\n   }\r\n   *\/\r\n}\r\n\r\nlong unsigned int pingIt(){\r\n  \/\/ Start Ranging\r\n  long unsigned int distance;\r\n  int ii;\r\n\r\n  digitalWrite(TRIGGER_PIN, LOW);\r\n  delayMicroseconds(2);  \/\/4 2\r\n  digitalWrite(TRIGGER_PIN, HIGH);\r\n  delayMicroseconds(10); \/\/20 10  5\r\n  digitalWrite(TRIGGER_PIN, LOW);\r\n  \/\/ Compute distance\r\n  distance = pulseIn(ECHO_PIN, HIGH);\r\n  distance= distance\/58;\r\n\r\n  myLED.set_LED_Range(ledBarRange(distance));\r\n\r\n  slcd.setCursor(0, 0);\r\n  slcd.print(\"         \");\r\n\r\n  slcd.setCursor(0, 0);\r\n  slcd.print(distance, DEC);\r\n  \/\/lcd_print(0, \"Ping\");\r\n  \/\/lcd_print_special(turn, distance);\r\n  \/\/distanceLeds(distance);\r\n  return distance;\r\n}\r\n\r\nint ledBarRange(long unsigned int aD){\r\n  if (aD &lt;= 5) return 10;\r\n  if (aD &lt;= 10) return 9;\r\n  if (aD &lt;= 15) return 8;\r\n  if (aD &lt;= 20) return 7;\r\n  if (aD &lt;= 30) return 6;\r\n  if (aD &lt;= 40) return 5;\r\n  if (aD &lt;= 50) return 4;\r\n  if (aD &lt;= 70) return 3;\r\n  if (aD &lt;= 90) return 2;\r\n  return 1; \r\n}<\/pre>\n<p>&nbsp;<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-417\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-417\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-417\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-pocket\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-pocket sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=pocket\" target=\"_blank\" title=\"Click to share on Pocket\"><span>Pocket<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>For the evenings at late summer holidays on a small island in the German north sea I bought a Lego 4&#215;4 Offroader to build with the kids. The truck has 4&#215;4 driving and steering, and is controlled by an ir &hellip; <a href=\"http:\/\/eiseler.de\/wordpress\/?p=417\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-417\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-417\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-417\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-pocket\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-pocket sd-button share-icon\" href=\"http:\/\/eiseler.de\/wordpress\/?p=417&amp;share=pocket\" target=\"_blank\" title=\"Click to share on Pocket\"><span>Pocket<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[6,26,5],"tags":[],"class_list":["post-417","post","type-post","status-publish","format-standard","hentry","category-arduino","category-gadgets","category-kinder"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8zAuQ-6J","jetpack-related-posts":[{"id":305,"url":"http:\/\/eiseler.de\/wordpress\/?p=305","url_meta":{"origin":417,"position":0},"title":"Arduino - Crash Kurs f\u00fcr IT'ler","date":"02\/03\/2013","format":false,"excerpt":"Es gibt bereits viele Anleitungen f\u00fcr den Arduino, hier ein Crashkurs f\u00fcr Leute aus dem\u00a0 IT-Umfeld. Was ist es? EIn Platine um eigene Hardware bauen zu k\u00f6nnen. Programmiersprache ist (fast) C; die Hardware ist so abstrahiert, dass (fast) keine Elektronikkenntnisse erforderlich sind. Arduino ist \u00e4hnlich Lego NXT oder Fischertechnik Computing,\u2026","rel":"","context":"In &quot;Arduino&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":670,"url":"http:\/\/eiseler.de\/wordpress\/?p=670","url_meta":{"origin":417,"position":1},"title":"Duplo Train with Arduino","date":"24\/01\/2017","format":false,"excerpt":"(Re-)Found a video from my Duplo Arduino Train: https:\/\/www.youtube.com\/watch?v=NK9jH1OX3CI","rel":"","context":"In &quot;Arduino&quot;","img":{"alt_text":"","src":"https:\/\/i1.wp.com\/img.youtube.com\/vi\/NK9jH1OX3CI\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1049,"url":"http:\/\/eiseler.de\/wordpress\/?p=1049","url_meta":{"origin":417,"position":2},"title":"Arduino mirror image, orientation problem with display MAX7219","date":"13\/11\/2018","format":false,"excerpt":"How to use MAX7219 LED Matrix with Arduino https:\/\/youtu.be\/eAqVJXKpj8I Good Libraries to use with the MAX7219 LED are: https:\/\/github.com\/MajicDesigns\/MD_MAX72XX LED https:\/\/github.com\/MajicDesigns\/MD_Parola Scrolling You'll find lot's of examples after you install the libraries in the Arduino IDE. Arduino mirror image, orientation problem with display MAX7219 How to solve problem with the\u2026","rel":"","context":"In &quot;Arduino&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/eiseler.de\/wordpress\/wp-content\/uploads\/2018\/11\/img_8469.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":188,"url":"http:\/\/eiseler.de\/wordpress\/?p=188","url_meta":{"origin":417,"position":3},"title":"Arduino - Let's start","date":"11\/01\/2013","format":false,"excerpt":"Der Arduino und sein ganzes entstandenes Umfeld macht es einfach seine eigene Hardware zu entwickeln. Zum Auftakt erst einmal was man z.B. damit machen. Zu faul sein Kleinkind mit dem Fernlenkauto zu besch\u00e4ftigen? Das geht noch einfacher. Einfach auf Computersteuerung umbauen: Wie das geht ist hier sehr ausf\u00fchrlich beschrieben. Ein\u2026","rel":"","context":"In &quot;Arduino&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/01\/IMG_4132-1024x768.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":340,"url":"http:\/\/eiseler.de\/wordpress\/?p=340","url_meta":{"origin":417,"position":4},"title":"Easy Arduino LED Clock","date":"31\/03\/2013","format":false,"excerpt":"How to build an easy arduino clock. Why building a clock, since one can buy all kind of clocks? Two causes, first for the fun of it and second I can build the functions as I like and how they work. I also plan to add more functions from time\u2026","rel":"","context":"In &quot;Arduino&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/eiseler.de\/wordpress\/wp-content\/uploads\/2013\/03\/IMG_4312-Kopie-300x257.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1036,"url":"http:\/\/eiseler.de\/wordpress\/?p=1036","url_meta":{"origin":417,"position":5},"title":"Connect Raspberry Pi & Arduino USB bidirectional","date":"25\/10\/2018","format":false,"excerpt":"How to connect an Arduino to a raspberry pi via USB bidirectional. The raspberry reads all from the serial and prints it. Next it reads a textile from a webpage and sends the text (one word) to serial, next a random car to the Arduino. Arduino got a LCD attached\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=417"}],"version-history":[{"count":10,"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/417\/revisions"}],"predecessor-version":[{"id":425,"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/417\/revisions\/425"}],"wp:attachment":[{"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=417"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/eiseler.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}