{"id":6969,"date":"2022-01-28T17:53:00","date_gmt":"2022-01-28T16:53:00","guid":{"rendered":"https:\/\/www.carrera-fun.com\/?p=6969"},"modified":"2025-01-02T17:53:29","modified_gmt":"2025-01-02T16:53:29","slug":"mobile-speed-radar-v2","status":"publish","type":"post","link":"https:\/\/www.carrera-fun.com\/?p=6969&lang=en","title":{"rendered":"Mobile speed radar V2"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"338\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_01.png\" alt=\"\" class=\"wp-image-4131\" style=\"width:352px;height:197px\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_01.png 600w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_01-300x169.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p>After the realization of the radar that you can find here <a href=\"https:\/\/www.carrera-fun.com\/?p=6961&amp;lang=en\">https:\/\/www.carrera-fun.com\/?p=6961&amp;lang=en<\/a>, I decided to improve it a little. It was missing some features.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"800\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_02.png\" alt=\"\" class=\"wp-image-4132\" style=\"width:258px;height:459px\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_02.png 450w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_02-169x300.png 169w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Functions:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Speed \u200b\u200blimit display<\/li>\n\n\n\n<li>Speed \u200b\u200blimit setting (flash trigger)<\/li>\n\n\n\n<li>Adding a flash<\/li>\n\n\n\n<li>Switch indicating the direction of the car<\/li>\n\n\n\n<li>Parameter reset button<\/li>\n<\/ul>\n\n\n\n<p>To achieve this, I added 2 buttons, a green one to add 5 to the display and a green one to subtract 5. The red display indicates the authorized speed limit in cm\/s.<\/p>\n\n\n\n<p>The main display indicates several information.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The last speed of passage in cm\/s on the first line.<\/li>\n\n\n\n<li>The number of laps completed and how many times you were flashed (exceeding the authorized \/ set speed)<\/li>\n\n\n\n<li>The minimum and maximum speeds achieved<\/li>\n\n\n\n<li>The average of the passage speeds.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"338\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_03.png\" alt=\"\" class=\"wp-image-4133\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_03.png 600w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_03-300x169.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p>The black button on the side of the radar allows you to reset the data.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"338\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_04.png\" alt=\"\" class=\"wp-image-4134\" style=\"width:354px;height:199px\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_04.png 600w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_04-300x169.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Material :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LCM2004 (4-line display) (3.5\u20ac)<\/li>\n\n\n\n<li>TM1637 (Red display) (1\u20ac)<\/li>\n\n\n\n<li>3W high-power LED module with PCB chassis (2\u20ac)<\/li>\n\n\n\n<li>3 push buttons (0.2\u20ac)<\/li>\n\n\n\n<li>2-position lever switch (0.3\u20ac)<\/li>\n\n\n\n<li>1 Arduino Nano (3\u20ac)<\/li>\n\n\n\n<li>1 Arduino nano support (2\u20ac)<\/li>\n<\/ul>\n\n\n\n<p>The Nesquik box has filled up nicely. Buttons and displays connect to the Arduino Nano support.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_05.png\" alt=\"\" class=\"wp-image-4135\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_05.png 800w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_05-300x169.png 300w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_05-768x432.png 768w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_05-600x338.png 600w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>I used spade terminals on the switches. I cut the end of the Dupont wires to insert the spade terminals for easy attachment to the switches.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_06.png\" alt=\"\" class=\"wp-image-4136\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_06.png 800w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_06-300x169.png 300w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_06-768x432.png 768w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_06-600x338.png 600w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_07.png\" alt=\"\" class=\"wp-image-4137\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_07.png 800w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_07-300x169.png 300w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_07-768x432.png 768w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_07-600x338.png 600w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>On the cover side, a high-brightness diode was added to represent the radar flash. (red element in the photo)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"338\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_08.png\" alt=\"\" class=\"wp-image-4138\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_08.png 600w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_08-300x169.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p><strong>Video :<\/strong><\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"853\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/oKjDjYO0R3k?list=PL-Z-OdqEAzKf6E9WYQruGF_pEa0S1GIb1\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<p>Here is the connection diagram of all the components.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"684\" src=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_09-1024x684.png\" alt=\"\" class=\"wp-image-4139\" srcset=\"https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_09-1024x684.png 1024w, https:\/\/www.carrera-fun.com\/wp-content\/uploads\/2022\/01\/rad2_09-300x201.png 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>And now the code to program the Arduino.<br>If you want more information about the implementation to send the program to the Arduino, you can check the following Article :\u00a0<a href=\"https:\/\/www.framboise314.fr\/commencer-avec-larduino\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.framboise314.fr\/commencer-avec-larduino\/<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/Libraries \n#include &lt;Wire.h&gt;  \n#include &lt;LiquidCrystal_I2C.h&gt;\n\nLiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  \/\/ Set the LCD I2C address, if it's not working try 0x27.\n\nint IR1 = 4;\nint IR2 = 5;\n\n      int bouton_1 = 3; \/\/ d\u00e9claration du bouton\n      int bouton_2 = 2; \/\/ d\u00e9claration du bouton\n\nint compteur1 = 1;      \/\/ variable enregistre un passage compteur 1\nint compteur2 = 1;      \/\/ variable enregistre un passage compteur 2\nlong temps1=millis();    \/\/ Variable prise de temps pour IR 1\nlong temps2=millis();    \/\/ Variable prise de temps pour IR 2\nlong temps3 = 0;         \/\/ Variable pour le calcul du temps reel passe\nfloat V = 0.0;            \/\/ Variable Vitesse\nfloat TTS = 0.0;          \/\/ Variable temps passe en secondes\n\nfloat V_min = 99999999;        \/\/ Vitesse min\nfloat V_max = 0.0;        \/\/ Vitesse max\nfloat V_moy = 0.0;        \/\/ Vitesse moy\nfloat V_som = 0.0;        \/\/ Vitesse som\n\nint radar_seuil = 70; \/\/ valeur vitesse demarrage\n\n\n\nint levier_1 = 8; \/\/ d\u00e9claration du bouton\nint levier_2 = 9; \/\/ d\u00e9claration du bouton\nint etatlevier_1 = 0; \/\/ variable lorsque j'appuie sur le bouton\nint etatlevier_2 = 0; \/\/ variable lorsque j'appuie sur le bouton\n\nint boutonappui_1 = 0; \/\/ variable lorsque j'appuie sur le bouton\nint etatbouton_1 = 0; \/\/ etat dans lequel se trouve le bouton\nint bouton_pasappui_1 = 0;\/\/ variable lorsque je n'appuie pas sur le bouton\n\nint boutonappui_2 = 0; \/\/ variable lorsque j'appuie sur le bouton\nint etatbouton_2 = 0; \/\/ etat dans lequel se trouve le bouton\nint bouton_pasappui_2 = 0;\/\/ variable lorsque je n'appuie pas sur le bouton\n\nString texte=\"\";\nString txt_sens=\"===\";\nint tours=0;\nint nb_flash=0;\n\n\/\/ flash\nint pin_led_flash = 13;\n\n\/\/ Inclue la librairie ecran rouge:\n#include &lt;TM1637Display.h&gt;\n\/\/ Define the connections pins:\n#define CLK 6\n#define DIO 7\n\/\/ Create display object of type TM1637Display:\nTM1637Display display = TM1637Display(CLK, DIO);\n\/\/ Create array that turns all segments on:\nconst uint8_t data&#91;] = {0xff, 0xff, 0xff, 0xff};\n\/\/ Create array that turns all segments off:\nconst uint8_t blank&#91;] = {0x00, 0x00, 0x00, 0x00};\n\nconst uint8_t done&#91;] = {\n  SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,           \/\/ d\n  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,   \/\/ O\n  SEG_C | SEG_E | SEG_G,                           \/\/ n\n  SEG_A | SEG_D | SEG_E | SEG_F | SEG_G            \/\/ E\n};\n\nconst uint8_t pts&#91;] = {\n  SEG_B | SEG_C | SEG_F | SEG_G ,           \/\/ d\n  SEG_A | SEG_B | SEG_E | SEG_F | SEG_G ,   \/\/ O\n  SEG_D | SEG_E | SEG_F | SEG_G ,           \/\/ n\n  SEG_A | SEG_F | SEG_D | SEG_C | SEG_G     \/\/ E\n};\n\nvoid setup(){\n  \n  \/\/ Boutons\n  pinMode(bouton_1, INPUT_PULLUP);\/\/ d\u00e9claration du bouton en entr\u00e9e avec la r\u00e9sistance pullup\n  pinMode(bouton_2, INPUT_PULLUP);\/\/ d\u00e9claration du bouton en entr\u00e9e avec la r\u00e9sistance pullup\n  \n  pinMode(levier_1, INPUT_PULLUP);\/\/ d\u00e9claration du bouton en entr\u00e9e avec la r\u00e9sistance pullup\n  pinMode(levier_2, INPUT_PULLUP);\/\/ d\u00e9claration du bouton en entr\u00e9e avec la r\u00e9sistance pullup\n\n    etatlevier_1 = digitalRead(levier_1);\/\/etatbouton est \u00e9gale \u00e0 la lecture du bouton\n    etatlevier_2 = digitalRead(levier_2);\/\/etatbouton est \u00e9gale \u00e0 la lecture du bouton\n    \n    if (etatlevier_1 == 1) {\/\/ si etatbouton est diff\u00e9rent de bouton pas_appui, simplement si j'appuie sur le bouton\n      IR1 = 5;\n      IR2 = 4;\n      txt_sens=\"&lt;&lt;&lt;&lt;&lt;\";\n    }\n    if (etatlevier_2 == 1) {\/\/ si etatbouton est diff\u00e9rent de bouton pas_appui, simplement si j'appuie sur le bouton\n      IR1 = 4;\n      IR2 = 5;\n      txt_sens=\"&gt;&gt;&gt;&gt;&gt;\";\n    }\n\n  \n  lcd.begin(20,4);   \/\/ iInit the LCD for 16 chars 2 lines\n  lcd.backlight();   \/\/ Turn on the backligt (try lcd.noBaklight() to turn it off)\n  lcd.setCursor(0,0); \/\/First line\n  lcd.print(txt_sens+\" attente  \"+txt_sens);\n  lcd.setCursor(0,1); \/\/Second line\n  lcd.print(txt_sens+\" vehicule \"+txt_sens);\n  lcd.setCursor(0,2); \/\/3eme line\n  lcd.print(txt_sens+\"   SLOT   \"+txt_sens);\n  lcd.setCursor(0,3); \/\/4eme line\n  lcd.print(txt_sens+\"  RACING  \"+txt_sens);\n  \/\/ capteurs\n  pinMode(IR1,INPUT);\n  pinMode(IR2,INPUT);\n  \/\/Serial.begin(9600);\n\n  \/\/ Clear the display:\n  display.clear();\n  delay(100);\n  \/\/ Set the brightness:\n  display.setBrightness(7);\n  \/\/ All segments on:\n  display.setSegments(data);\n  display.clear();\n  display.showNumberDec(radar_seuil, false, 4, 0);\n\n\n  \/\/ Flash\n  pinMode(pin_led_flash, OUTPUT);\n    \/\/digitalWrite(pin_led_flash, HIGH);\n    \/\/delay(200);\n    digitalWrite(pin_led_flash, LOW);\n}\n\nvoid loop(){\n  \n  int valIR1 = digitalRead(IR1);  \n  \/\/ Lecture de broche A2 et mise du resultat dans la variable valIR1\n  int valIR2 = digitalRead(IR2);   \n  \/\/ Lecture de broche A3 et mise du resultat dans la variable valIR2\n \n   if(valIR1 == LOW &amp;&amp; compteur1 == 1 &amp;&amp; compteur2 == 1) {  \n   \/\/ Si passage devant IR1 ET compteur1 = 1 alors ....\n   temps1=micros();       \/\/ enregistrement dans temps1 de la valeur millis\n   compteur1 = compteur1 + 1;   \n  \/\/ On rajoute +1 a compteur1 ce qui empeche le remplacement de la valeur de temps1   \n   } \n \n   if(valIR2 == LOW &amp;&amp; compteur2 == 1 &amp;&amp; compteur1 == 2) {   \n   \/\/ Si passage devant IR2 ET compteur2 = 1 alors .... \n   temps2=micros();      \/\/ enregistrement dans temps1 de la valeur millis    \n   compteur2 = compteur2 + 1; \n  \/\/ On rajoute +1 a compteur2 ce qui empeche le remplacement de la valeur de temps2    \n\n   }\n\n   if(compteur1 &gt; 1 &amp;&amp; compteur2 &gt; 1) {   \n       \/\/ Si les valeurs de Compteur1 ET de compteur2 sont differente de 1 alors le calcul peut debuter\n      tours=tours+1;\n       temps3 = (temps2 - temps1);       \n       \/\/ temps en millisecondes passez entre les deux capteurs\n\n       TTS = ((float)temps3 \/ 1000000.0);          \n       \/\/ conversion milisecondes en secondes\n     \n       V = (0.05 \/ (float)TTS)*100;               \n       \/\/ calcul de d\/t, ma distance est ici de 5 cm, soit 0,05 m\n       \/\/ en cm\/s\n      V_som =V_som+V;\n      V_moy=V_som\/tours;\n      if(V &lt; V_min) {\n        V_min=V;\n      }\n      if(V &gt; V_max) {\n        V_max=V;\n      }\n      \/\/texte=String(V)+\"cm\/s -\"+String(tours)+\"    \";\n      \n      if(V &gt; radar_seuil) {\n        nb_flash=nb_flash+1;\n        affichage(String(V),String(tours),String(V_min),String(V_max),String(V_moy));\n        over_speed();\n      } else {\n        affichage(String(V),String(tours),String(V_min),String(V_max),String(V_moy));\n        delay(500);  \/\/ delais avant reprise du programme \n      }\n        \/\/ Pour permettre la liberation de la zone IR\n     \n        compteur1=1;  \/\/ Variable remise a 1\n        compteur2=1;  \/\/ Variable remise a 1\n        temps1 = 0;   \/\/ Variable remise a 0\n        temps2= 0;    \/\/ Variable remise a 0\n   }\n \n  \/\/delay(10);\n\n  \/\/ #### BOUTONS \n    etatbouton_1 = digitalRead(bouton_1);\/\/etatbouton est \u00e9gale \u00e0 la lecture du bouton\n    etatbouton_2 = digitalRead(bouton_2);\/\/etatbouton est \u00e9gale \u00e0 la lecture du bouton\n    \n    if (etatbouton_1 != bouton_pasappui_1) {\/\/ si etatbouton est diff\u00e9rent de bouton pas_appui, simplement si j'appuie sur le bouton\n      push_bt_1();\n    }\n    bouton_pasappui_1 = etatbouton_1;\n    \n    if (etatbouton_2 != bouton_pasappui_2) {\/\/ si etatbouton est diff\u00e9rent de bouton pas_appui, simplement si j'appuie sur le bouton\n      push_bt_2();\n    }\n    bouton_pasappui_2 = etatbouton_2;\n  \n}\n\nvoid  affichage(String vitesse,String tours,String V_min, String V_max ,String V_moy) {\n\n  lcd.backlight(); \n  \/\/lcd.noBacklight();\n  lcd.clear();\n  lcd.setCursor(0,0); \/\/First line\n  lcd.print(vitesse+\"cm\/s\");\n  lcd.setCursor(0,1); \/\/Second line\n  lcd.print(tours+\" tours \"+String(nb_flash)+\" flashs\");\n  lcd.setCursor(0,2); \/\/3eme line\n  lcd.print(V_min+\" a \"+V_max);\n  lcd.setCursor(0,3); \/\/4eme line\n  lcd.print(\"Moy. \"+V_moy);\n}\n\n\n\nvoid push_bt_1(){\n    if (etatbouton_1 == LOW) {\/\/ et que la position du bouton est \u00e0 LOW (invers\u00e9 avec la r\u00e9sistance de PULLUP)\n    \/\/Serial.println(\"+1\");\n    radar_seuil=radar_seuil+5;\n    Serial.println(radar_seuil);\n    display.clear();\n    display.showNumberDec(radar_seuil, false, 4, 0);\n    } \n    delay(50);\n}\n\nvoid push_bt_2(){\n    if (etatbouton_2 == LOW) {\/\/ et que la position du bouton est \u00e0 LOW (invers\u00e9 avec la r\u00e9sistance de PULLUP)\n    \/\/Serial.println(\"-1\");\n    radar_seuil=radar_seuil-5;\n    Serial.println(radar_seuil);\n    display.clear();\n    display.showNumberDec(radar_seuil, false, 4, 0);\n    } \n    delay(50);\n}\n\nvoid over_speed(){\n  \/\/display.setSegments(pts);\n  lcd.noBacklight();\n  display.showNumberDec(int(V), false, 4, 0);\n  digitalWrite(pin_led_flash, HIGH);\n  delay(20);\n  digitalWrite(pin_led_flash, LOW);\n  delay(50);\n  digitalWrite(pin_led_flash, HIGH);\n  delay(50);\n  digitalWrite(pin_led_flash, LOW);\n  lcd.backlight(); \n  delay(800);\n  display.clear();\n  display.showNumberDec(radar_seuil, false, 4, 0);\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>After the realization of the radar that you can find here https:\/\/www.carrera-fun.com\/?p=6961&amp;lang=en, I decided to improve it a little. It was missing some features. Functions: To achieve this, I added&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[194],"tags":[],"class_list":["post-6969","post","type-post","status-publish","format-standard","hentry","category-articles-en"],"_links":{"self":[{"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=\/wp\/v2\/posts\/6969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6969"}],"version-history":[{"count":2,"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=\/wp\/v2\/posts\/6969\/revisions"}],"predecessor-version":[{"id":6972,"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=\/wp\/v2\/posts\/6969\/revisions\/6972"}],"wp:attachment":[{"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.carrera-fun.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}