{"id":2796,"date":"2024-02-02T17:44:32","date_gmt":"2024-02-02T17:44:32","guid":{"rendered":"https:\/\/simulide.com\/p\/?p=2796"},"modified":"2024-02-12T04:02:40","modified_gmt":"2024-02-12T04:02:40","slug":"long-distance-measurement_df353","status":"publish","type":"post","link":"https:\/\/simulide.com\/p\/long-distance-measurement_df353\/","title":{"rendered":"LONG DISTANCE MEASUREMENT_(DF353)"},"content":{"rendered":"<h2><strong>(Simulide R2162 or higher).<br \/><\/strong><\/h2>\n<h3><strong>CONCEPT:<\/strong><\/h3>\n<div class=\"QcsUad BDJ8fb BLojaf sMVRZe wneUed\">\n<div class=\"usGWQd\">\n<div class=\"KkbLmb\">\n<div class=\"lRu31\" dir=\"ltr\">\n<div class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">To <strong>measure<\/strong> distances there are multiple devices such as measuring tapes, lasers, ultrasounds, etc., but when you want to measure <strong>longer distances<\/strong>, measure a terrain with all its potholes and obstacles or measure the <strong>perimeter<\/strong> of an irregular property, the <strong>&#8220;ODOMETER&#8221;<\/strong> is used . This measuring equipment consists of a<em><strong> wheel as a sensing element<\/strong><\/em> that, when manually rolled over the ground, measures the distance traveled in <strong>meters <\/strong><\/span><\/span><\/span><\/span><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">using a counter.<\/span><\/span><\/span><span class=\"HwtZe\" lang=\"en\"><br \/><\/span><\/div>\n<div dir=\"ltr\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"KkbLmb\">\n<div dir=\"ltr\"><a href=\"https:\/\/simulide.com\/p\/storage\/2024\/02\/RUEDA1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-full  aligncenter\" src=\"https:\/\/simulide.com\/p\/storage\/2024\/02\/RUEDA1.jpg\" alt=\"\" width=\"401\" height=\"287\" \/><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The project that we propose here is based on the design of <em><strong>an odometer<\/strong><\/em>, for this we use the <strong>Simulide DC motor encoder<\/strong>.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">In this case, the motor is used passively (for simulation only), so its shaft is attached to the measuring wheel.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">We have included an <strong>OLED<\/strong> screen with a <strong>counter<\/strong> of the meters traveled and the value of the <strong>wheel radius<\/strong>.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">For the measurement to be correct, the circumference in meters must be <em><strong>known<\/strong><\/em>, which is achieved with the <strong>&lt;WHEEL&gt;<\/strong> adjustment potentiometer.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">When starting up the system enters adjustment mode, by moving the potentiometer you can enter the value of the wheel radius up to a maximum of <strong>1 meter<\/strong>.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">From this data, the length of the wheel circumference is displayed on the <strong>OLED<\/strong>.<\/span><\/span><\/span><\/div>\n<div dir=\"ltr\">\u00a0<\/div>\n<div class=\"QcsUad BDJ8fb BLojaf sMVRZe wneUed\">\n<div class=\"usGWQd\">\n<div class=\"KkbLmb\">\n<div dir=\"ltr\">\u00a0<\/div>\n<div dir=\"ltr\"><a href=\"https:\/\/simulide.com\/p\/storage\/2024\/02\/oled-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-full  aligncenter\" src=\"https:\/\/simulide.com\/p\/storage\/2024\/02\/oled-1.png\" alt=\"\" width=\"344\" height=\"240\" \/><\/a><\/div>\n<div dir=\"ltr\">\u00a0<\/div>\n<div class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">Below we detail the <strong>controls and use<\/strong> of our odometer:<\/span><\/span><\/span><\/div>\n<div dir=\"ltr\">\u00a0<\/div>\n<ul>\n<li class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>[START\/STOP]:<\/strong> In<strong> STOP<\/strong> the radio is<strong> adjusted<\/strong> and the odometer data in <em><strong>meters<\/strong><\/em> can also be deleted and the <strong>&lt;STOP&gt;<\/strong> LED flashes continuously.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">In <strong>START<\/strong> the measurement starts.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The wheel will rotate if the &lt;<strong>PAUSE&gt;<\/strong> switch and the power supply have a voltage between 0 and 5 volts to simulate the measurement speed.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">In this position the radio can no longer be adjusted and the <strong>&lt;STOP&gt;<\/strong> LED turns off.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The degree LEDs will begin to move at the rate of rotation of the measuring wheel marking each of the quarters of the wheel where the measurement is taken, these ranges are: <strong>0 to 89<\/strong> degrees, <strong>90 to 179<\/strong>, <strong>180 to 269<\/strong> and <\/span><\/span><strong><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">270 to 359<\/span><\/span><\/strong><\/span><\/li>\n<li class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>[RESET]<\/strong> In<strong> STOP<\/strong> mode the odometer counter can be reset.<\/span><\/span><\/span><\/li>\n<li class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><strong><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">ADJUSTMENT POTENTIOMETER. <\/span><\/span><\/strong><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">In <strong>STOP<\/strong> mode, the wheel radius can be adjusted from <em><strong>0 to 0.99 meters<\/strong><\/em>.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The data is displayed on the OLED.<\/span><\/span><\/span><\/li>\n<li class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>MEASURING WHEEL:<\/strong> It is associated with the motor shaft that moves the potentiometer of the <strong>internal encoder<\/strong> of the DC motor.<\/span><\/span><\/span><\/li>\n<\/ul>\n<p><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">To know more about the odometer:\u00a0 <a href=\"https:\/\/es.wikipedia.org\/wiki\/Od%C3%B3metro\">https:\/\/es.wikipedia.org\/wiki\/Od%C3%B3metro<\/a><br \/><\/span><\/span><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><strong>SCHEME:<\/strong><\/h3>\n<p><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The project is based on<strong> Arduino UNO<\/strong> as a controller.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>The 128&#215;64-bit monochrome OLED display<\/strong> is connected via I<strong>2C.<\/strong><\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The<strong> [RST]<\/strong> and <strong>[START\/STOP]<\/strong> buttons are connected to <strong>D4<\/strong> and<strong> D2<\/strong> respectively with internal PULLUP.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The set of<strong> LEDs<\/strong> used as a <em><strong>monitor<\/strong><\/em> are connected as shown in the diagram and calculated for a current of about 20mA each.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The <strong>&lt;WHELL&gt;<\/strong> potentiometer provides a regulated voltage between 0 and 5V through input <strong>A3<\/strong>.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">Through <strong>A1,<\/strong> the DC-motor encoder voltage from 0 to 5v is entered.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The <strong>ENCODER-MONITOR<\/strong> is a complementary encoder position <em><strong>information<\/strong> <\/em>device.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The power supply and the <strong>&lt;PAUSE&gt;<\/strong> switch make up the rotation simulation stage, introducing a voltage of 0 to 5V to the motor to simulate the rotation speed of the wheel and therefore the measurement.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">This speed does not affect the measurement result, nor even its potential variations.<\/span><\/span><\/span><\/p>\n<h3><strong>PROGRAM:<\/strong><\/h3>\n<div class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">C program for<strong> Arduino<\/strong> with the<em><strong> libraries<\/strong><\/em>: Wire.h, Adafruit_GFX.h and Adafruit_SSD1306.h.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">These are very standard and easy to find and download. <br \/><\/span><\/span><\/span><\/div>\n<div dir=\"ltr\">\u00a0<\/div>\n<div dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The program is <strong>commented<\/strong> on its key points.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">It is worth highlighting the use of the <strong>[START\/STOP] pushbutton by interruption<\/strong>, a necessary operation given that the loop is mainly <strong>occupied<\/strong> with continuous and real-time attention in reading the motor encoder.<\/span><\/span><\/span><\/div>\n<div dir=\"ltr\">\u00a0<\/div>\n<div dir=\"ltr\">\n<div>\n<pre><code class=\"language-arduino\">\/\/ LONG DISTANCE METER BY WHELL ROTATION (Odometer). DEFRAN24\n\/\/ Use Arduino and Simulide R2162.\n\n#include &lt;Wire.h&gt;\n#include &lt;Adafruit_GFX.h&gt;\n#include &lt;Adafruit_SSD1306.h&gt;\n#define SCREEN_WIDTH 128 \n#define SCREEN_HEIGHT 64 \nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire, -1);\nint MON=13;\nint G1=8, G2=9, G3=10, G4=11;\nint MEAS=2;\nint RST=4;\nint senV;\nint dista=A1;            \/\/ ENCODER SENSOR\nint Wheel=A3;            \/\/ RADIUS POTENTIOMETER\nint v1, v2, v3, v4;\nfloat radius=0;\nfloat rota=0;\nfloat ruedaR;\nfloat circun;\nfloat rueda4;\nint state=HIGH;\nint MEASv;\n\nvoid setup() \n{\n  pinMode(MEAS, INPUT_PULLUP);\n  pinMode(RST, INPUT_PULLUP);\n  pinMode(MON, OUTPUT);\n  pinMode(G1, OUTPUT); pinMode(G2, OUTPUT); pinMode(G3, OUTPUT); pinMode(G4, OUTPUT);\n  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {for(;;);}   \/\/ Address 0x3C\n  display.cp437(true);\n  display.clearDisplay();\n  attachInterrupt(digitalPinToInterrupt(MEAS), RUPTO, RISING); \/\/ Interruption\n  MEASv=LOW;\n}\n\nvoid loop() \n{\n  FLA:\n  if (MEASv==LOW)                          \/\/ ADJUSTMENT CALCULATION\n  {\n    senV=0; \n    ruedaR=analogRead(Wheel);              \/\/ V. analog from encoder\n    ruedaR=map(ruedaR, 0, 1023, 0, 100);   \/\/ Scale (0 to 100) \n    radius=ruedaR\/100;                     \/\/ Radius\n    circun=radius*2*3.14;                  \/\/ Circumference\n    rueda4=circun\/4;                       \/\/ Circumference \/4\n    OLED(); \n    digitalWrite(MON,HIGH); delay(200); digitalWrite(MON,LOW); delay(50);\n    if(digitalRead(RST)==HIGH) {senV=0; rota=0; OLED();}       \/\/ RESET\n    goto FLA;\n  }\n  do {senV=analogRead(dista); digitalWrite(G1,HIGH); v1=senV;}  \/\/ UP\n  while (senV&gt;0 &amp;&amp; senV&lt;224);     \/\/ RANGE\n  digitalWrite(G1,LOW);           \/\/ LED\n  if (v1&gt;v4) rota=rota+rueda4;    \/\/ DIRECTION\n  OLED();\n  do {senV=analogRead(dista); digitalWrite(G2,HIGH); v2=senV;}  \/\/ LEFT\n  while (senV&gt;225 &amp;&amp; senV&lt;511);\n  digitalWrite(G2,LOW);\n  if (v2&gt;v1) rota=rota+rueda4;\n  OLED();\n  do {senV=analogRead(dista); digitalWrite(G3,HIGH); v3=senV;}  \/\/ RIGHT\n  while (senV&gt;512 &amp;&amp; senV&lt;767);\n  digitalWrite(G3,LOW);\n  if (v3&gt;v2) rota=rota+rueda4;\n  OLED();\n  do {senV=analogRead(dista); digitalWrite(G4,HIGH); v4=senV;}  \/\/ DOWN\n  while (senV&gt;768 &amp;&amp; senV&lt;1023);\n  digitalWrite(G4,LOW);\n  if (v3&gt;v4) rota=rota+rueda4;\n  OLED();\n}\n\nvoid OLED()\n{\n  display.clearDisplay(); \n  display.setTextSize(1);                 \/\/ Size 1\n  display.setTextColor(BLACK, WHITE);     \/\/ White background\n  display.setCursor(0, 6);\n  display.print(\" LONG DISTANCE MEAS. \");\n  display.setTextColor(WHITE);\n  display.drawLine(0,16,126,16,WHITE);    \/\/ LINE X,Y,WIDTH, Y FIN\n  display.setCursor(2, 20);\n  display.print(\"WHEEL RADIUS: \");\n  display.print(radius);                  \/\/ Radius\n  display.print(\" m\");\n  display.setCursor(2, 32);\n  display.print(\"CIRCUMFEREN.: \");\n  display.print(circun);                 \/\/ Circumference\n  display.print(\" m\");\n  display.setTextSize(2);                \/\/ Size 2\n  display.setCursor(6, 46);\n  display.print(rota,1);                 \/\/ Distance\n  display.print(\" m\");\n  display.display();\n}\n\nvoid RUPTO() \n{\n state=!state; if (state==LOW) MEASv=LOW; else MEASv=HIGH; \/\/ Interruption\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<h3><span class=\"HwtZe\" lang=\"en\"><strong><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">MISCELLANY.<\/span><\/span> <\/strong><\/span><\/h3>\n<p><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The attached zip file typically includes:<\/span><\/span> <\/span><\/p>\n<ol>\n<li><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">\u00a0<strong>Electrical diagram<\/strong>.<\/span><\/span> <\/span><\/li>\n<li><strong>Program<\/strong>.<\/li>\n<li><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>\u201cdata\u201d<\/strong> subcircuits folder<\/span><\/span>. <\/span><\/li>\n<\/ol>\n<p><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">This data folder contains the subcircuits (custom) created by the author.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>The presence of this folder<\/strong> is necessary for the execution of the project.<\/span><\/span>\u00a0<\/span><\/p>\n<h3><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>SUBCIRCUIT:<\/strong> <\/span><\/span><\/span><\/h3>\n<h6><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">A subcircuit It is a <strong>&#8220;custom&#8221;<\/strong> circuit that accumulates a set of Simulide base components to obtain a <strong>new <\/strong>or an<strong> adapted function<\/strong>. These subcircuits are treated by Simulide as another component of its own structure.<\/span><\/span><br \/><\/span><\/h6>\n<h6><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>Subcircuits<\/strong> are very useful to <strong>create a component<\/strong> that does not exist in the simulide set, to <strong>compress a complete schematic<\/strong> in a single block and thus improve the complexity and compression of the final circuit where it is integrated or for <strong>any other function<\/strong> that you want to have available when making a schematic.<br \/><\/span><\/span><\/span><\/h6>\n<p style=\"text-align: center;\"><a href=\"https:\/\/simulide.com\/p\/storage\/2024\/02\/encoder.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-full  aligncenter\" src=\"https:\/\/simulide.com\/p\/storage\/2024\/02\/encoder.png\" alt=\"\" width=\"189\" height=\"207\" \/>\u00a0 DC-MOTOR and linear encoder.<\/a><\/p>\n<h6><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">The subcircuits must be properly incorporated in the <strong>&#8220;data&#8221; folder of simulide<\/strong>, in the <strong>&#8220;User Data&#8221; folder<\/strong> or in the <strong>&#8220;data&#8221; scheme folder<\/strong> that must be attached together with the schematic of the project itself.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">Attaching the subcircuits to the Simulide &#8220;data&#8221; folder is not advisable because they can be lost with updates to it.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">Attaching them in &#8220;User Data&#8221; is the correct thing to do.<\/span><\/span> <span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">Attaching it to the &#8220;data&#8221; folder of the diagram is necessary when it is shared.<\/span><\/span><\/span><\/h6>\n<h6><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\"><strong>Creating and locating a subcircuit<\/strong> is simple once you know the procedure that is explained in detail in the simulide tutorials<\/span><\/span><\/span><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">: <strong><a href=\"https:\/\/simulide.com\/p\/subcircuits\/\">https:\/\/simulide.com\/p\/subcircuits\/<\/a><\/strong><\/span><\/span><\/span><\/h6>\n<div dir=\"ltr\">\u00a0<\/div>\n<div class=\"lRu31\" dir=\"ltr\"><span class=\"HwtZe\" lang=\"en\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">* <strong>Communication with the author<\/strong>: Simulide\/User\/Messages\/Defran<\/span><\/span><\/span><\/div>\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-2796_14b938-03 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-2796_14b938-03 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-2796_14b938-03\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Downloads:<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-e0f4be61-47d6-4942-b1df-feeffaf72b3d\" href=\"https:\/\/simulide.com\/p\/wp-content\/uploads\/2024\/02\/353_LONG_DISTANCE_MEASUREMENT.zip\">353_LONG_DISTANCE_MEASUREMENT<\/a><a href=\"https:\/\/simulide.com\/p\/wp-content\/uploads\/2024\/02\/353_LONG_DISTANCE_MEASUREMENT.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-e0f4be61-47d6-4942-b1df-feeffaf72b3d\">Download<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Measure long distances or perimeters of irregular plots with a wheel sensor and a linear encoder. The Odometer.<\/p>\n","protected":false},"author":3,"featured_media":2849,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[11],"tags":[],"class_list":["post-2796","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino"],"_links":{"self":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/posts\/2796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/comments?post=2796"}],"version-history":[{"count":41,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/posts\/2796\/revisions"}],"predecessor-version":[{"id":2907,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/posts\/2796\/revisions\/2907"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/media\/2849"}],"wp:attachment":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/media?parent=2796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/categories?post=2796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/tags?post=2796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}