Il primo if legge un valore dalla seriale ma poi il codice continua anche se tale valore non è stato ricevuto.
Ci sono tanti modi, uno è quello di mettere un secondo if e far eseguire la lettura solo se il valore di num_misure è maggiore di 0, ad esempio.
if (Serial.available() > 0) {
num_misure = Serial.read();
if (num_misure > 0) {
.......
}
}