Reserva de frequência cardíaca
Subtrai a frequência de repouso da máxima e mostra a faixa em que você treina: com máxima de 190 bpm e repouso de 60 bpm, a reserva é de 130 bpm. Treinadores usam essa faixa como base para zonas de intensidade individuais. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Frequência cardíaca máxima
- 190
- Frequência cardíaca em repouso
- 60
- Reserva de frequência cardíaca
- 130 bpm
A reserva de frequência cardíaca é a diferença entre a frequência máxima e a de repouso. Esta calculadora recebe as duas medições em batimentos por minuto e devolve a faixa disponível entre repouso e esforço máximo. Treinadores e aplicativos usam essa diferença ao montar zonas de intensidade individualizadas. O cálculo é determinístico, funciona offline e não armazena perfis.
O que a reserva de frequência cardíaca representa
A reserva de frequência cardíaca, muitas vezes abreviada como HRR, descreve o intervalo entre a frequência de repouso e a máxima. A fórmula subtrai o valor de repouso do máximo, sempre em batimentos por minuto. Se o máximo for 190 bpm e o repouso 60 bpm, a reserva será 130 bpm.
Esse número não é uma frequência que você deva sustentar; é a amplitude usada por diversos métodos para preparar zonas. Pessoas com o mesmo máximo podem ter repousos diferentes e, portanto, reservas distintas. Ela não estima o máximo pela idade, não importa dados de relógios e não prescreve exercícios.
Assim, fornece um componente numérico estável para planos, planilhas, aulas e testes automatizados. Use medições confiáveis e procure orientação profissional quando houver sintomas ou riscos de saúde.
Como usar a reserva em zonas de treinamento
Uma etapa seguinte comum usa a reserva na fórmula de alvo ao estilo Karvonen: frequência de repouso mais uma fração de intensidade multiplicada pela reserva. Com reserva de 130 bpm e repouso de 60 bpm, um exemplo de 60 por cento seria 60 mais 0.60 vezes 130, ou 138 bpm. Esta capacidade não executa essa etapa nem escolhe percentuais.
Manter o cálculo separado permite reutilizá-lo com diferentes políticas e evita apresentar uma intensidade genérica como adequada para todos. Nenhum perfil é armazenado, nenhum wearable é consultado e nenhuma data é usada. Medicamentos, doença, temperatura e fadiga podem alterar o pulso; a reserva matemática não equivale a uma autorização médica.
Casos de uso
Preparar dados para zonas de treinamento
Calcule a reserva positiva que uma fórmula percentual documentada poderá usar na etapa seguinte.
Desenvolver software de atividade física
Inclua um cálculo HRR validado e determinístico em painéis, planejadores ou ferramentas educativas.
Conferir exercícios e testes
Gere respostas reproduzíveis de máximo menos repouso para aulas, exemplos e CI.
Perguntas frequentes
Qual é a fórmula da reserva de frequência cardíaca?
A reserva é a frequência máxima menos a frequência de repouso; os três valores são expressos em bpm.
A calculadora estima a frequência máxima pela idade?
Não. Você informa diretamente a frequência máxima; idade e fórmulas estimativas não são usadas.
Posso usar o resultado para calcular zonas?
Sim, a reserva alimenta vários métodos, mas esta capacidade não seleciona percentuais nem prescreve intensidade.
Por que a frequência de repouso importa para a intensidade?
Porque duas pessoas podem ter a mesma frequência máxima e partir de repousos diferentes. As reservas delas serão diferentes, e um percentual da reserva reflete essa diferença quando se calcula uma intensidade alvo.
A reserva é um batimento que devo buscar no treino?
Não. Não é um batimento a manter, e sim a faixa entre o repouso e o esforço máximo. Os métodos de treino usam um percentual dessa faixa para definir as metas.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/health/heart-rate-reserve \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"maximum_heart_rate":190,"resting_heart_rate":60}'const res = await fetch("https://api.kit.forhosting.com/health/heart-rate-reserve", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"maximum_heart_rate": 190,
"resting_heart_rate": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/heart-rate-reserve",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"maximum_heart_rate": 190,
"resting_heart_rate": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/heart-rate-reserve", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"maximum_heart_rate":190,"resting_heart_rate":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"maximum_heart_rate":190,"resting_heart_rate":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/heart-rate-reserve", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"maximum_heart_rate": 190,
"resting_heart_rate": 60
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.heart_rate_reserve",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Você pode usá-lo gratuitamente no navegador ou chamar a API por US$ 0,002 em cada solicitação válida.
O que a reserva de frequência cardíaca representa
A resposta repete as entradas validadas, devolve heart_rate_reserve, informa bpm e inclui a fórmula exata.
Como informar frequências máxima e de repouso válidas
O máximo precisa ser estritamente maior que o repouso para produzir uma reserva positiva. Por exemplo, 185 e 55 devolvem 130 bpm; 60 e 60 são rejeitados porque dariam zero, e 55 e 70 porque dariam valor negativo. Não há teto arbitrário baseado em idade, nem arredondamento de decimais válidos. Forneça maximum_heart_rate e resting_heart_rate como números finitos e positivos em bpm. Números JSON são preferíveis, mas strings decimais limpas e os aliases documentados, como max_hr, hr_max, rhr e resting_hr, também são aceitos. Campos ausentes, zero, negativos, Infinity, NaN, booleanos, arrays, objetos ou texto com unidades retornam invalid_input, sem conversões ambíguas. Em integrações, envie números JSON, conserve a unidade da resposta e mostre a mensagem de validação para que você possa corrigir valores invertidos ou digitados incorretamente.
Como usar a reserva em zonas de treinamento
A mesma lógica pura roda no navegador e na API, portanto a mesma dupla sempre produz o mesmo JSON. Uma solicitação válida pela API custa US$ 0,002; entradas inválidas falham claramente.
Perguntas técnicas
Por que o máximo deve superar o repouso?
A reserva precisa ser positiva. Uma diferença zero ou negativa retorna invalid_input.
Quanto custa a calculadora?
Ela é gratuita no navegador. Cada solicitação válida pela API custa US$ 0,002; entradas inválidas retornam erro.