You can try the following code:
for($hora= 0; $hora < 24; $hora++){
    $hoje = new DateTime();
    for($minuto = 0; $minuto <= 30; $minuto += 30){
        $data_hora = $hoje->format('Y-m-d') . ' '  // dia mes e ano de hoje
            . str_pad($hora, 2,'0', STR_PAD_LEFT)   // hora do primeiro loop (formatado com zero à esquerda)
            . ':' . str_pad($minuto, 2,'0', STR_PAD_LEFT) . ':00'; // minutos do segundo loop (formatado com zero à esquerda)
        // nota: os segundos estão fixos em 00 (linha acima)
        $resultado[] = processa_query($data_hora ); // chama a função que irá processar o sql
    }
}
// monta o resultado em $JSON e exibe o mesmo, o implode junta a array em uma string
echo $JSON = '{ "dados":[' .  implode(', ', $resultado) . ']}';
function processa_query($data_hora){
    $sql = "SELECT valor FROM valores where data_hora < '$data_hora' order by id desc limit 1  ";
    $consulta = $pdo->query($sql);
    $resultado = $consulta->fetchAll(3);
    $valor_equipamento = $resultado[0][0];
    // através do explode, separo a data da hora (separados pelo espaço)
    $hora_minuto = explode(' ' ,$data_hora);
    // removo os segundos
    $hora_minuto = substr($hora_minuto[1], 0,5);
    // monto um item o JSON concatenando: 
    // label: recebe a variável $hora_minuto 
    // y: recebe o $valor_equipamento (sem aspas)
    // indexLabel: recebe o $valor_equipamento (com aspas)
    return "{label:'$hora_minuto', y:$valor_equipamento , indexLabel:'$valor_equipamento'}";
}
							
							
						 
And what’s the problem? What did you do and what error occurred?
– Marcelo de Andrade
Could you elaborate on your answer?
– Allan Andrade
Now the meaning of the question has completely changed, from being a javascript problem to being a back-end PHP problem.
– Guilherme Nascimento