Calcoli le zone cardiache con il metodo Karvonen
Questo calcolatore utilizza età e frequenza cardiaca a riposo per stimare cinque fasce di allenamento personalizzate con il metodo Karvonen.
Esegui gratis nel browser
Invece di applicare una semplice percentuale alla frequenza massima, determina prima la riserva cardiaca e poi somma nuovamente il battito a riposo. Il risultato mostra limiti arrotondati in battiti al minuto, dal lavoro aerobico leggero allo sforzo massimo stimato. Li consideri un riferimento per la programmazione, non un sostituto di una valutazione medica o di un test individuale.
Come il calcolo Karvonen personalizza l’intensità
Il metodo Karvonen parte da una frequenza cardiaca massima stimata sottraendo l’età da 220. Sottrae poi la frequenza a riposo per ottenere la riserva cardiaca, cioè l’intervallo tra il riposo e il massimo stimato. Ogni intensità viene applicata a questa riserva e il battito a riposo viene aggiunto di nuovo: la frequenza obiettivo equivale alla frequenza a riposo più la riserva moltiplicata per l’intensità. Per questo due persone della stessa età possono ottenere fasce diverse. Chi ha un battito a riposo più basso dispone generalmente di una riserva maggiore rispetto a una persona coetanea con un battito più alto. Il calcolatore divide la riserva in cinque fasce convenzionali: 50–60%, 60–70%, 70–80%, 80–90% e 90–100%. Ogni limite viene arrotondato al battito intero più vicino, così può confrontarlo facilmente con un orologio, una fascia toracica, un attrezzo da palestra o un conteggio manuale. Vengono mostrati anche il massimo stimato e la riserva, rendendo trasparente il procedimento.
Misuri una frequenza a riposo significativa
La frequenza cardiaca a riposo è più utile quando rappresenta uno stato davvero rilassato. La misuri dopo alcuni minuti di quiete oppure poco dopo il risveglio, prima che caffeina, esercizio fisico o un tragitto stressante modifichino il valore. Conti i battiti per un minuto completo o utilizzi un dispositivo affidabile; se possibile, confronti più mattine invece di basarsi su una sola giornata insolita. Inserisca l’età in anni e il valore a riposo in battiti al minuto. L’età deve essere positiva e il battito a riposo deve essere inferiore al massimo stimato in base all’età, altrimenti non esiste una riserva positiva da suddividere in zone. Malattia, disidratazione, caldo, farmaci, sonno insufficiente e fatica accumulata possono cambiare la risposta cardiaca. Consideri quindi le zone come stime per la pianificazione, non soglie fisiologiche esatte. Se avverte dolore al petto, svenimento, vertigini o affanno insolito, interrompa l’esercizio e richieda un parere professionale adeguato.
Utilizzi le cinque zone nel programma
La zona 1 è la fascia più leggera e spesso si presta a riscaldamento, defaticamento, recupero e movimento facile. La zona 2 viene comunemente usata per sedute confortevoli di resistenza aerobica, durante le quali la respirazione resta controllata. La zona 3 introduce un carico moderato e continuo, mentre la zona 4 rappresenta un lavoro impegnativo che normalmente si mantiene per periodi più brevi. La zona 5 va dallo sforzo molto intenso al massimo stimato e in genere è riservata a intervalli brevi per persone preparate a tale intensità. Queste descrizioni indicano una domanda cardiovascolare crescente, ma non stabiliscono quanto tempo chiunque debba trascorrere in ogni fascia. Forma fisica, sport, esperienza, salute, ambiente e obiettivo della seduta influenzano l’intensità appropriata. Inoltre il battito reagisce in ritardo ai cambiamenti improvvisi, quindi uno sprint può terminare prima che il monitor raggiunga la zona corrispondente. Abbini le fasce a percezione dello sforzo, respirazione, ritmo, potenza e recupero. Ripeta il calcolo quando cambiano l’età o una misura stabile a riposo, non per ogni piccola oscillazione quotidiana.
Casi d'uso
Programmare una seduta aerobica
Trasformi età e battito a riposo misurato in fasce chiare per segmenti leggeri, moderati e intensi.
Impostare gli avvisi del cardiofrequenzimetro
Usi i limiti arrotondati per configurare notifiche di zona su un orologio o un’app compatibile con fascia toracica.
Documentare un riferimento di allenamento
Registri i dati della formula e le cinque fasce prima di valutare con un professionista come inserirle nel programma.
Domande frequenti
Quale formula usa questo calcolatore?
Stima la frequenza massima come 220 meno l’età, calcola la riserva sottraendo il battito a riposo e aggiunge quel battito a ogni percentuale scelta della riserva.
Quanto costa un calcolo tramite API?
Ogni richiesta tramite API costa $0.002. Il calcolo è deterministico e non contatta servizi esterni.
Perché il battito a riposo modifica le zone?
Karvonen applica le percentuali all’intervallo tra riposo e massimo stimato; la stessa età può quindi produrre obiettivi diversi.
Queste zone sono un consiglio medico?
No. Sono stime educative e di pianificazione. Un medico o un professionista dell’esercizio può indicare un’intensità sicura per il singolo caso.
Perché i valori obiettivo vengono arrotondati?
I cardiofrequenzimetri e i conteggi manuali mostrano normalmente battiti interi al minuto, quindi ogni limite viene arrotondato all’intero più vicino.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/calc2/heart-rate-zones \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"age":40,"resting_heart_rate":60}'const res = await fetch("https://api.kit.forhosting.com/calc2/heart-rate-zones", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"age": 40,
"resting_heart_rate": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/heart-rate-zones",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"age": 40,
"resting_heart_rate": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/heart-rate-zones", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"age":40,"resting_heart_rate":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"age":40,"resting_heart_rate":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/heart-rate-zones", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"age": 40,
"resting_heart_rate": 60
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.heart_rate_zones",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |