HOWTO · Arduino

Arduino Char para Int

Pode-se converter char em int usando um método simples, a função toInt() e a função Serial.parseInt().

Este tutorial irá discutir três métodos para converter um char em um int. O primeiro método é o método simples em que podemos converter apenas um char de cada vez. O segundo método é usar a função toInt() e o terceiro é usar a função Serial.parseInt().

Converta char em int usando o método simples em Arduino

Este método só pode converter um único char em um int. Você precisa subtrair um zero do tipo char de char para convertê-lo em um int.

void loop() {
  char someChar = '2';  // variable to store char
  int someInt = someChar - '0';
}

No código acima, someChar é uma variável do tipo char para armazenar o char a ser convertido. Você pode alterar seu valor para a variável char fornecida. someInt é uma variável do tipo int para armazenar o resultado da conversão. Se a variável fornecida não for um único char, use os métodos abaixo.

Converta char em int usando a função toInt() no Arduino

Neste método, primeiro, você converterá o char fornecido em uma string e, em seguida, usará a função toInt() para converter a string em um int.

void loop() {
  char someChar = '3';
  String stringOne =
      String(someChar);  // converting a constant char into a String
  stringOne.toInt();
}

No código acima, someChar é uma variável do tipo char para armazenar o char fornecido. stringOne é uma variável do tipo String. Se a string não começar com um número válido, a conversão não será possível e um zero será retornado. Verifique o link para mais informações.

Converta char em int usando a função Serial.parseInt() em Arduino

Você pode usar este método se estiver lendo a entrada de uma porta serial de um Arduino e quiser converter a entrada recebida em um Int.

void loop() {
  if (Serial.available() > 0) {
    int valA = Serial.parseInt();
  }
}

A análise será interrompida se nenhum valor for lido ou se um não dígito for lido. Se nenhuma entrada válida for lida até o tempo limite, então 0 será retornado. Veja Serial.setTimeout() para definir o tempo limite do serial. Verifique este link para obter mais informações sobre a função Serial.parseInt().