{"id":1427,"date":"2024-09-10T06:08:12","date_gmt":"2024-09-10T04:08:12","guid":{"rendered":"https:\/\/labopothier.com\/?p=1427"},"modified":"2025-01-09T12:16:47","modified_gmt":"2025-01-09T11:16:47","slug":"activite-arduino-python-mesures-de-pression-et-de-temperature-avec-trace-en-temps-reel","status":"publish","type":"post","link":"https:\/\/labopothier.com\/index.php\/2024\/09\/10\/activite-arduino-python-mesures-de-pression-et-de-temperature-avec-trace-en-temps-reel\/","title":{"rendered":"ACTIVITE ARDUINO\/PYTHON : Mesures de pression et de temp\u00e9rature avec trac\u00e9 en temps r\u00e9el"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p><strong>Objectif<\/strong> : R\u00e9aliser des mesures de pression et de temp\u00e9rature \u00e0 l&rsquo;aide d&rsquo;un microcontr\u00f4leur, avec acquisition en temps r\u00e9el sur Python. Cela pourrait \u00eatre utile dans le cadre d&rsquo;une s\u00e9ance de travaux pratiques sur l&rsquo;\u00e9tude de l&rsquo;\u00e9volution de la pression de vapeur saturante de l&rsquo;eau en fonction de la temp\u00e9rature (loi de Rankine <strong>ln(Psat) = A-B\/T<\/strong>)<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\" style=\"grid-template-columns:auto 22%\"><div class=\"wp-block-media-text__content\">\n<ul class=\"wp-block-list\">\n<li>Le capteur de temp\u00e9rature est une CTN qu&rsquo;on peut trouver facilement dans le commerce : <a href=\"https:\/\/www.amazon.fr\/Aussel-pi%C3%A8ces-num%C3%A9rique-thermique-temp%C3%A9rature\/dp\/B01LL9JFIG\/\">https:\/\/www.amazon.fr\/Aussel-pi%C3%A8ces-num%C3%A9rique-thermique-temp%C3%A9rature\/dp\/B01LL9JFIG\/<\/a><\/li>\n<\/ul>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/41b9V2lTctL.jpg\" alt=\"\" class=\"wp-image-1186 size-full\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/41b9V2lTctL.jpg 500w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/41b9V2lTctL-300x300.jpg 300w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/41b9V2lTctL-150x150.jpg 150w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\" style=\"grid-template-columns:auto 24%\"><div class=\"wp-block-media-text__content\">\n<ul class=\"wp-block-list\">\n<li>Le capteur de pression est le MPX5700AP, ce mod\u00e8le est un peu co\u00fbteux (il y a peut-\u00eatre d&rsquo;autres alternatives&#8230;) : <a href=\"https:\/\/www.gotronic.fr\/art-capteur-de-pression-mpx5700ap-30162.htm\">https:\/\/www.labomalin.fr\/produit\/capteur-de-pression-mpx5700ap-composant-electronique\/<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"369\" height=\"300\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/ar-capteur-de-pression-mpx5700ap-30162.jpg\" alt=\"\" class=\"wp-image-1187 size-full\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/ar-capteur-de-pression-mpx5700ap-30162.jpg 369w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/ar-capteur-de-pression-mpx5700ap-30162-300x244.jpg 300w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><\/figure><\/div>\n\n\n\n<p>Voici le montage \u00e0 r\u00e9aliser :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"1024\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/12\/Pvapsat_bb-1-758x1024-2-1.png\" alt=\"\" class=\"wp-image-1219\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/12\/Pvapsat_bb-1-758x1024-2-1.png 758w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/12\/Pvapsat_bb-1-758x1024-2-1-222x300.png 222w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Il est aussi possible d&rsquo;utiliser la mallette Educaduino d&rsquo;Eurosmart, elle permet d&rsquo;utiliser des capteurs \u00ab\u00a0cl\u00e9 en main\u00a0\u00bb sans c\u00e2blage. Voir d\u00e9tails en fin d&rsquo;article<\/p>\n<\/blockquote>\n\n\n\n<p><\/p>\n\n\n\n<p>Voici le code Arduino :<\/p>\n\n\n\n<pre title=\"Code Arduino pour capteur de temp\u00e9rature et de pression\" class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp\">\/\/ Programme d'utilisation du capteur de temp\u00e9rature et de pression avec Arduino.\n \/\/D\u00e9finition des broches analogiques utilis\u00e9es par le capteur.\n #define _NUMER0_BROCHE_ANALOGIQUE_TENSION A1  \/\/Broche analogique utilis\u00e9e par le capteur pour la mesure de la tension aux bornes de la CTN\n #define _NUMER0_BROCHE_ANALOGIQUE A0          \/\/Broche analogique utilis\u00e9e par le capteur pression.\n long temps;\n float R= 10000.0;\n \/\/==================================================================================================\n \/\/ Convertit la valeur num\u00e9rique en une valeur de tension.\n \/\/ Le Convertisseur Analogique Num\u00e9rique converti la tension sur 10bits.  \n \/\/ Pour une tension de 0V la valeur num\u00e9rique est 0.\n \/\/ Pour une tension de 5V la valeur num\u00e9rique est 1023.  \n \/\/==================================================================================================\n float ConvertiValeurMesureAnalogiqueEnTension(int _valeurNumerique)\n {\n \/\/ La fonction de conversion valeur num\u00e9rique\/tension est de la forme tension = a * valeurNumerique. \n const int   _VALEUR_NUMERIQUE_MIN= 0;\n const float _VALEUR_TENSION_MIN  = 0.0;\n const int   _VALEUR_NUMERIQUE_MAX= 1023;   \/\/ convertisseur 10bits \n const float _VALEUR_TENSION_MAX  = 5.0;\n   \/\/calcul du coefficient directeur\n   float a = (_VALEUR_TENSION_MAX-_VALEUR_TENSION_MIN)\/(_VALEUR_NUMERIQUE_MAX-_VALEUR_NUMERIQUE_MIN);\n   \/\/calcul de la tension\n   float tension_V= a * _valeurNumerique; \n   return(tension_V);\n }\n \/\/==================================================================================================\n \/\/ Convertit la valeur de la r\u00e9sistance de la CTN en une valeur de temperature.\n \/\/ S'inspire de la m\u00e9thode de Steinhart.\n \/\/==================================================================================================\n float ConvertiResistanceEnTemperature(float resistance)\n {\n \/\/ Caracteristiques de la CTN  \n const float _TEMPERATURE_NOMINALE = 25;\n const float _THERMISTANCE_NOMINALE = 10000;\n const float _COEFFICIENT_B = 3950; \n float temperature = resistance\/ _THERMISTANCE_NOMINALE;\n   temperature = log(temperature);\n   temperature \/= _COEFFICIENT_B;\n   temperature += 1.0 \/(_TEMPERATURE_NOMINALE + 273.15);\n   temperature = 1.0 \/temperature;\n   temperature -= 273.15;\n   return(temperature);\n }\n \/\/==================================================================================================\n \/\/ Proc\u00e9dure d'initialisation des p\u00e9riph\u00e9riques\n \/\/==================================================================================================\n void setup() {\n \/\/ Initialisation de la communication s\u00e9rie avec le terminal \u00e0 9600 baud.\n   Serial.begin(9600);\n   temps = millis();\n }\n \/\/==================================================================================================\n \/\/ Convertit la valeur de tension en une valeur de pression.\n \/\/ On mesure une tension de 0,2V pour une pression de  150hPa (un \u00e9talonnage du capteur montre que la tension de 0,2 V donn\u00e9e par le constructeur pour 15 kPa peut varier l\u00e9g\u00e8rement ! On a choisi ici 0,27 )\n \/\/ On mesure une tension de 4,7V pour une pression de 7000hPa.  \n \/\/==================================================================================================\n float ConvertiTensionEnPression(float _tension)\n {\n \/\/ La fonction de conversion tension vers pression est de la forme pression = a * tension +b.  \n const float _VALEUR_PRESSION_MIN= 150.0;\n const float _VALEUR_TENSION_MIN = 0.27;\n const float _VALEUR_PRESSION_MAX= 7000.0; \/\/  \n const float _VALEUR_TENSION_MAX = 4.7;\n   \/\/ calcul du coefficient directeur\n   float a = (_VALEUR_PRESSION_MAX-_VALEUR_PRESSION_MIN)\/(_VALEUR_TENSION_MAX-_VALEUR_TENSION_MIN);\n   \/\/ calcul du coefficient d\u00e9calage \u00e0 l'origine.\n   float b = _VALEUR_PRESSION_MAX - a * _VALEUR_TENSION_MAX;\n   \/\/calcul de la pression\n   float pression_Pa= (a * _tension) + b; \/\/ Pression en hecto Pascal.\n   pression_Pa = pression_Pa * 100;       \/\/ Pression en Pascal\n   return(pression_Pa);\n }\n \/\/==================================================================================================\n \/\/ Boucle principale Arduino.\n \/\/==================================================================================================\n void loop() {\n   temps= millis();\n   \/\/ Lecture de la valeur tension du capteur sur l'entr\u00e9e analogique _NUMER0_BROCHE_ANALOGIQUE_TENSION. \n   \/\/ La valeur mesur\u00e9e par le Convertisseur Analogique Num\u00e9rique prend pour valeur 0 pour une tension de 0V et 1023 pour une tension de 5V.\n   int valeurNumeriqueTension = analogRead(_NUMER0_BROCHE_ANALOGIQUE_TENSION);\n   \/\/ Conversion de la valeur numerique en tension.\n   float tension_T_V   = ConvertiValeurMesureAnalogiqueEnTension(valeurNumeriqueTension);\n \/\/ Calcul du courant , \u00e0 partir de la tension aux bornes de la r\u00e9sistance de 10 kohms = Tension alimentation - tension CTN\n   float courant_A   = (5.0 - tension_T_V)\/R; \/\/Calcul de l'intensit\u00e9 du courant en A\n   \/\/Calcul de la r\u00e9sistance de la CTN\n   float resistance_ohm = tension_T_V \/ courant_A;\n \/\/Appel de la m\u00e9thode de la libraire pour la conversion de la r\u00e9sistance en temp\u00e9rature.\n   float temperature_degreC= ConvertiResistanceEnTemperature(resistance_ohm);\n \/\/Affichage des r\u00e9sultats\n   Serial.print(\"t : \");\n   Serial.print(\"\\t\");\n   Serial.print(temps); \n Serial.print(\" Temp : \");    \/\/ Transmission de la chaine \" Temp\u00e9rature:\"\n   Serial.print(temperature_degreC); \/\/ Transmission de la temperature en \u00b0C\n   Serial.print(\" degresC \");              \/\/ Transmission de l'unit\u00e9.\n \/\/ Lecture de la valeur du capteur sur l'entree analogique. \n   \/\/ La valeur mesur\u00e9e par le Convertisseur Analogique Num\u00e9rique prend pour valeur 0 pour une tension de 0V et 1023 pour une tension de 5V.\n   int valeurNumerique = analogRead(_NUMER0_BROCHE_ANALOGIQUE);\n float tension_P_V   = ConvertiValeurMesureAnalogiqueEnTension(valeurNumerique);\n float pression_Pa = ConvertiTensionEnPression(tension_P_V);\n \/\/Affichage des r\u00e9sultats\n Serial.print(\" Pression : \");         \/\/ Transmission de la chaine \" Pression:\"\n   Serial.print(pression_Pa);          \/\/ Transmission de la pression absolue calcul\u00e9e.\n   Serial.println(\" Pa\");  \n\n delay(5000);                      \/\/ D\u00e9lai en ms d'1s pour faciliter la visualisation.\n }<\/code><\/pre>\n\n\n\n<p>Lien Github pour ce code :<a href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/tree\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN\" target=\"_blank\" rel=\"noreferrer noopener\"> <\/a><a href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/blob\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN\/Pvap_CTN.ino\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/jonasforlot\/python-arduino\/tree\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN<\/a><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Remarque<\/strong><\/p>\n\n\n\n<p>Un \u00e9talonnage du capteur montre que la tension de 0,2 V donn\u00e9e par le constructeur pour 15 kPa peut varier l\u00e9g\u00e8rement ! On a choisi ici 0,27 V)<\/p>\n<\/blockquote>\n\n\n\n<p>Un script Python est aussi propos\u00e9 ici pour r\u00e9cup\u00e9rer les donn\u00e9es et tracer une courbe.<\/p>\n\n\n\n<p>Dans cet article , je ne rentrerai pas dans les d\u00e9tails pour les \u00e9tapes de r\u00e9cup\u00e9ration de donn\u00e9es. Pour cela, je vous invite \u00e0 consulter l\u2019article qui explique ces diff\u00e9rentes \u00e9tapes sur ce lien :<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/labopothier.com\/index.php\/2024\/09\/10\/activite-arduino-python-recuperer-avec-python-les-donnees-dune-carte-arduino-avec-trace-de-graphes-exemple-avec-une-mesure-de-distance-par-ultrason\/\" target=\"_blank\" rel=\"noreferrer noopener\">R\u00e9cup\u00e9ration des donn\u00e9es d\u2019une carte Arduino avec Python<\/a><\/strong><\/p>\n\n\n\n<p>Voici le code Python pour r\u00e9cup\u00e9rer les donn\u00e9es et tracer le graphe en temps r\u00e9el<\/p>\n\n\n\n<pre title=\"Script Python pour r\u00e9cup\u00e9ration des donn\u00e9es et trac\u00e9 de graphe\" class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">\n #importation des modules\n import serial\n import serial.tools.list_ports # pour la communication avec le port s\u00e9rie\n import matplotlib.pyplot as plt  # pour le trac\u00e9 de graphe\n from matplotlib import animation # pour la figure anim\u00e9e\n import time # gestion du temps\n \n\n #initialisation des listes\n \n\n liste_temps=[] # liste pour stocker les valeurs de temps en partant de t=0\n liste_T = [] # liste pour stocker les valeurs de temp\u00e9rature\n liste_P = [] # liste pour stocker les valeurs de pression\n \n\n t_acquisition = 1000.0\n Tmax= 110.0 # en \u00b0C\n Pmax =140000.0 # en Pa\n \n\n #Ecriture dans un fichier txt\n lines=['t\\tT\\tP\\n'] #premi\u00e8re ligne du fichier txt\n #pour le graphe en temps r\u00e9el\n def animate(i):\n     global sys,line0,line1,t0,t1,u0,u1\n     line_data = Data.readline()\n     print (line_data)\n     # on retire les caract\u00e8res d'espacement en d\u00e9but et fin de cha\u00eene\n     listeDonnees = line_data.strip()\n     # on s\u00e9pare les informations re\u00e7ues s\u00e9par\u00e9es par les espaces et on stocke ces informations dans une liste pour chacune de lignes\n     listeDonnees = line_data.split()\n     print (listeDonnees)\n \n\n \n\n     if len(listeDonnees)== 11 : # parfois des lignes de donn\u00e9es vides peuvent \u00eatre envoy\u00e9es, il faut les \"\u00e9carter\"\n         temps = (float(listeDonnees[2].decode()))\/1000.0 # apr\u00e8s consulation des donn\u00e9es, nous choisissons le 3\u00e8me \u00e9l\u00e9ment de listeDonnees\n         temp = float(listeDonnees[5].decode()) # apr\u00e8s consulation des donn\u00e9es, nous choisissons le 4\u00e8me \u00e9l\u00e9ment de listeDonnees\n         pression = float(listeDonnees[9].decode()) # apr\u00e8s consulation des donn\u00e9es, nous choisissons le 10\u00e8me \u00e9l\u00e9ment de listeDonnees\n \n\n         while temps &lt;= t_acquisition:\n             liste_T.append(temp)\n             print(\"Temp\u00e9rature = %f\"%(temp)) # affichage de la valeur de la temp\u00e9rature\n             liste_temps.append(temps)\n             print(\"temps mesur\u00e9 = %f\"%(temps), \" s\") # affichage de la valeur du temps absolu\n             liste_P.append(pression)\n             print(\"Pression = %f\"%(pression)) # affichage de la valeur de la pression\n             line0.set_data(liste_temps,liste_T)\n             line1.set_data(liste_temps,liste_P)\n \n\n             line = str(liste_temps[-1]) +'\\t'+ str(liste_T[-1])+'\\t'+ str(liste_P[-1])+'\\n'\n             lines.append(line)\n             fichier = open('U:\\Documents\\data_arduino.txt', 'w').writelines(lines) #cr\u00e9ation d'un nouveau fichier texte,indiquer le bon chemin\n             return line0,line1,\n \n\n # Fonction pour la r\u00e9cup\u00e9ration des donn\u00e9es s\u00e9rie venant de la carte Arduino\n def recup_port_Arduino() :\n     ports = list(serial.tools.list_ports.comports())\n     for p in ports:\n         if 'Arduino' in p.description :\n             mData = serial.Serial(p.device,9600)\n     print(mData.is_open) # Affiche et v\u00e9rifie que le port est ouvert\n     print(mData.name) # Affiche le nom du port\n     return mData\n \n\n \n\n \n\n \n\n \n\n \n\n Data =recup_port_Arduino() #r\u00e9cup\u00e9ration des donn\u00e9es\n \n\n # Cr\u00e9ation figure\n fig,(ax1,ax2) = plt.subplots(2,figsize=(10,10))\n line0, = ax1.plot([],[])\n line1, = ax2.plot([],[])\n ax1.set_xlabel('temps en s')\n ax1.set_ylabel('temp\u00e9rature en \u00b0C')\n ax1.axis([0,t_acquisition,0,Tmax])\n ax2.set_xlabel('temps en s')\n ax2.set_ylabel('Pression en Pa')\n ax2.axis([0,t_acquisition,0.0,Pmax])\n \n\n \n\n #Animation\n ani = animation.FuncAnimation(fig, animate, frames=2000,  interval=20,repeat=False)\n \n\n plt.show()\n \n\n # plt.close(fig)\n Data.close() # pour arr\u00eater la lecture des donn\u00e9es s\u00e9rie\n \n\n \n\n fig,(ax1,ax2) = plt.subplots(2,figsize=(10,10))\n ax1.set_title('temp\u00e9rature=f(t)') # titre du graphique\n ax1.scatter(liste_temps,liste_T, color ='r', marker = 'o') # On affiche les points de coordonn\u00e9es (t,T) avec des points rouges\n ax1.set_xlabel('temps en s')\n ax1.set_ylabel('temp\u00e9rature en \u00b0C')\n ax1.axis([min(liste_temps),max(liste_temps),min(liste_T),max(liste_T)])  #limites pour les axes avec les valeurs extr\u00eames de temps et de temp\u00e9rature\n \n\n ax2.set_title('pression=f(t)') # titre du graphique\n ax2.scatter(liste_temps,liste_P, color ='b', marker = 'o') # On affiche les points de coordonn\u00e9es (t,P) avec des points bleus\n ax2.set_xlabel('temps en s')\n ax2.set_ylabel('Pression en Pa')\n ax2.axis([min(liste_temps),max(liste_temps),min(liste_P),max(liste_P)])  #limites pour les axes avec les valeurs extr\u00eames de temps et de pression\n plt.show()  #afficher le graphique (ne rien mettre dans la parenth\u00e8se)\n \n\n \n\n \n\n \n\n \n\n \n\n \n<\/code><\/pre>\n\n\n\n<p>Lien Github pour ce script :<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/tree\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN\" target=\"_blank\"> <\/a><a href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/blob\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/P_Vap_Arduino_CTN.py\">https:\/\/github.com\/jonasforlot\/python-arduino\/blob\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/P_Vap_Arduino_CTN.py<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Application<\/strong><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><u>Etude de l&rsquo;\u00e9volution de la pression de vapeur saturante de l&rsquo;eau<\/u><\/strong><\/h2>\n\n\n\n<p><strong><u>Mat\u00e9riel<\/u><\/strong><strong>&nbsp;:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 potence + 1 noix<\/li>\n\n\n\n<li>Chauffe-ballon et support boy<\/li>\n\n\n\n<li>Ballon 500 mL Pyrex rempli \u00e0 moiti\u00e9 d\u2019eau distill\u00e9e avec quelques grains de carborundum<\/li>\n\n\n\n<li>Bouchon 3 trous avec robinet + tuyau pour capteur pression + sonde CTN<\/li>\n\n\n\n<li>Le dispositif avec Arduino d\u00e9crit dans cet article<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong><u>Protocole<\/u><\/strong><\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\" style=\"grid-template-columns:auto 54%\"><div class=\"wp-block-media-text__content\">\n<ul class=\"wp-block-list\">\n<li>Chauffer le ballon jusqu\u2019\u00e0 \u00e9bullition <strong><u>le robinet ouvert.<\/u><\/strong><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une fois l\u2019\u00e9bullition atteinte, fermer le robinet et laisser le ballon refroidir (\u00e0 l\u2019air ambiant ou dans un cristallisoir rempli d\u2019eau). On consid\u00e8re que tout l\u2019air est purg\u00e9 et qu\u2019il ne reste que la vapeur d\u2019eau dans le ballon.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lancer l\u2019acquisition avec Python pour mesurer les valeurs de pression de la vapeur d\u2019eau (qui est la pression de vapeur saturante) et de temp\u00e9rature (pendant environ 20\u2019).<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le graphe s\u2019affiche en temps r\u00e9el pendant l\u2019acquisition et les valeurs sont stock\u00e9es dans un fichier texte <strong><em>data_arduino.txt<\/em><\/strong> (indiquer le chemin du fichier dans le script)<\/li>\n<\/ul>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"554\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-1024x554.png\" alt=\"\" class=\"wp-image-1192 size-full\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-1024x554.png 1024w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-300x162.png 300w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-768x415.png 768w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre.png 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p><strong><u>Courbe<\/u><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"935\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-2.png\" alt=\"\" class=\"wp-image-1208\" style=\"width:721px;height:703px\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-2.png 957w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-2-300x293.png 300w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-2-768x750.png 768w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Compl\u00e9ment<\/strong><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><u>Utilisation de la carte Educaduino d&rsquo;Eurosmart<\/u><\/strong><\/h2>\n\n\n\n<div class=\"wp-block-media-text alignfull has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center\" style=\"grid-template-columns:auto 24%\"><div class=\"wp-block-media-text__content\">\n<p class=\"has-normal-font-size\">Il est possible aussi d&rsquo;utiliser la carte <strong>Educaduino <\/strong>du fournisseur Eurosmart pour utiliser des capteurs de pression et de temp\u00e9rature qui se branchent sur la carte avec des connexions USB, nous pouvons aussi y int\u00e9grer un shield avec \u00e9cran LCD pour affichage des valeurs.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.educaduino.fr\/\">https:\/\/www.educaduino.fr\/<\/a><\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"2011\" height=\"2560\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/IMG_20190829_154759-Copie-1-scaled.jpg\" alt=\"\" class=\"wp-image-1203 size-full\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/IMG_20190829_154759-Copie-1-scaled.jpg 2011w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/IMG_20190829_154759-Copie-1-236x300.jpg 236w\" sizes=\"auto, (max-width: 2011px) 100vw, 2011px\" \/><\/figure><\/div>\n\n\n\n<p><strong><u>Mat\u00e9riel<\/u><\/strong><strong>&nbsp;:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 potence + 1 noix<\/li>\n\n\n\n<li>Chauffe-ballon et support boy<\/li>\n\n\n\n<li>Ballon 500 mL Pyrex rempli \u00e0 moiti\u00e9 d\u2019eau distill\u00e9e avec quelques grains de carborundum<\/li>\n\n\n\n<li>Bouchon 3 trous avec robinet + tuyau pour capteur pression + sonde CTN<\/li>\n\n\n\n<li>1 carte Educaduino avec \u00e9cran LCD + capteurs pression absolue et temp\u00e9rature + c\u00e2ble<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong><u>Protocole<\/u><\/strong><\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\" style=\"grid-template-columns:auto 54%\"><div class=\"wp-block-media-text__content\">\n<ul class=\"wp-block-list\">\n<li>Chauffer le ballon jusqu\u2019\u00e0 \u00e9bullition <strong><u>le robinet ouvert.<\/u><\/strong><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une fois l\u2019\u00e9bullition atteinte, fermer le robinet et laisser le ballon refroidir (\u00e0 l\u2019air ambiant ou dans un cristallisoir rempli d\u2019eau). On consid\u00e8re que tout l\u2019air est purg\u00e9 et qu\u2019il ne reste que la vapeur d\u2019eau dans le ballon.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lancer l\u2019acquisition avec Python pour mesurer les valeurs de pression de la vapeur d\u2019eau (qui est la pression de vapeur saturante) et de temp\u00e9rature (pendant environ 20\u2019).<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le graphe s\u2019affiche en temps r\u00e9el pendant l\u2019acquisition et les valeurs sont stock\u00e9es dans un fichier texte <strong><em>data_arduino.txt<\/em><\/strong> (indiquer le chemin du fichier dans le script)<\/li>\n<\/ul>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"594\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-1-1024x594.png\" alt=\"\" class=\"wp-image-1204 size-full\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-1-1024x594.png 1024w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-1-300x174.png 300w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-1-768x445.png 768w, https:\/\/labopothier.com\/wp-content\/uploads\/2022\/11\/Sans-titre-1.png 1199w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>Voici le code Arduino :<\/p>\n\n\n\n<pre title=\"Code Arduino pour la carte Educaduino (mesure de temp\u00e9rature et de pression) avec affichage sur \u00e9cran LCD\" class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp\">\n#include &lt;LiquidCrystal.h&gt;                  \/\/Librairie d'utilisation de l'\u00e9cran LCD 2*16.\n\nLiquidCrystal ecranLCD(12, 11, 5, 4, 3, 2); \/\/Cr\u00e9ation de l'objet d'exploitation de l'afficheur LCD.\n\n\/\/D\u00e9finition des broches analogiques utilis\u00e9es par le capteur.\n#define _NUMER0_BROCHE_ANALOGIQUE_TENSION A12  \/\/Broche analogique utilis\u00e9e par le capteur pour la mesure de la tension. (D\u00e9pend de la localisation du capteur sur la carte EDUCA DUINO Lab).\n#define _NUMER0_BROCHE_ANALOGIQUE_COURANT A13 \/\/Broche analogique utilis\u00e9e par le capteur pour la mesure du courant. (D\u00e9pend de la localisation du capteur sur la carte EDUCA DUINO Lab).\n#define _NUMER0_BROCHE_ANALOGIQUE A8          \/\/Broche analogique utilis\u00e9e par le capteur pression. (D\u00e9pend de la localisation du capteur sur la carte EDUCA DUINO Lab).\n\nlong temps;\n\n\/\/==================================================================================================\n\/\/ Converti la valeur num\u00e9rique en une valeur de tension.\n\/\/ Le Convertisseur Analogique Num\u00e9rique converti la tension sur 10bits.  \n\/\/ Pour une tension de 0V la valeur num\u00e9rique est 0.\n\/\/ Pour une tension de 5V la valeur num\u00e9rique est 1023.  \n\/\/==================================================================================================\nfloat ConvertiValeurMesureAnalogiqueEnTension(int _valeurNumerique)\n{\n\/\/ La fonction de conversion valeur num\u00e9rique\/tension est de la forme tension = a * valeurNumerique. \nconst int   _VALEUR_NUMERIQUE_MIN= 0;\nconst float _VALEUR_TENSION_MIN  = 0.0;\nconst int   _VALEUR_NUMERIQUE_MAX= 1023;   \/\/ convertisseur 10bits \nconst float _VALEUR_TENSION_MAX  = 5.0;\n  \/\/calcul du coefficient directeur\n  float a = (_VALEUR_TENSION_MAX-_VALEUR_TENSION_MIN)\/(_VALEUR_NUMERIQUE_MAX-_VALEUR_NUMERIQUE_MIN);\n  \/\/calcul de la tension\n  float tension_V= a * _valeurNumerique; \n  return(tension_V);\n}\n\n\/\/==================================================================================================\n\/\/ Converti la valeur num\u00e9rique en une valeur de tension.\n\/\/ Le Convertisseur Analogique Numerique converti en un courant.  \n\/\/ Le courant est determin\u00e9 par la mesure d'une tension aux bornes d'une r\u00e9sistance de 10kOhms\n\/\/==================================================================================================\nfloat ConvertiValeurMesureAnalogiqueEnCourant(int _valeurNumerique)\n{\nconst float _RESISTANCE = 10000.0; \/\/R\u00e9sistance de 10kOhms    \n  \/\/ Conversion de la valeur num\u00e9rique en tension\n  float tension_V= ConvertiValeurMesureAnalogiqueEnTension(_valeurNumerique); \n  float courant_A= tension_V \/ _RESISTANCE;\n  return(courant_A);\n}\n\n\/\/==================================================================================================\n\/\/ Converti la valeur de la r\u00e9sistance de la CTN en une valeur de temperature.\n\/\/ S'inspire de la m\u00e9thode de Steinhart.\n\/\/==================================================================================================\nfloat ConvertiResistanceEnTemperature(float resistance)\n{\n\/\/ Caracteristiques de la CTN  \nconst float _TEMPERATURE_NOMINALE = 25;\nconst float _THERMISTANCE_NOMINALE = 10000;\nconst float _COEFFICIENT_B = 3950; \n \n  float temperature = resistance\/ _THERMISTANCE_NOMINALE;\n  temperature = log(temperature);\n  temperature \/= _COEFFICIENT_B;\n  temperature += 1.0 \/(_TEMPERATURE_NOMINALE + 273.15);\n  temperature = 1.0 \/temperature;\n  temperature -= 273.15;\n  return(temperature);\n}\n\n\n\/\/==================================================================================================\n\/\/ Proc\u00e9dure d'initialisation des p\u00e9riph\u00e9riques\n\/\/==================================================================================================\nvoid setup() {\n  \/\/Initialisation de l'\u00e9cran LCD 2 lignes de 16 caract\u00e8res.\n  ecranLCD.begin(16, 2);\n  \/\/ Initialisation de la communication s\u00e9rie avec le terminal \u00e0 9600 baud.\n  Serial.begin(9600);\n  temps = millis();\n}\n\n\n\n\/\/==================================================================================================\n\/\/ Converti la valeur de tension en une valeur de pression.\n\/\/ On mesure une tension de 0V pour une pression de  200hPa.\n\/\/ On mesure une tension de 5V pour une pression de 4000hPa.  \n\/\/==================================================================================================\nfloat ConvertiTensionEnPression(float _tension)\n{\n\/\/ La fonction de conversion tension vers pression est de la forme pression = a * tension +b.  \nconst float _VALEUR_PRESSION_MIN= 200.0;\nconst float _VALEUR_TENSION_MIN = 0.0;\nconst float _VALEUR_PRESSION_MAX= 4000.0; \/\/  \nconst float _VALEUR_TENSION_MAX = 5.0;\n  \/\/ calcul du coefficient directeur\n  float a = (_VALEUR_PRESSION_MAX-_VALEUR_PRESSION_MIN)\/(_VALEUR_TENSION_MAX-_VALEUR_TENSION_MIN);\n  \/\/ calcul du coefficient d\u00e9calage \u00e0 l'origine.\n  float b = _VALEUR_PRESSION_MAX - a * _VALEUR_TENSION_MAX;\n  \/\/calcul de la pression\n  float pression_Pa= (a * _tension) + b; \/\/ Pression en hecto Pascal.\n  pression_Pa = pression_Pa * 100;       \/\/ Pression en Pascal\n  return(pression_Pa);\n}\n\n\/\/==================================================================================================\n\/\/ Boucle principale Arduino.\n\/\/==================================================================================================\nvoid loop() {\n  temps= millis();\n  \/\/ Lecture de la valeur tension du capteur sur l'entr\u00e9e analogique _NUMER0_BROCHE_ANALOGIQUE_TENSION. \n  \/\/ La valeur mesur\u00e9e par le Convertisseur Analogique Num\u00e9rique prend pour valeur 0 pour une tension de 0V et 1023 pour une tension de 5V.\n  int valeurNumeriqueTension = analogRead(_NUMER0_BROCHE_ANALOGIQUE_TENSION);\n  \/\/ Conversion de la valeur numerique en tension.\n  float tension_T_V   = ConvertiValeurMesureAnalogiqueEnTension(valeurNumeriqueTension);\n  \n  \/\/ Lecture de la valeur courant du capteur sur l'entree analogique _NUMER0_BROCHE_ANALOGIQUE_TENSION. \n  \/\/ La valeur mesur\u00e9e par le Convertisseur Analogique Num\u00e9rique prend pour valeur 0 pour une tension de 0V et 1023 pour une tension de 5V.\n  \/\/ Le courant est d\u00e9termin\u00e9 par la mesure de la tension aux bornes d'une r\u00e9sistance de 10kOhms.\n  int valeurNumeriqueCourant = analogRead(_NUMER0_BROCHE_ANALOGIQUE_COURANT);\n  \/\/ Conversion de la valeur num\u00e9rique en courant.\n  float courant_A   = ConvertiValeurMesureAnalogiqueEnCourant(valeurNumeriqueCourant);\n\n  \/\/Calcul de la r\u00e9sistance\n  float resistance_ohm = tension_T_V \/ courant_A;\n\n  \/\/Appel de la m\u00e9thode de la libraire pour la conversion de la r\u00e9sistance en temp\u00e9rature.\n  float temperature_degreC= ConvertiResistanceEnTemperature(resistance_ohm);\n\/\/Affichage des r\u00e9sultats\n  Serial.print(\"t : \");\n  Serial.print(\"\\t\");\n  Serial.print(temps); \n  \n  Serial.print(\" Temp : \");    \/\/ Transmission de la chaine \" Temp\u00e9rature:\"\n  Serial.print(temperature_degreC); \/\/ Transmission de la temperature en \u00b0C\n  Serial.print(\" degresC \");              \/\/ Transmission de l'unit\u00e9.\n  \n\n\n  \/\/ Lecture de la valeur du capteur sur l'entree analogique. \n  \/\/ La valeur mesur\u00e9e par le Convertisseur Analogique Num\u00e9rique prend pour valeur 0 pour une tension de 0V et 1023 pour une tension de 5V.\n  int valeurNumerique = analogRead(_NUMER0_BROCHE_ANALOGIQUE);\n\n  float tension_P_V   = ConvertiValeurMesureAnalogiqueEnTension(valeurNumerique);\n\n  float pression_Pa = ConvertiTensionEnPression(tension_P_V);\n  \n  \/\/Affichage des r\u00e9sultats\n  \n  \n  Serial.print(\" Pression : \");         \/\/ Transmission de la chaine \" Pression:\"\n  Serial.print(pression_Pa);          \/\/ Transmission de la pression absolue calcul\u00e9e.\n  Serial.println(\" Pa\");    \n\n   ecranLCD.clear();                     \/\/ Efface l'\u00e9cran et positionne le curseur en 1\u00e8re colonne, 1\u00e8re ligne.\n  ecranLCD.setCursor(0,0);              \/\/ Positionne le curseur en 1\u00e8re colonne, 1\u00e8re ligne.\n  ecranLCD.print(\"T = \");        \/\/ Affichage du mot \"Temperature\".\n\n  \/\/ Affichage de la temp\u00e9rature en \u00b0C\n  \n  ecranLCD.print(temperature_degreC);   \/\/ Affichage de la temp\u00e9rature.\n  ecranLCD.print((char)223);            \/\/ Affichage du caract\u00e8re '\u00b0'.\n  ecranLCD.print(\"C\");                  \/\/ Affichage de l'unit\u00e9.\n\n  ecranLCD.setCursor(0,1);              \/\/ Positionne le curseur en 1\u00e8re colonne, 2\u00e8me ligne.\n  ecranLCD.print(\"P = \");           \/\/ Affichage du mot \"Pression\"\n\n  \/\/ Affichage de la pression en Pascal\n  \n  ecranLCD.print(pression_Pa);   \/\/ Affichage de la pression absolue en Pa.\n  ecranLCD.print(\" Pa\");                \/\/ Affichage de l'unit\u00e9.\n\n  delay(5000);                      \/\/ D\u00e9lai en ms d'1s pour faciliter la visualisation.\n}<\/code><\/pre>\n\n\n\n<p>Lien Github pour ce code :<a href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/tree\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN\" target=\"_blank\" rel=\"noreferrer noopener\"> <\/a><a href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/blob\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN_LCD.ino\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/jonasforlot\/python-arduino\/blob\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN_LCD.ino<\/a><\/p>\n\n\n\n<p>Une fois ce code Arduino t\u00e9l\u00e9vers\u00e9, nous pouvons r\u00e9cup\u00e9rer les valeurs avec le m\u00eame script Python utilis\u00e9 en d\u00e9but d&rsquo;article :<\/p>\n\n\n\n<p>Lien Github :<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/tree\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/Pvap_CTN\" target=\"_blank\"> <\/a><a href=\"https:\/\/github.com\/jonasforlot\/python-arduino\/blob\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/P_Vap_Arduino_CTN.py\">https:\/\/github.com\/jonasforlot\/python-arduino\/blob\/main\/Donn%C3%A9es%20s%C3%A9rie%20PvapSat\/P_Vap_Arduino_CTN.py<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Objectif : R\u00e9aliser des mesures de pression et de temp\u00e9rature \u00e0 l&rsquo;aide d&rsquo;un microcontr\u00f4leur, avec acquisition en temps r\u00e9el sur Python. Cela pourrait \u00eatre utile dans le cadre d&rsquo;une s\u00e9ance de travaux pratiques sur l&rsquo;\u00e9tude de l&rsquo;\u00e9volution de la pression de vapeur saturante de l&rsquo;eau en fonction de la temp\u00e9rature (loi de Rankine ln(Psat) = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1546,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7,11],"tags":[],"class_list":["post-1427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microcontroleurs-et-python","category-recuperer-les-donnees-dune-carte-arduino-avec-python"],"_links":{"self":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts\/1427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/comments?post=1427"}],"version-history":[{"count":5,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts\/1427\/revisions"}],"predecessor-version":[{"id":1758,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts\/1427\/revisions\/1758"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/media\/1546"}],"wp:attachment":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/media?parent=1427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/categories?post=1427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/tags?post=1427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}