gavmac00/arduino-docs huggingface dataset:
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Random numbers
            > Randomseed
          
randomSeed()
          [Random Numbers]
          
Descrição
randomSeed()
          [Random Numbers]
          
Descrição
randomSeed() inicializa o gerador de números pseudoaleatórios, fazendo o começar em um ponto arbitrário em sua sequência aleatória. Essa sequência, enquanto muito longa, e aleatória, é sempre a mesma.
Se é importante que uma sequência de valores gerados por random() seja diferente em execuções subsequentes de um sketch, use randomSeed() para inicializar o gerador de números aleatórios com uma entrada significantemente aleatória, como analogRead() em um pino desconectado.
Por outro lado, pode ser ocasionalmente útil usar sequências pseudoaleatórias exatamente repetidas. Isso pode ser conseguido chamando-se  randomSeed() com um número fixo, antes de começar a usar a sequência aleatória.
Parâmetros
Parâmetros
seed - número para inicializar a sequência pseudoaleatória (long).
Retorna
Nada
Código de Exemplo
O código abaixo imprime números aleatórios na porta serial.
long randNumber;
void setup() {
  // inicializa a porta serial.
  Serial.begin(9600);
  // inicializa o gerador de números aleatórios.
  // um pino analógico desconectado irá retornar um
  // valor aleatório de tensão em analogRead()
  randomSeed(analogRead(0));
}
void loop() {
  // calcula o próximo número aleatório entre 0 e 299
  randNumber = random(300);
  // imprime o valor na porta serial
  Serial.println(randNumber);
  delay(50);
}
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Random numbers
            > Random
          
random()
          [Random Numbers]
          
Descrição
A função random() gera números pseudoaleatórios.
Sintaxe
random(max)
Sintaxe
random(max)
random(min, max)
Parâmetros
min - menor limite do valor aleatório, inclusivo e opcional  (long)
max - maior limite do valor aleatório, exclusivo (long)
Retorna
Um número inteiro aleatório entre min e max-1 (long) .
Código de exemplo
O código abaixo gera números aleatórios e os imprime na porta serial.
long randNumber;
void setup() {
  Serial.begin(9600);
  // Se o pino de entrada analógica 0 é deixado desconectado,
  // o ruído aleatório analógico irá causar a chamada de randomSeed()
  //  gerar sementes aleatórias diferentes cada vez que o sketch roda.
  // randomSeed() basicamente "embaralha" a função random().
// randomSeed() basicamente "embaralha" a função random().
  randomSeed(analogRead(0));
}
void loop() {
  // imprime um número aleatório entre 0 e 299
  randNumber = random(300);
  Serial.println(randNumber);
  // imprime um valor aleatório entre 10 e 19
  randNumber = random(10, 20);
  Serial.println(randNumber);
  delay(50);
}
Notas e Advertências
Se é importante que uma sequência de valores gerados por random() seja diferente em execuções subsequentes de um sketch, use randomSeed() para inicializar o gerador de números aleatórios com uma entrada significantemente aleatória, como analogRead() em um pino desconectado.
Por outro lado, pode ser ocasionalmente útil usar sequências pseudoaleatórias exatamente repetidas. Isso pode ser conseguido chamando-se  randomSeed() com um número fixo, antes de começar a usar a sequência aleatória.
O parâmetro max deve ser escolhido de acordo com o tipo de dado da variável na qual o valor será guardado. De qulquer forma, o valor máximo absoluto é limitado pela natureza long (32 bit - 2,147,483,647) do valor gerado. Escolher um valor max maior que isso não irá gerar erros durante a compilação, mas durante a execução do sketch, os números gerados irão se comportar de forma impredizível.
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Ishexadecimaldigit
          
isHexadecimalDigit()
          [Characters]
          
Descrição
isHexadecimalDigit()
          [Characters]
          
Descrição
Analisa se uma caractere é um digito hexadecimal (A-F, 0-9). Retorna true se thisChar contém um digito hexadecimal.
Sintaxe
isHexadecimalDigit(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é um digito hexadecimal.
Código de Exemplo
if (isHexadecimalDigit(meuChar)) { // testa se meuChar é um digito hexadecimal
  Serial.println("The character is an hexadecimal digit");
}
else {
  Serial.println("The character is not an hexadecimal digit");
}
Ver Também
INGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Islowercase
          
isLowerCase()
          [Characters]
          
Descrição
isLowerCase()
          [Characters]
          
Descrição
Analisa se uma caractere é minúsculo (isto é, uma letra minúscula). Retorna true se thisChar contém uma letra minúscula.
Sintaxe
isLowerCase(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é minúsculo.
Código de Exemplo
if (isLowerCase(meuChar)) {  // testa se meuChar é uma letra minúscula
  Serial.println("The character is lower case");
}
else {
  Serial.println("The character is not lower case");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
LINGUAGEM read()
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Ispunct
          
isPunct()
          [Characters]
          
Descrição
isPunct()
          [Characters]
          
Descrição
Analisa se uma caractere é pontuação (isto é, uma vírgula, um ponto-e-vírgula, um ponto de exlamação etc). Retorna true se thisChar é um caractere de pontuação.
Sintaxe
isPunct(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é um caractere de pontuação
Código de Exemplo
if (isPunct(meuChar)) {  // testa se meuChar é um caractere de pontuação
  Serial.println("The character is a punctuation");
}
else {
  Serial.println("The character is not a punctuation");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isuppercase
          
isUpperCase()
          [Characters]
          
Descrição
isUpperCase()
          [Characters]
          
Descrição
Analisa se uma caractere é maiúsculo (isto é, uma letra maisúcula). Retorna true se thisChar é uma letra maiúscula.
Sintaxe
isUpperCase(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é uma letra maiúscula.
Código de Exemplo
if (isUpperCase(meuChar)) {  // testa se meuChar é uma letra maiúscula
  Serial.println("The character is upper case");
}
else {
  Serial.println("The character is not upper case");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isspace
          
isSpace()
          [Characters]
          
Descrição
Analisa se uma caractere é o caractere de espaço. Retorna true se thisChar contém um espaço.
Sintaxe
isSpace(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é o caractere de espaço.
Código de Exemplo
if (isSpace(meuChar)) {  // testa se meuChar é o caractere de espaço
  Serial.println("The character is a space");
}
else {
  Serial.println("The character is not a space");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
LINGUAGEM read()
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isalpha
          
isAlpha()
          [Characters]
          
Descrição
isAlpha()
          [Characters]
          
Descrição
Analisa se um caractere é alfabético (isto é, se é uma letra). Retorna true (verdadeiro) se thisChar contém uma letra.
Sintaxe
isAlpha(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é um caractere alfabético.
Código de Exemplo
if (isAlpha(meuChar)) {  // testa se a variável meuChar é uma letra
  Serial.println("The character is a letter");
}
else {
  Serial.println("The character is not a letter");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
LINGUAGEM read()
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isprintable
          
isPrintable()
          [Characters]
          
Descrição
isPrintable()
          [Characters]
          
Descrição
Analisa se uma caractere é imprimível (isto é, qualquer caractere que produz uma saída, até mesmo um espaço). Retorna true se thisChar é imprimível. Por impimível diz-se os caracteres que pode ser impressos, como letras e números. Alguns caracteres são para controle e não podem ser impressos como o new line ('\n') e o tab ('\t').
Sintaxe
isPrintable(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é imprimível.
Código de Exemplo
if (isPrintable(meuChar)) {  // testa se meuChar é imprimível
  Serial.println("The character is printable");
}
else {
  Serial.println("The character is not printable");
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Iscontrol
          
isControl()
          [Characters]
          
Descrição
isControl()
          [Characters]
          
Descrição
Analisa se uma caractere é um caractere de controle. Retorna true (verdadeiro) se thisChar é um caractere de controle.
Sintaxe
isControl(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é um caractere de controle.
Código de Exemplo
if (isControl(meuChar)) {  // testa se a variável meuChar é um caractere de controle
  Serial.println("The character is a control character");
}
else {
  Serial.println("The character is not a control character");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isgraph
          
isGraph()
          [Characters]
          
Descrição
isGraph()
          [Characters]
          
Descrição
Analisa se um caractere é imprimível com algum conteúdo (espaços são imprimíveis, mas não possuem conteúdo). Retorna true se thisChar é imprimível.
Sintaxe
isGraph(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é imprimível.
Código de Exemplo
if (isGraph(meuChar)) {  // testa se meuChar é um caractere imprimível mas não um espaço.
  Serial.println("The character is printable");
}
else {
  Serial.println("The character is not printable");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Iswhitespace
          
isWhitespace()
          [Characters]
          
Descrição
isWhitespace()
          [Characters]
          
Descrição
Analisa se um caractere é um espaço em branco, isto é o próprio caractere de espaço (' '), formfeed ('\f'), nova linha ('\n'), retorno ('\r'), tab horizontal tab ('\t') e tab vertical ('\v')).
Retorna true se thisChar contém um espaço em branco.
Sintaxe
isWhitespace(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é um caractere de espaço em branco.
Código de Exemplo
if (isWhitespace(meuChar)) { // testa se meuChar é um caractere de espaço em branco
  Serial.println("The character is a white space");
}
else {
  Serial.println("The character is not a white space");
}
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isascii
          
isAscii()
          [Characters]
          
Descrição
isAscii()
          [Characters]
          
Descrição
Analisa se um caractere é Ascii. Retorna true se a variável thisChar contém um caractere Ascii.
Sintaxe
isAscii(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é um caractere Ascii.
Código de Exemplo
if (isAscii(meuChar)) {  // testa se meuChar é  um caractere Ascii
  Serial.println("The character is Ascii");
}
else {
  Serial.println("The character is not Ascii");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
LINGUAGEM read()
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isalphanumeric
          
isAlphaNumeric()
          [Characters]
          
Descrição
isAlphaNumeric()
          [Characters]
          
Descrição
Analisa se um caractere é alfanumérico (isto é, uma letra ou um número). Retorna true (verdadeiro) se thisChar contém ou uma letra ou um número.
Sintaxe
isAlphaNumeric(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se a variável thisChar é uma letra ou um número..
Código de Exemplo
if (isAlphaNumeric(meuChar)) { // testa se meuChar é uma letra ou um número
  Serial.println("The character is alphanumeric");
}
else {
  Serial.println("The character is not alphanumeric");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Characters
            > Isdigit
          
isDigit()
          [Characters]
          
Descrição
isDigit()
          [Characters]
          
Descrição
Analisa se uma caractere é um digito (isto é, um número). Retorna true (verdadeiro) se thisChar é um número.
Sintaxe
isDigit(thisChar)
Parâmetros
thisChar: variável. Tipos de dados permitidos: char
Retorna
true: se thisChar é um número.
Código de Exemplo
if (isDigit(meuChar)) {  // testa se meuChar é um digito
  Serial.println("The character is a number");
}
else {
  Serial.println("The character is not a number");
}
Ver Também
LINGUAGEM char
LINGUAGEM if (operadores condicionais)
LINGUAGEM while (operadores condicionais)
LINGUAGEM read()
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Zero due mkr family
            > Analogwriteresolution
          
analogWriteResolution()
          [Zero, Due & MKR Family]
          
Descrição
[Zero, Due & MKR Family]
          
Descrição
analogWriteResolution() é uma extensão da API Analog para os Arduinos Due, Zero e MKR.
analogWriteResolution() configura a resolução da função analogWrite(). O padrão é 8 bits (valores entre 0-255) para compatibilidade com placas baseadas em microcontroladores AVR.
O Due possui as seguintes capacidades em seu hardware:
12 pinos com PWM de 8-bit por padrão, como as placas baseadas em AVR. Estes podem ser mudados para resolução 12-bits.
2 pinos com DAC 12-bit (Do Inglês, Digital-to-Analog Converter).
Ao configurar a resolução para 12 bits, você pode usar analogWrite() com valores entre 0 e 4095 para tirar vantagem da resolução completa do DAC ou do sinal PWM.
O Zero possui as seguintes capacidades em seu hardware:
10 pinos com PWM de 8-bit por padrão, como as placas baseadas em AVR. Estes podem ser mudados para resolução 12-bits.
1 pinos com DAC 12-bit (Do Inglês, Digital-to-Analog Converter).
Ao configurar a resolução para 10 bits, você pode usar analogWrite() com valores entre 0 e 1023 para tirar vantagem da resolução completa do DAC.
A família MKR de placas possui as seguintes capacidades em seu hardware:
A família MKR de placas possui as seguintes capacidades em seu hardware:
4 pinos com PWM de 8-bit por padrão, como as placas baseadas em AVR. Estes podem ser mudados para resolução 12-bits.
1 pino com DAC 10-bit (Do Inglês, Digital-to-Analog Converter).
Ao configurar a resolução para 12 bits, você pode usar analogWrite() com valores entre 0 e 4095 para sinais PWM; Use  10 bits no pino do conversor digital-analógico para tira vantagem da resoulção completa de 1024 valores do DAC.
Sintaxe
analogWriteResolution(bits)
Parâmetros
Sintaxe
analogWriteResolution(bits)
Parâmetros
bits: determina a resolução (em bits) dos valores usados na função analogWrite(). Se você escolher uma resolução maior ou menor que a capacidade do hardware da sua placa, o valor usado em analogWrite() será ou truncado se é muito grande ou completo com preenchido com zeros se for muito pequeno. Veja a nota  abaixo para detalhes.
Retorna
Nada
Código de Exemplo
O código configura a resolução da saída PWM para diferentes valores.
void setup() {
  // inicia a porta serial
  Serial.begin(9600);
  // configura os pinos digitais 11 a 13 como saída
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}
void loop() {
pinMode(13, OUTPUT);
}
void loop() {
  // Lê o valor analógico em A0 e mapeia-o para
  // um pino PWM com um LED conectado
  int sensorVal = analogRead(A0);
  Serial.print("Analog Read) : ");
  Serial.print(sensorVal);
  // a resolução PWM padrão
  analogWriteResolution(8);
  analogWrite(11, map(sensorVal, 0, 1023, 0, 255));
  Serial.print(" , 8-bit PWM value : ");
  Serial.print(map(sensorVal, 0, 1023, 0, 255));
  // Muda a reolução PWM para 12 bits
  // A resolução completa de 12 bits é suportada
  // apenas no Due
  analogWriteResolution(12);
// apenas no Due
  analogWriteResolution(12);
  analogWrite(12, map(sensorVal, 0, 1023, 0, 4095));
  Serial.print(" , 12-bit PWM value : ");
  Serial.print(map(sensorVal, 0, 1023, 0, 4095));
  // Muda a reolução PWM para 4 bits
  analogWriteResolution(4);
  analogWrite(13, map(sensorVal, 0, 1023, 0, 15));
  Serial.print(", 4-bit PWM value : ");
  Serial.println(map(sensorVal, 0, 1023, 0, 15));
  delay(5);
}
Notas e Advertências
delay(5);
}
Notas e Advertências
Se você configurar analogWriteResolution() com um valor maior que a capacidade de sua placa, o Arduino irá descartar os bits extras. Por exemplo: ao configurar o Due com analogWriteResolution(16) em um pino DAC 12-bit, apenas os primeiros 12 bits dos valores passados para analogWrite() serão usados e os outros 4 bits serão descartados.
Se você configurar analogWriteResolution() com um valor menor que a capacidade de sua placa, os bits ausentes serão completos com zeros para preencher o tamanho requerido pelo hardware. Por exemplo: ao configurar o Due com analogWriteResolution(8) em um pino DAC 12-bit, o Arduino irá adicionar 4 bits zero a esquerda do valor 8-bit usado em analogWrite() para obter os 12 bits requeridos.
Ver Também
LINGUAGEM analogWrite()
LINGUAGEM analogRead()
LINGUAGEM map()
EXAMPLO Descrição dos pinos analógicos de entrada(Em Inglês)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Zero due mkr family
            > Analogreadresolution
          
analogReadResolution()
          [Zero, Due & MKR Family]
          
Descrição
[Zero, Due & MKR Family]
          
Descrição
analogReadResolution() é um extensão da API Analog para o Arduino Due, Zero e família MKR.
Configura o tamanho (em bits) do valor retornado por analogRead(). O padrão é 10 bits (retorna valores entre 0-1023) para compatibilidade com placas baseadas em microcontroladores AVR.
As placas Due, Zero e da família MKR possuem um conversor analógico digital (ADC) com capacidade 12-bits que pode ser accessado, em completude, mudando-se a resolução para 12. Isso fará com que os valores retornados por analogRead() estejam entre 0 e 4095.
Sintaxe
analogReadResolution(bits)
Parâmetros
Sintaxe
analogReadResolution(bits)
Parâmetros
bits: determina a resolução (em bits) dos valores retornados pela função analogRead(). Você pode configurar esse valor entre 1 e 32. Você pode escolher resoluções mais altas que 12, porém assim, valores retornados por analogRead() irão sofrer aproximação. Veja a nota abaixo para detalhes.
Retorna
Nada
Código de Exemplo
O código abaixo mostra como usar o conversor analógico digital com resoluções diferentes.
void setup() {
  // abre a conexão serial
  Serial.begin(9600);
}
void loop() {
  // lê o valor no pino A0 na resolução padrão (10 bits)
  // e o envia pela conexão serial
  analogReadResolution(10);
// e o envia pela conexão serial
  analogReadResolution(10);
  Serial.print("ADC 10-bit (padrão) : ");
  Serial.print(analogRead(A0));
  // muda a resolução para 12 bits e lê o pino A0
  analogReadResolution(12);
  Serial.print(", 12-bit : ");
  Serial.print(analogRead(A0));
  // muda a resolução para 16 bits e lê o pino A0
  analogReadResolution(16);
  Serial.print(", 16-bit : ");
  Serial.print(analogRead(A0));
  // muda a resolução para 8 bits e lê o pino
  analogReadResolution(8);
  Serial.print(", 8-bit : ");
  Serial.println(analogRead(A0));
Serial.print(", 8-bit : ");
  Serial.println(analogRead(A0));
  // um pequeno delay para não enviar dados muito rapidamente para o Serial Monitor
  delay(100);
}
Notas e Advertências
Se você configurar o valor de analogReadResolution() para um valor maior que acapacidade de sua placa, o Arduino irá retornar apenas na sua resolução máxima, preenchendo os bits extras com zeros.
Por exemplo: usando-se o DUE com analogReadResolution(16) irá retornar um número 16-bit aproximado, com os primerios 12 bits contendo a leitura real do ADC  e os últimos 4 bits preenchidos com zeros.
Se você configurar o valor de analogReadResolution()  para um valor menor que acapacidade de sua placa, os bits menos significantes extras lidos do ADC serão descartados.
Usar uma resolução de 16 bits (ou qualquer resolução mais alta que as capacidades reais do hardware) permite escrever sketches que automaticamente suportam dispositivos com uma resolução do ADC mais alta quando estes estiverem disponíveis em placas futuras, sem a necessidade de se fazer mudanças no código.
Ver Também
EXEMPLO Descrição dos pinos analógicos de entrada(Em Inglês)
LINGUAGEM analogRead()
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Time
            > Millis
          
millis()
          [Time]
          
Descrição
millis()
          [Time]
          
Descrição
Retorna o número de milissegundos passados desde que a placa Arduino começou a executar o programa atual. Esse número irá sofrer overflow (chegar ao maior número possível e então voltar pra zero), após aproximadamente 50 dias.
Sintaxe
time = millis()
Parâmetros
Nenhum
Retorna
O número de milissegundos passados desde que o programa iniciou (unsigned long)
Código de Exemplo
O código imprime na porta serial o tempo em milissegundos passado desde que a placa Arduino começou a executar o código em si.
unsigned long time;
void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Time: ");
  time = millis();
void loop() {
  Serial.print("Time: ");
  time = millis();
  Serial.println(time); // imprime o tempo desde que o programa iniciou
  delay(1000);          // espera um segundo, para não enviar quantidades massivas de dados
}
Notas e Advertências
Note que o valor retornado por millis() é unsigned long, erros podem ser gerados se o programador tentar fazer operações matemáticas com outros tipos de dados, como int. Até mesmo o tipo long com sinal pode causar erros, já que seu valor máximo é metade de sua contraparte sem sinal.
Ver Também
EXEMPLO Blink Sem Delay (Em Inglês)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Time
            > Delay
          
delay()
          [Time]
          
Descrição
> Delay
          
delay()
          [Time]
          
Descrição
Pausa o programa por uma quantidade especificada de tempo (em milissegundos). Cada segundo equivale a 1000 milissegundos.
Sintaxe
delay(ms)
Parâmetros
ms: o número de milissegundos para pausar o programa (unsigned long)
Retorna
Nada
Código de Exemplo
O código pausa o programa por um segundo antes de trocar o estado do pino 13.
int ledPin = 13;              // LED conectado ao pino digital 13
void setup() {
  pinMode(ledPin, OUTPUT);    // configura o pino digital como saída
}
void loop() {
  digitalWrite(ledPin, HIGH); // acende o LED
  delay(1000);                // espera por um segundo
}
Notas e Advertências
Mesmo que seja fácil fazer um LED piscar usando a função delay(), e muitos sketches usam delays pequenos para tarefas como debouncing de botões, o uso de delay() em um sketch possui desvantagens significantes. Nenhuma leitura de sensores, cálculos matemáticos, ou manipulação de pinos podem ocorrer durante a função delay(), para resumir, causa a pausa de qualquer atividade. Para métodos alternativos de controlar temporizações, veja o sketch Blink Sem Delay (Em Inglês), que verifica a função millis() até que o tempo suficiente tenha passado. Programadores mais habilidosos usualmente evitam o uso da função delay() para timing de eventos mais longos que dezenas de milissegundos, a menos que o sketch Arduino seja muito simples.
No entanto, certas coisas continuam a acontecer enquanto a função delay() está controlando o microcontrolador, porque a função delay não desativa interrupções. Comunicação serial recebida no pino RX é armazenada, valores PWM de (analogWrite) e estados dos pinos são mantidos, e interrupções externas irão funcionar como devem.
Ver Também
EXEMPLO Blink Sem Delay (Em Inglês)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Time
            > Delaymicroseconds
          
delayMicroseconds()
          [Time]
          
Descrição
delayMicroseconds()
          [Time]
          
Descrição
Pausa o programa pela quantidade de tempo especificada como parâmetro (em microssegundos). Há mil microssegundos em um milissegundo, e um milhão de microssegundos em um segundo.
Atualmente, o maior valor que irá porduzir um delay preciso é 16383. Isso pode mudar em versões futuras do Arduino. Para delays mais longos que alguns milhares de microssegundos, você deve usar delay() em vez disso.
Sintaxe
delayMicroseconds(us)
Parâmetros
us: o número emm microssegundos para pausar o programa (unsigned int)
Retorna
Nada
Código de Exemplo
Retorna
Nada
Código de Exemplo
O código abaixo configura o pino 8 para funcionar como pino de saída. Ele então gera um trem de pulsos com período de 100 microssegundos.
int outPin = 8;               // pino digital 8
void setup() {
  pinMode(outPin, OUTPUT);    // configura o pino digital como saída
}
void loop() {
  digitalWrite(outPin, HIGH); // ativa o pino
  delayMicroseconds(50);      // pausa por 50 microssegundos
  digitalWrite(outPin, LOW);  // desativa o pino
  delayMicroseconds(50);      // pausa por 50 microssegundos
}
Notas e Advertências
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Time
            > Micros
          
micros()
          [Time]
          
Descrição
micros()
          [Time]
          
Descrição
Retorna o número de microssegundos passados desde que a placa Arduino começou a executar o programa atual. Esse número irá sofrer overflow (chegar ao maior número possível e então voltar pra zero), após aproximadamente 70 minutos. Em placas Arduino 16 MHz (ex. UNO e Nano), essa função possui uma resolução de quatro microssegundos (isto é, o número retornado é sempre um múltiplo de quatro). Em placas Arduino 8 MHz (ex. LilyPad), essa função possui uma resolução de oito microssegundos.
Sintaxe
time = micros()
Parâmetros
Nenhum
Retorna
O número de microssegundos desde que o programa iniciou (unsigned long).
Código de Exemplo
Código de Exemplo
O código abaixo imprime o número de microssegundos passados desde que a placa Arduino foi ligada.
unsigned long time;
void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Time: ");
  time = micros();
  Serial.println(time); // imprime o tempo desde que o programa iniciou
  delay(1000);          // espera um segundo, para não enviar quantidades massivas de dados
}
Notas e Advertências
Há 1000 (mil) microssegundos em um milissegundo e 1000000 (um milhão) de microssegundos em um segundo.
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Interrupts
            > Nointerrupts
          
noInterrupts()
          [Interrupts]
          
Descrição
noInterrupts()
          [Interrupts]
          
Descrição
Desativa interrupções (você pode reativá-las com interrupts()). Interrupções permitem certas tarefas importantes acontecerem ao fundo e são, por padrão, ativadas. Algumas funções não irão funcionar enquanto as interrupções estiverem desativadas, e dados recebidos podem ser ignorados. Interrupções podem levemente interferir no timing do código, no entanto, e podem ser desativadas em seções particulamente críticas do código.
Sintaxe
noInterrupts()
Parâmetros
Nothing
Retorna
Nada
Código de Exemplo
O código abaixo mostra como desativar e reativar interrupções.
void setup() {}
void loop() {
  noInterrupts();
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Interrupts
            > Interrupts
          
interrupts()
          [Interrupts]
          
Descrição
interrupts()
          [Interrupts]
          
Descrição
Reativa interrupções (quando elas tiverem sido desativadas por nointerrupts(). Interrupções permitem certas tarefas importantes acontecerem ao fundo e são, por padrão, ativadas. Algumas funções não irão funcionar enquanto as interrupções estiverem desativadas, e dados recebidos podem ser ignorados. Interrupções podem levemente interferir no timing do código, no entanto, e podem ser desativadas em seções particulamente críticas do código.
Sintaxe
interrupts()
Parâmetros
Nothing
Retorna
Nada
Código de Exemplo
O código abaixo mostra como desativar e reativar interrupções.
void setup() {}
void loop() {
  noInterrupts();
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Math
            > Sq
          
sq()
          [Math]
          
Descrição
Calcula o quadrado de um número: o número multiplicado por si mesmo.
Sintaxe
sq(x)
Sintaxe
sq(x)
Parâmetros
x: o número que se deseja calcular o quadrado, qualquer tipo de dados
Retorna
O quadrado do número. (double)
Notas e Advertências
Por causa da forma como a função sq() é implementada, evite usar outras funções dentro dos parênteses, pois isso pode levar a resultados incorretos.
Esse código gerará resultados incorretos:
int inputSquared = sq(Serial.parseInt()); // evite isso
Faça dessa forma:
int input = Serial.parseInt();  // manter outras operações fora da função sq()
int inputSquared = sq(input);
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Math
            > Min
          
min()
          [Math]
          
Descrição
Calcula o menor de dois números.
Sintaxe
min(x, y)
Parâmetros
Sintaxe
min(x, y)
Parâmetros
x: o primeiro número, qualquer tipo de dado
y: o segundo número, qualquer tipo de dado
Retorna
O menor dos dois números passados para a função.
ECódigo de Exemplo
O código garante que o valor de sensVal nunca é maior que 100.
sensVal = min(sensVal, 100);  // atribui a sensVal o menor valor, seja sensVal ou 100
                              // garantindo que esse nunca seja maior que 100.
Notas e Advertências
Talvez contraintuitivamente, max() é constantemente usada para restringir o extremo inferior do intervalo de uma variável, enquanto min() é usado para restringir o extremo superior do intervalo.
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Math
            > Pow
          
pow()
          [Math]
          
Descrição
> Pow
          
pow()
          [Math]
          
Descrição
Calcula o valor de um número elevado a uma potência. pow() pode ser usada para transformar um número em uma potência fracionária. Isso pode ser útil para gerar mapeamentos exponenciais de valores ou curvas.
Sintaxe
pow(base, expoente)
Parâmetros
base: o número (float)
expoente: a potência a qual o número deve ser elevado (float)
Retorna
O resultado da exponenciação (double)
Código de exemplo
Z recebe o valor de x elevado a y:
z = pow(x, y);
Veja o sketch (fscale) para um exemplo mais complexo do uso de pow().
Ver Também
DEFINIÇÃO float
DEFINIÇÃO double
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Math
            > Max
          
max()
          [Math]
          
Descrição
Calcula o maior de dois números.
Sintaxe
max(x, y)
Parâmetros
Sintaxe
max(x, y)
Parâmetros
x: o primeiro número, qualquer tipo de dado
y: o segundo número, qualquer tipo de dado
Retorna
O maior dos dois números passados para a função.
Código de Exemplo
O código garante que o valor de sensVal seja pelo menos 20.
sensVal = max(sensVal, 20); // atribui a sensVal o maior valor, seja sensVal ou 20
                            // (efetivamente garantindo que sensVal seja ao menos 20)
Notas e Advertências
Talvez contraintuitivamente, max() é constantemente usada para restringir o extremo inferior do intervalo de uma variável, enquanto min() é usado para restringir o extremo superior do intervalo.
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Math
            > Abs
          
abs()
          [Math]
          
Descrição
Calcula o módulo (ou valor absoluto) de um número.
Sintaxe
abs(x)
Sintaxe
abs(x)
Parâmetros
x: o número do qual se deseja saber o módulo
Retorna
x: se x é maior ou igual a 0.
-x: se x é menor que 0.
Notas e Advertências
Por causa da forma em que a função abs() é implementada, evite usar outras funções dentro dos parênteses, isso pode levar a resultados incorretos.
abs(a++); // evitar isso - causa resultados incorretos
abs(a);   // Ao invés disso, usar esta forma
a++;      // manter a aritmética fora da função
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Functions
            >  Math
            > Constrain
          
constrain()
          [Math]
          
Descrição
Restringe um número a ficar dentro de um intervalo.
Sintaxe
Restringe um número a ficar dentro de um intervalo.
Sintaxe
constrain(x, a, b)
Parâmetros
x: o número a se restringir, qualquer tipo de dado
a: o extremo inferior do intervalo, qualquer tipo de dado
b: o extremo superior do intervalo, qualquer tipo de dado
Retorna
x: se x está entre a e b
a: se x é menor que a
b: se x é maior que b
Código de Exemplo
O código limita os valores de uma variável com a leitura de um sensor entre 10 e 150.
sensVal = constrain(sensVal, 10, 150);  // limita os valores entre 10 e 150
Notas e Advertências
Notas e Advertências
Por causa da forma como a função constrain() é implementada, evite usar outras funções dentro dos parênteses, pois isso pode levar a resultados incorretos.
Esse código gerará resultados incorretos:
int constrainedInput = constrain(Serial.parseInt(), minimumValue, maximumValue);   // evite isso
Faça essa forma:
int input = Serial.parseInt();  // manter outras operações fora da função constrain()
int constrainedInput = constrain(input, minimumValue, maximumValue);
Ver Também