Section outline

  • 🧪 Simulação em Python: Variação do pH em uma Solução Tampão

    Vamos simular como o pH de uma solução tampão muda à medida que adicionamos um ácido forte (HCl) ou uma base forte (NaOH).
    Usaremos a equação de Henderson–Hasselbalch:

    pH = p K a + log ( [ base ] [ a ˊ cido ] ) \text{pH} = \text{p}K_a + \log \left( \frac{[\text{base}]}{[\text{ácido}]} \right)

    Vamos considerar um ácido fraco (como o ácido acético) e sua base conjugada (acetato).

    Code:

    =======================================

    import numpy as np
    import matplotlib.pyplot as plt

    # Buffer system: Acetic acid / Acetate
    Ka = 1.8e-5
    pKa = -np.log10(Ka)

    # Initial concentrations (mol/L)
    acid = 0.1     # CH₃COOH
    base = 0.1     # CH₃COO⁻

    # Range of added strong acid (HCl) and base (NaOH) in mmol
    added = np.linspace(-10, 10, 200)   # -5 mmol HCl to +5 mmol NaOH
    volume = 100  # mL of buffer solution

    # Convert to mol
    added_mol = added / 1000

    # New concentrations
    acid_new = acid + (-added_mol / (volume / 1000))
    base_new = base + (added_mol / (volume / 1000))

    # Avoid zero or negative concentrations
    acid_new = np.clip(acid_new, 1e-10, None)
    base_new = np.clip(base_new, 1e-10, None)

    # Calculate pH
    pH = pKa + np.log10(base_new / acid_new)

    # Plot
    plt.plot(added, pH, color='green')
    plt.axvline(0, linestyle='--', color='gray', alpha=0.5)
    plt.title("Simulação de pH em um Tampão (CH₃COOH/CH₃COO⁻)")
    plt.xlabel("Ácido forte (-) ou Base forte (+) adicionados (mmol)")
    plt.ylabel("pH")
    plt.grid(True)
    plt.show()

    =======================================

     

    👨🏽‍🔬Perceba que o pH varia pouco na faixa em que o tampão  está ativo-dea cordo com a capacidade do tampão explicads acima - mas fora da faixa o pH varia muito...

    Pode -se rodar o programa para outros sistemas de tampão, basta apenas mudar o valor do pKa.

    Nota-se que a forma da curva é a mesma, mas muda  a sua posição com respeito ao pH.