<phyphox xmlns="https://phyphox.org/xml" version="1.18">
  <title>Cryoscopy 3TS_2</title>
  <category>Arduino</category>
  <description>Measurement of the decrease in the freezing point of a solution by adding a solute to it using Arduino processor and DS18B20 temperature sensor.

Experiment designed by: 
Alberto E. Villalobos Chaves

Reference:
https://www.instructables.com/Measuring-Freezing-Point-Decrease-of-Water-Solutio/

Icon made by: 
Freepik - Flaticon
https://www.flaticon.es/iconos-gratis/baja-temperatura
  
  </description>
  <data-containers>
    <container size="1000">time</container>
    <container size="1000">S1 Temp</container>
    <container size="1000">S2 Temp</container>
    <container size="1000">S3 Temp</container>
    <container size="0">TempPromedio</container>
    <container size="0" init="0">WSolute</container>
    <container size="0" init="0">WSolvent</container>
    <container size="0" init="1.853">CrioscopicConst</container>
    <container size="0" init="1">VanHoffFactor</container>
    <container size="0" init="18">MolMass</container>
    <container size="0" init="0">TFSolvente</container>
    <container size="0">FreezPointDepress</container>
    <container size="0">MMAverage</container>
    <container size="0">MMStddev</container>
  </data-containers>
  <input>
    <bluetooth id="Cryoscopy 3TS_2" name="BT05" mode="notification">
      <output char="0000ffe1-0000-1000-8000-00805f9b34fb" conversion="singleByte" extra="time">time</output>
      <output char="0000ffe1-0000-1000-8000-00805f9b34fb" conversion="formattedString" separator="/" index="0">S1 Temp</output>
      <output char="0000ffe1-0000-1000-8000-00805f9b34fb" conversion="formattedString" separator="/" index="1">S2 Temp</output>
      <output char="0000ffe1-0000-1000-8000-00805f9b34fb" conversion="formattedString" separator="/" index="2">S3 Temp</output>
    </bluetooth>
  </input>
  <analysis>
    <formula formula="([1_]+[2_]+[3_])/3">
      <input keep="true">S1 Temp</input>
      <input keep="true">S2 Temp</input>
      <input keep="true">S3 Temp</input>
      <output>TempPromedio</output>
    </formula>
    <formula formula="[1]-[2]">
      <input keep="true">TFSolvente</input>
      <input keep="true">TempPromedio</input>
      <output>FreezPointDepress</output>
    </formula>
    <formula formula="([1]*[2]*[3])/(([4]-[5])*[6])">
      <input keep="true">CrioscopicConst</input>
      <input keep="true">WSolute</input>
      <input keep="true">VanHoffFactor</input>
      <input keep="true">TFSolvente</input>
      <input keep="true">TempPromedio</input>
      <input keep="true">WSolvent</input>
      <output append="true">MolMass</output>
    </formula>
    <average>
      <input as="buffer" keep="true">MolMass</input>
      <output as="average">MMAverage</output>
      <output as="stddev">MMStddev</output>
    </average>
  </analysis>
  <views>
    <view label="SAMPLE DATA">
      <value color="00ff00" precision="0" unit="s" label="T =">
        <input>time</input>
      </value>
      <separator height="1"></separator>
      <info color="blue" bold="true" align="center" size="1.3" label="MM = (KF · WSolute·i ) / (ΔTF ·WSolvent)"></info>
      <separator height="1"></separator>
      <edit label="Criosc. Const (KF)">
        <output>CrioscopicConst</output>
      </edit>
      <separator></separator>
      <edit label="Weight Solute (g)">
        <output>WSolute</output>
      </edit>
      <separator></separator>
      <edit label="Van't Hoff factor (i)">
        <output>VanHoffFactor</output>
      </edit>
      <separator></separator>
      <edit label="Weight Solvent (kg)">
        <output>WSolvent</output>
      </edit>
      <separator></separator>
      <edit label="FreezPointSolv (°C)">
        <output>TFSolvente</output>
      </edit>
      <separator height="15"></separator>
      <info color="yellow" size="1.2" label="https://www.instructables.com/Measuring-Freezing-Point-Decrease-of-Water-Solutio/"></info>
    </view>
    <view label="COOLING CURVES">
      <value color="00ff00" precision="0" unit="s" label="T =">
        <input>time</input>
      </value>
      <separator color="1F2022" height="1"></separator>
      <graph label="                   Samples (S1, S2, S3)" aspectRatio="1.6" labelX="Time" labelY="Temp" unitX="s" unitY="°C" color="orange">
        <input color="green" axis="x">time</input>
        <input color="green" axis="y">S1 Temp</input>
        <input color="blue" axis="x">time</input>
        <input color="blue" axis="y">S2 Temp</input>
        <input color="red" axis="x">time</input>
        <input color="red" axis="y">S3 Temp</input>
      </graph>
      <separator color="1F2022" height="1"></separator>
      <value color="green" precision="3" unit="°C" label="S1 Temp =">
        <input>S1 Temp</input>
      </value>
      <separator color="1F2022" height="1"></separator>
      <value color="blue" precision="3" unit="°C" label="S2 Temp =">
        <input>S2 Temp</input>
      </value>
      <separator color="1F2022" height="1"></separator>
      <value color="red" precision="3" unit="°C" label="S3 Temp =">
        <input>S3 Temp</input>
      </value>
      <separator color="1F2022" height="1"></separator>
    </view>
    <view label="AVERAGE CURVE">
      <value color="00ff00" precision="0" unit="s" label="T =">
        <input>time</input>
      </value>
      <separator color="1F2022" height="1"></separator>
      <graph label="                       Average Temp (°C)" aspectRatio="1.6" labelX="Time" labelY="Temp" unitX="s" unitY="°C" color="orange">
        <input axis="x">time</input>
        <input axis="y">TempPromedio</input>
      </graph>
      <separator color="1F2022" height="1"></separator>
      <value color="00ff00" precision="3" unit="°C" label="Average Temp =">
        <input>TempPromedio</input>
      </value>
      <separator height="1"></separator>
      <value color="00ff00" precision="3" unit="°C" label="ΔTF =">
        <input>FreezPointDepress</input>
      </value>
      <separator height="1"></separator>
      <button label="Calculate Molar Mass">
        <input type="empty"></input>
        <output>MolMass</output>
        <input type="empty"></input>
        <output>MMAverage</output>
        <input type="empty"></input>
        <output>MMStddev</output>
      </button>
      <separator height="1"></separator>
      <value color="yellow" precision="3" unit="g/mol" label="Mol Mass Average =">
        <input>MMAverage</input>
      </value>
      <separator height="1"></separator>
      <value color="yellow" precision="3" unit="g/mol" label="Mol Mass Stddev =">
        <input>MMStddev</input>
      </value>
    </view>
  </views>
  <export>
    <set name=" Data logging">
      <data name="Time (s)">time</data>
      <data name="S1 Temp (°C)">S1 Temp</data>
      <data name="Time (s)">time</data>
      <data name="S2 Temp (°C)">S2 Temp</data>
      <data name="Time (s)">time</data>
      <data name="S3 Temp (°C)">S3 Temp</data>
    </set>
  </export>
</phyphox>