gavmac00/arduino-docs huggingface dataset:
Retorna
Nada
Código de Exemplo
The código configura o pino digital 13 como OUTPUT e troca seu estado entre HIGH e LOW
void setup() {
  pinMode(13, OUTPUT);    // configura o pino digital 13 como saída
}
void loop() {
  digitalWrite(13, HIGH); // ativa o pino digital 13
  delay(1000);            // espera por um segundo
  digitalWrite(13, LOW);  // desativa o pino digital 13
  delay(1000);            // espera por um segundo
}
Notas e Advertências
Os pinos de entrada analógica podem ser também usados como pinos digitais, referidos como A0, A1, etc.
Ver Também
EXEMPLO Descrição dos pinos digitais (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
            >  Bits and bytes
            > Highbyte
          
highByte()
          [Bits and Bytes]
          
Descrição
highByte()
          [Bits and Bytes]
          
Descrição
Extrai o byte mais significativo (o mais à esquerda) de uma word (valor de 16 bits), ou o segundo byte menos significativo de um tipo de dado maior.
Sintaxe
highByte(x)
Parâmetros
x: um valor de qualquer tipo
Retorna
byte
Ver Também
LINGUAGEM word()
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
            >  Bits and bytes
            > Bitread
          
bitRead()
          [Bits and Bytes]
          
Descrição
Lê o valor de um bit em um número.
Sintaxe
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
            >  Bits and bytes
            > Bitwrite
          
bitWrite()
          [Bits and Bytes]
          
Descrição
Escreve em um bit especificado de um valor numérico.
Sintaxe
Escreve em um bit especificado de um valor numérico.
Sintaxe
bitWrite(x, n, b)
Parâmetros
x: a variável numérica cujo bit se deseja escrever
n: qual bit do número a ser escrito, começando em 0 para o bit menos significativo (mais à direita)
b: o valor a ser escrito no bit (0 ou 1)
Retorna
Nada
Código de Exemplo
O código a seguir demonstra o use de bitWrite ao imprimir uma variável no Monitor Serial antes e depois do uso de bitWrite().
void setup() {
  Serial.begin(9600);
  while (!Serial) {}  // espera a porta serial conectar. Necessário apenas em placas com USB nativa
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
            >  Bits and bytes
            > Lowbyte
          
lowByte()
          [Bits and Bytes]
          
Descrição
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
            >  Bits and bytes
            > Bitset
          
bitSet()
          [Bits and Bytes]
          
Ativa (escreve 1 em) um bit de uma variável numérica.
Descrição
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
            >  Bits and bytes
            > Bitclear
          
bitClear()
          [Bits and Bytes]
          
Descrição
Limpa (escreve um 0) em um bit de uma variável numérica.
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
            >  Bits and bytes
            > Bit
          
bit()
          [Bits and Bytes]
          
Descrição
bit()
          [Bits and Bytes]
          
Descrição
Computa o valor do bit especificado (o bit 0 é igual a 1, bit 1 igual a 2, bit 2 igual a 4, etc.).
Sintaxe
bit(n)
Parâmetros
n: o bit o qual se deseja computar o valor
Retorna
O valor do bit.
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
            >  Communication
            > Stream
          
Stream
          [Communication]
          
Descrição
> Stream
          
Stream
          [Communication]
          
Descrição
Stream é a classe base para streams de caracteres ou binárias. Não é chamada diretamente, mas invocada quando você usa uma função que depende dessa classe.
Stream define as funções de leitura no Arduino. Quando usar qulquer funcionalidade core que usa read() ou um método similar, você pode assumir seguramente que essa faz chamadas a classe Stream. Para funções como print(), a classe Stream herda da classe Print.
Algumas das bibliotecas que dependem da classe Stream são:
Serial
Wire
Ethernet
SD
Funções
available()
read()
flush()
find()
findUntil()
peek()
readBytes()
readBytesUntil()
readString()
readStringUntil()
parseInt()
parseFloat()
setTimeout()
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
            >  Communication
            > Serial
          
Serial
          [Communication]
          
Description
> Serial
          
Serial
          [Communication]
          
Description
Usada para comunicação entre uma placa Arduino e um computador ou outros dispositivos. Todas as placas Arduino possuem pelo menos uma porta serial (também conhecida como UART ou USART), enquanto alguns possuem várias .
Placa
Nome USB CDC
pinos - Serial
pinos - Serial1
pinos - Serial2
pinos - Serial3
Uno, Nano, Mini
0(RX), 1(TX)
Mega
0(RX), 1(TX)
19(RX), 18(TX)
17(RX), 16(TX)
15(RX), 14(TX)
Leonardo, Micro, Yún
Serial
0(RX), 1(TX)
Uno WiFi Rev.2
Conectados a USB
0(RX), 1(TX)
Conectados a USB
0(RX), 1(TX)
Conectados a NINA
Família MKR
Serial
13(RX), 14(TX)
Zero
SerialUSB (USB nativa apenas)
Conect. a porta de gravação
0(RX), 1(TX)
Due
SerialUSB (USB nativa apenas)
0(RX), 1(TX)
19(RX), 18(TX)
17(RX), 16(TX)
15(RX), 14(TX)
101
Serial
0(RX), 1(TX)
No Uno, Nano, Mini, e Mega, pinos 0 e 1 são usados para comunicação com o computador. Conectar qualquer coisa a esses pinos pode interferir nessa comunicação, incluindo causar falhas na gravação da placa.
Você pode usar o monitor serial integrado na IDE do Arduino para comunicar-se com uma placa Arduino. Clique no botão do monitor serial (lupa) na barra de ferramentas e escolha a mesma taxa de tranmissão usada na chamada de begin().
Você pode usar o monitor serial presente na IDE do Arduino para se comunicar com uma placa Arduino. Clique no botão do monitor serial na barra de ferramentas e escolha e usar a mesma taxa de transferência (baud rate) usada na chamada de begin().
Comunicação serial nos pinos TX/RX usa níveis lógicos TTL (5V ou 3.3V dependendo da placa). Não conecte esses pinos diretamente um uma porta serial RS232; esses operam em +/- 12V e podem danificar sua placa Arduino.
Para usar esses pinos para comunicar com seu computador pessoal, você vai precisar de um adaptador USB-serial extra, pois esses pinos não são conectados ao adaptador USB-serial do Arduino Mega. para usá-los para comunicar com um dispositivo serial TTL externo, conecte o pino TX do Arduino ao pino RX do dispositivo, o pino RX ao pino TX do dispositivo, e o ground de seu Mega ao ground do dispositivo.
Funções
if(Serial)
available()
availableForWrite()
begin()
end()
find()
findUntil()
flush()
parseFloat()
parseInt()
peek()
print()
println()
read()
readBytes()
readBytesUntil()
readString()
readStringUntil()
setTimeout()
write()
serialEvent()
Ver Também
Exemplos (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
            >  Usb
            > Keyboard
          
Keyboard
          [USB]
          
Descrição
> Keyboard
          
Keyboard
          [USB]
          
Descrição
As funções da biblioteca Keyboard permitem placas baseadas nos micros 32u4 ou SAMD funcionar como um teclado e enviar sinais de teclas pressionadas a um computador conectado através da porta micro USB nativa.
Nota: Nem todo caractere ASCII, particularmente os não imprimíveis, podem ser enviados com a biblioteca Keyboard.
A biblioteca suporta o uso de teclas modificadoras. Teclas modificadoras mudam o comportamento de outra tecla quando pressionadas simultaneamente. Veja aqui informações adicionais sobre as teclas suportadas e seu uso.
Notas e Advertências
Uma nota as bibliotecas Mouse e Keyboard: se a biblioteca Mouse ou Keyboard estiver rodando constantemente, será difícil programar a sua placa. Funções como Mouse.move() e Keyboard.print() irão mover o cursor ou enviar teclas ao computador conectado e devem ser chamadas apenas quando você estiver pronto para usá-las. É recomendado se usar um sistema de controle para ativar a funcionalidade USB, como um botão físico ou apenas responder a entradas específicas que você pode controlar.Confira os exemplos sobre as bibliotecas Mouse e Keyboard para algumas formas de fazer isso.
Quando usar as bibliotecas Mouse ou Keyboard, pode ser melhor testar sua saída primeiro utilizando Serial.print(). Dessa forma, você pode ter certeza de quais valores estão sendo relatados.
Funções
Keyboard.begin()
Keyboard.end()
Keyboard.press()
Keyboard.print()
Funções
Keyboard.begin()
Keyboard.end()
Keyboard.press()
Keyboard.print()
Keyboard.println()
Keyboard.release()
Keyboard.releaseAll()
Keyboard.write()
Ver Também
Exemplos abaixo em Inglês.
EXEMPLO KeyboardAndMouseControl: Demonstra os comandos das bibliotecas Mouse e Keyboard em um programa.
EXEMPLO KeyboardMessage: Envia uma string de texto quando um botão é pressionado.
EXEMPLO KeyboardLogout: Desloga o usuário atual com uma combinação de teclas.
EXEMPLO KeyboardSerial: Lê um byte da porta serial e o retorna como uma tecla pressionada.
EXEMPLO KeyboardReprogram: Abre uma nova janela na IDE Arduino e reprograma a placa com um simples programa blink.
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
            >  Usb
            > Mouse
          
Mouse
          [USB]
          
Descrição
> Mouse
          
Mouse
          [USB]
          
Descrição
As funções da biblioteca mouse permitem placas baseadas nos micros 32u4 ou SAMD controlar o movimento do cursor em um computador conectado através da porta micro USB nativa. Quando a posição do cursor é atualizada, essa é sempre relativa a sua posição anterior.
Notas e Advertências
As bibliotecas core permitem as placas baseadas nos micros 32u4 e SAMD (Leonardo, Esplora, Zero, Due e família MKR) aparecer em um computador conectado como um mouse e/ou teclado nativo.
Uma nota as bibliotecas Mouse e Keyboard: se a biblioteca Mouse ou Keyboard estiver rodando constantemente, será difícil programar a sua placa. Funções como Mouse.move() e Keyboard.print() irão mover o cursor ou enviar teclas ao computador conectado e devem ser chamadas apenas quando você estiver pronto para usá-las. É recomendado se usar um sistema de controle para ativar a funcionalidade USB, como um botão físico ou apenas responder a entradas específicas que você pode controlar. Confira os exemplos sobre as bibliotecas Mouse e Keyboard para algumas formas de fazer isso.
Quando usar as bibliotecas Mouse ou Keyboard, pode ser melhor testar sua saída primeiro utilizando Serial.print(). Dessa forma, você pode ter certeza de quais valores estão sendo relatados.
Funções
Mouse.begin()
Mouse.click()
Mouse.end()
Mouse.move()
Funções
Mouse.begin()
Mouse.click()
Mouse.end()
Mouse.move()
Mouse.press()
Mouse.release()
Mouse.isPressed()
Ver Também
Exemplos abaixo em Inglês.
EXEMPLO KeyboardAndMouseControl: Demonstra os comandos das bibliotecas Mouse e Keyboard em um programa.
EXEMPLO ButtonMouseControl: Controla o movimento do cursor com 5 pushbuttons.
EXEMPLO JoystickMouseControl: Controla o movimento do cursor com um Joystick quando um botão é pressionado.
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
            >  External interrupts
            > Detachinterrupt
          
detachInterrupt()
          [External Interrupts]
          
Descrição
Desativa a interrupção especificada.
Sintaxe
Descrição
Desativa a interrupção especificada.
Sintaxe
detachInterrupt(digitalPinToInterrupt(pino)) (Recomendado)
detachInterrupt(interrupt) (Não recomendado)
detachInterrupt(pino) (Não recomendado. Além disso, essa sintaxe só funciona em placas Arduino SAMD, Uno WiFi Rev2, Due, e 101)
Parâmetros
interrupt: o número da interrupção a ser desativada (veja attachInterrupt() para mais detalhes).
pino: o número do pino do Arduino cuja interrupção deve ser desativada
Retorna
Nada
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
            >  External interrupts
            > Attachinterrupt
          
attachInterrupt()
          [External Interrupts]
          
Descrição
Pinos Digitais com Interrupções
Descrição
Pinos Digitais com Interrupções
O primeiro parâmetro de attachInterrupt() é o número da interrupção. É recomendado usar digitalPinToInterrupt(pino) para converter o número do pino digital para o número específico da interrupção. Por exemplo, se você usar o pino 3, passe digitalPinToInterrupt(3) como o primeiro parâmetro de attachInterrupt().
Placa
Pinos digitais possíveis para interrupções
Uno, Nano, Mini e outros com 328p
2, 3
Uno WiFi Rev.2
todos os pinos digitais
Mega, Mega2560, MegaADK
2, 3, 18, 19, 20, 21
Micro, Leonardo e outros com 32u4
0, 1, 2, 3, 7
Zero
0, 1, 2, 3, 7
Zero
todos os pinos digitais, exceto 4
Família MKR
0, 1, 4, 5, 6, 7, 8, 9, A1, A2
Due
todos os pinos digitais
101
todos os pinos digitais (Apenas pinos 2, 5, 7, 8, 10, 11, 12, 13 funcionam com CHANGE)
Para as placas Uno WiFiRev.2, Due, Zero, Família MKR e 101, número da interrupção = número do pino.
Notas e Advertências
Nota
Notas e Advertências
Nota
Dentro da função associada, delay() não funcionará e o valor retornado por millis() não será incrementado. Dados recebidos na porta serial enquanto a interrupção é executada podem ser perdidos. Você deve declarar como volatile quaisquer que você modificar dentro da função associada. Veja a seção sobre ISRs abaixo para mais informação.
Usando Interrupções
Interrupções são úteis para fazer coisas automaticamente em programas de microcontroladores, e podem ajudar a resolver problemas de temporização. Boas tarefas para se usar uma interrupção podem incluir a leitura de um codificador rotativo, ou monitorar entradas de dados pelo usuário.
Supomos que você quisesse ter certeza que um programa sempre captura os pulsos de um codifcador rotativo, sem nunca perder um pulso, seria muito complicado criar um programa que pudesse fazer qualquer outra coisa além disso, porque o programa precisaria checar constantemente os pinos do codificador, para capturar os pulsos exatamente quando eles ocorreram. Outros sensores são similarmente dinâmicos também, como um sensor de som que pode ser usado para capturar um clique, ou um sensor infravermelho (foto-interruptor) para capturar a queda de uma moeda. Em todas essas situações, usar uma interrupção pode permitir o microcontrolador trabalhar em outras tarefas sem perder a interrupção.
Sobre Rotinas de Serviço de Interrupções (ISRs)
Geralmente, uma ISR deve ser o mais curta e rápida possível. Se o seu sketch usa múltiplas ISRs, apenas uma pode ser executada de cada vez, outras interrupções serão executadas após a atual terminar, em uma ordem que depende de sua prioridade. millis() depende de interrupções para contar, então essa nunca irá incrementar dentro de uma ISR. Como delay() também depende de interrupções, não irá funcionar dentro de uma ISR. micros() funciona inicialmente, mas começará a se comportar erraticamente após 1-2 ms. delayMicroseconds() não usa nenhum contador, então funciona normalmente.
Tipicamente variáveis globais são usadas para passar dados entre uma ISR e o programa principal. Tenha certeza que variáveis compartilhadas entre uma ISR e o programa principal são atualizadas corretamente, para isso, as declare usando o modificador volatile.
Para mais informações sobre interrupções, veja as notas de Nick Gammon’s (Em Inglês).
Sintaxe
attachInterrupt(digitalPinToInterrupt(pino), ISR, modo); (Recomendado)
attachInterrupt(interrupção, ISR, modo); (Não recomendado)
attachInterrupt(pino, ISR, modo); (Não recomendado. Além disso, essa sintaxe só funciona em placas Arduino SAMD, Uno WiFi Rev2, Due, e 101)
Parâmetros
interrupção: 	o número da interrupção (int)
Parâmetros
interrupção: 	o número da interrupção (int)
pino: 	      o número do pino do Arduino
ISR: 	      a ISR a ser chamada quando a interrupção ocorre; essa função deve não tomar nenhum parâmetro nem retornar nada. Essa função é chamada de rotina de serviço da interrupção ou ISR (do Inglês, interrupt service routine).
modo: 	     define quando a interrupção deve ser ativada. Quatro constantes estão predefinidas como valores válidos:
LOW acionar a interrupção quando o estado do pino for LOW,
CHANGE acionar a interrupção quando o sempre estado do pino mudar
RISING acionar a interrupção quando o estado do pino for de LOW para HIGH apenas,
FALLING acionar a interrupção quando o estado do pino for de HIGH para LOW apenas.
Placas Due, Zero e MKR1000 suportam também:
HIGH acionar a interrupção quando o estado do pino for HIGH.
Retorna
Nada
Código de Exemplo
O código abaixo usa uma interrupção para capturar a mudança no estado do pino 2 e acender o LED de acordo.
const byte ledPin = 13;
const byte interruptPin = 2;
volatile byte state = LOW;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(interruptPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}
void loop() {
  digitalWrite(ledPin, state);
}
void blink() {
  state = !state;
}
}
void blink() {
  state = !state;
}
Números das Interrupções
Normalmente você deve usar digitalPinToInterrupt(pino), em vez de colocar diretamente o número da interrupção no seu sketch. Os pinos específicos para interrupções, e seu mapeamento para o número da interrupção variam para cada tipo de placa. O uso direto dos números das interrupções pode parecer mais simples, porém pode causar problemas de compatibilidade quando seu sketch for executado em uma placa diferente.
Mesmo assim, sketches mais antigos frequentemente têm os números das interrupções usados diretamente. Frequentemente o número 0 (para o pino digital 2) ou o número 1 (para o pino digital 3) foram usados. A tabela abaixo mostra os pinos com interrupções disponíveis em cada placa.
Note que na tabela abaixo, os números das interrupções se referem aos números a serem passados para attachInterrupt(). Por razões históricas, essa numeração nem sempre corresponde diretamente a numeração do chip ATmega (ex. int.0 corresponde à INT4 no chip ATmega2560).
Placa
int.0
int.1
int.2
int.3
int.4
int.5
Uno, Ethernet
2
3
Mega2560
2
3
21
20
19
18
Leonardo, Micro (32u4)
3
2
0
1
7
Para as placas Due, Zero, MKR1000 e 101 o número da interrupção = número do pino.
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
            >  Analog io
            > Analogreference
          
analogReference()
          [Analog I/O]
          
Descrição
analogReference()
          [Analog I/O]
          
Descrição
Configura a tensão de referência para a entrada analógica (o valor máximo do intervalo de entrada). As opções são:
Placas Arduino AVR (Uno, Mega, etc.)
DEFAULT: a referência analógica padrão de 5 volts (em placas Arduino de 5V) ou 3.3 volts (em placas Arduino de 3.3V)
INTERNAL: uma referência interna, igual a 1.1 volts no ATmega168 ou ATmega328P e 2.56 volts no ATmega8 (Não disponível no Arduino Mega)
INTERNAL1V1: uma referência interna de 1.1V (apenas Arduino Mega)
INTERNAL2V56: uma referência interna de 2.56V (apenas Arduino Mega)
EXTERNAL: a tensão aplicada ao pino AREF (0 a 5V apenas) é usada como referência.
Placas Arduino megaAVR (Uno WiFi Rev2)
DEFAULT: uma referência interna de 0.55V
INTERNAL: uma referência interna de 0.55V
VDD: Vdd do ATmega4809. 5V no Uno WiFi Rev2
INTERNAL0V55: uma referência interna de 0.55V
INTERNAL1V1: uma referência interna de 1.1V
INTERNAL1V5: uma referência interna de 1.5V
INTERNAL2V5: uma referência interna de 2.5V
INTERNAL4V3: uma referência interna de 4.3V
INTERNAL4V3: uma referência interna de 4.3V
EXTERNAL: a tensão aplicada ao pino AREF (0 a 5V apenas) é usada como referência.
Placas Arduino SAMD (Zero, etc.)
AR_DEFAULT: a referência analógica padrão de 3.3V
AR_INTERNAL: uma referência integrada de 2.23V
AR_INTERNAL1V0: uma referência integrada de 1.0V
AR_INTERNAL1V65: uma referência integrada de 1.65V
AR_INTERNAL2V23: uma referência integrada de 2.23V
AR_EXTERNAL: a tensão aplicada ao pino AREF é usada como referência
Placas Arduino SAM (Due)
Placas Arduino SAM (Due)
AR_DEFAULT: a referência analógica padrão de 3.3V. Essa é a única opção suportada pelo DUE.
Sintaxe
analogReference(tipo)
Parâmetros
tipo: qual tipo de referência usar (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56 ou EXTERNAL).
Retorna
Nada
Notas e Advertências
Após mudar-se a referência analógica, as primeiras leituras com analogRead() podem ser imprecisas.
Não use menos que 0V ou mais que 5V como tensão de referência externa no pino AREF! Se você está usando uma referência externa no pino AREF, deve configurar a referência como EXTERNAL antes de chamar analogRead(). Do contrário, você irá curto-circuitar a tensão de referência ativa (gerada internamente) e o pino AREF, possivelmente danificando o microcontrolador da sua placa Arduino.
Alternativamente, você pode conectar a tensão de referência externa ao pino AREF através de um resistor de 5K ohm, permitindo-lhe trocar entre tensões de referência externas e internas. Note que o resistor irá alterar a tensão usada como referência, pois há um resistor interno de 32K ohm no pino AREF. Os dois em conjunto agem como um divisor de tensão, então, por exemplo, 2.5V aplicados através do resistor irão fornecer 2.5 * 32 / (32 + 5) = ~2.2V ao pino AREF.
Ver Também
EXEMPLO Descrição dos pinos de entrada analógica (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
            >  Analog io
            > Analogwrite
          
analogWrite()
          [Analog I/O]
          
Descrição
analogWrite()
          [Analog I/O]
          
Descrição
Aciona uma onda PWM (descrição (Em Ingês)) em um pino. Pode ser usada para variar o brilho de um LED ou acionar um motor a diversas velocidades. Após a função analogWrite() ser chamada, no pino haverá uma onda quadrada com o duty cycle (ciclo de trabalho) especificado até a próxima chamada de analogWrite() (ou uma chamada de digitalRead() ou digitalWrite() no mesmo pino). A frequência do sinal PWM na maioria dos pinos é aproximadamente 490 Hz. No Uno e placas similares, pinos 5 e 6 usam uma frequência de aproximadamente 980 Hz.
Na maioria das placas Arduino (as placas com o ATmega168 ou ATmega328), essa função funciona nos pinos 3, 5, 6, 9, 10, e 11. No Arduino Mega, essa funciona nos pinos 2 a 13 e 44 a 46. Placas mais antigas com o ATmega8 suportam analogWrite() apenas nos pinos 9, 10, and 11.
O Arduino DUE suporta analogWrite() nos pinos 2 a 13, mais pinos DAC0 e DAC1. Diferente dos pinos PWM, DAC0 e DAC1 são conversores Digital-Analógicos, e saídas analógicas legítimas.
Você não precisa chamar pinMode() para configurar um pino como saída antes de chamar analogWrite().
A função analogWrite() nada tem a ver com os pinos analógicos ou a função analogRead().
Sintaxe
analogWrite(pino, valor)
Parâmetros
pino: o pino escolhido do Arduino. Tipos de dados permitidos: int.
valor: o duty cycle: entre 0 (sempre desligado) and 255 (sempre ligado). Tipos de dados permitidos: int
Retorna
Nada
Código de Exemplo
Controla a saída para um LED proporcionalmente a um valor lido de um potenciômetro.
int ledPin = 9;     // LED conectado ao pino digital 9
int analogPin = 3;  // potenciômetro conectado ao pino analógico 3
int val = 0;        // variável para guradar o valor lido
int val = 0;        // variável para guradar o valor lido
void setup() {
  pinMode(ledPin, OUTPUT);  // configura  o pino como saída
}
void loop() {
  val = analogRead(analogPin);  // lê o pino de entrada analógica
  analogWrite(ledPin, val / 4); // analogRead retorna valores de 0 a 1023, analogWrite recebe de 0 a 255
}
Notas e Advertências
}
Notas e Advertências
As ondas PWM generadas nos pinos 5 e 6 terão duty cycles maiores que o esperado. Isso acontece porque ocorrem interações com as funções millis() e delay(), as quais compartilham o mesmo timer (temporizador) interno usado para gerar essas saídas PWM. Isso será constatado principalmente em duty-cycle baixos (ex. 0 - 10) e podem resultar em um valor de 0 não desligando completamente a saída nos pinos 5 e 6.
Ver Também
LINGUAGEM analogWriteResolution()
DEFINIÇÃO PWM
EXEMPLO Blink
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
            >  Analog io
            > Analogread
          
analogRead()
          [Analog I/O]
          
Descrição
analogRead()
          [Analog I/O]
          
Descrição
Lê o valor de um pino analógico especificado. A placa Arduino possui um conversor analógico-digital 10 bts de 6 canais (8 canais nos Mini e Nano, 16 no Mega, 7 canais em placas MKR). Isso significa que este irá mapear tensões entre 0 e a tensão operacional (5V or 3.3V) para valores inteiros entre 0 e 1023. No Arduino UNO, por exemplo, isso permite uma resolução entre leituras de: 5 volts / 1024 unidades, ou .0049 volts (4.9 mV) por unidade. Veja a tabela abaixo para os pinos utilizáveis, tensão de operação e resolução máxima para algumas placas Arduino.
O intervalo de entrada pode ser mudado atrvés da função analogReference(), enquanto a resolução pode ser mudada (apenas nas placas Zero, Due e MKR) usando-se analogReadResolution().
Em placas baseadas em microcontroladores AVR (UNO, Nano, Mini, Mega), ler um valor analógico leva em torno de 100 microssegundos (0.0001 s), então a taxa de leitura máxima é aproximadamente 10,000 leituras por segundo.
Board
Operating voltage
Usable pins
Max resolution
Uno
5 Volts
A0 to A5
10 bits
Mini, Nano
5 Volts
A0 to A7
10 bits
Mega, Mega2560, MegaADK
5 Volts
A0 to A14
10 bits
Micro
5 Volts
A0 to A11*
10 bits
Leonardo
Micro
5 Volts
A0 to A11*
10 bits
Leonardo
5 Volts
A0 to A11*
10 bits
Zero
3.3 Volts
A0 to A5
12 bits**
Due
3.3 Volts
A0 to A11
12 bits**
MKR Family boards
3.3 Volts
A0 to A6
12 bits**
*A0 through A5 are labelled on the board, A6 through A11 are respectively available on pins 4, 6, 8, 9, 10, and 12
**The default analogRead() resolution for these boards is 10 bits, for compatibility. You need to use analogReadResolution() to change it to 12 bits.
Sintaxe
analogRead(pino)
Parâmetros
Sintaxe
analogRead(pino)
Parâmetros
pino: o nome do pino de entrada analógica que se quer ler (A0 a A5 na maioria das placas, A0 a A6 em placas MKR, A0 a A7 no Mini e Nano, A0 a A15 no Mega).
Retorna
A leitura analógica no pino (int). No entanto esta é limitada a resolução do conversor analógico digital (0-1023 para 10 bits ou 0-4095 para 12 bits).
Código de Exemplo
O código abaixo lê o valor de um pino de entrada analógica e mostra seu valor na porta serial.
int analogPin = A3; // terminal do meio de um potênciometro conectado ao pino analógico 3
// terminais mais externos são conectados um no ground e o outro em +5V
int val = 0;        // variável para guardar o valor lido
void setup() {
  Serial.begin(9600);           // configura a porta serial
}
void loop() {
  val = analogRead(analogPin);  // lê o pino de entrada
  Serial.println(val);          // imprime o valor na porta serial
}
Notas e Advertências
Se o pino de entrada analógica não estiver conectado a nada, o valor retornado por analogRead() irá flutuar baseado numa gama de fatores (ex. o valor de outros pinos analógicos, quão próxima suu mão está da placa, etc.).
Ver Também
LINGUAGEM analogReadResolution()
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
            >  Advanced io
            > Tone
          
tone()
          [Advanced I/O]
          
Descrição
tone()
          [Advanced I/O]
          
Descrição
Gera uma onda quadrada na frequência especificada (e duty cycle 50%) em um pino. A duração pode ser especificada, do contrário a onda continua até uma chamada de noTone(). O pino pode ser conectado a um buzzer piezo ou outro speaker para tocar tons.
Apenas um tom pode ser gerado de cada vez. Se um tom já está tocando em um pino diferente, a chamada de tone() não terá efeito. Se o tom está tocando no mesmo pino, a chamada irá mudar sua frequência para a nova especificada.
Uso da função tone() irá interferir com saída PWM nos pinos 3 e 11 (em placas diferentes do Mega).
Não é possível gerar tons de freqeuência mais baixa que 31Hz. Para detalhes técnicos, veja as notas de Brett Hagman’s(Em Inglês).
Sintaxe
tone(pino, frequência)
tone(pino, frequência, duração)
Parâmetros
pino: o pino do Arduino no qual gerar o tom
frequência: a frequência do tom em Hertz - unsigned int
duração: a duração do tom em milissegundos (opcional) - unsigned long
Retorna
Nada.
Notas e Advertências
Se você quiser tocar tons diferentes em múltiplos pinos, você precisa chamar noTone() em um pino antes de chamar tone() no próximo pino.
Ver Também
LINGUAGEM analogWrite()
EXEMPLO Tone Melody
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
            >  Advanced io
            > Pulsein
          
pulseIn()
          [Advanced I/O]
          
Descrição
pulseIn()
          [Advanced I/O]
          
Descrição
Captura a duração de um pulso em um pino (que pode ser HIGH ou LOW). Por exemplo, se o valor HIGH é passado para a função, a função pulseIn() espera o pino ir para do estado 'LOW' para HIGH, começa a temporizar, então espera o pino ir para o estado LOW e para de temporizar. Retorna o tamanho do pulso em microssegundos ou desiste e retorna 0 se não receber nenhum pulso dentro de um tempo máximo de espera especificado.
A temporização dessa função foi determinada empiricamente e irá provavelmente mostrar erros em pulsos mais longos. funciona em pulsos de 10 microssegundos a 3 minutos de duração.
Sintaxe
pulseIn(pino, valor)
Sintaxe
pulseIn(pino, valor)
pulseIn(pino, valor, tempo_de_espera)
Parâmetros
pino: o número do pino no Arduino no qual se quer capturar a duração de um pulso. (int)
valor: tipo de pulso a ser lido: pode ser HIGH ou LOW. (int)
tempo_de_espera (opcional): o número de microssegundos a se esperar pelo começo do pulso; o padrão é um segundo. (unsigned long)
Retorna
A duração do pulso (em microssegundos) ou 0 se nenhum pulso começar antes de se esgotar o tempo de espera (unsigned long).
Código de Exemplo
O exemplo abaixo imprime a duração de um pulso no pino 7.
O exemplo abaixo imprime a duração de um pulso no pino 7.
int pino = 7;           //pino para a entrada do pulso
unsigned long duracao; //variável para guardar a duração do pulso
void setup()
{
  Serial.begin(9600);
  pinMode(pino, INPUT);
}
void loop()
{
  duracao = pulseIn(pino, HIGH);
  Serial.println(duracao);
}
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
            >  Advanced io
            > Shiftin
          
shiftIn()
          [Advanced I/O]
          
Descrição
shiftIn()
          [Advanced I/O]
          
Descrição
Recebe um byte de dados, um bit de cada vez. Começa com ou o bit mais significante (o mais à esquerda) ou o menos significante (mais à direita). Para cada bit, o pino de clock é colocado em estado em HIGH, o próximo bit é lido no pino de dados (data), e então o pino é colocado em estado LOW novamente.
Se está conectando um dispositivo que funciona a partir da borda de subida sinal de clock, você irá precisar garantir que o pino de clock está em estado LOW antes da primeira chamada de shiftIn(), ex. chamando digitalWrite(clockPin, LOW).
Nota: essa é uma implementação por software; O Arduino também provê uma biblioteca SPI que faz a implementação em hardware, que é mais rápida, mas apenas funciona em pinos específicos.
Sintaxe
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Parâmetros
dataPin: o pino no qual receber cada bit (int).
clockPin: o pino alternado para sinalizar uma leitura de dataPin.
bitOrder: em que ordem receber os bits; pode ser MSBFIRST ou LSBFIRST.
Correspondendo respectivamente a primeiro o bit mais significativo (Most Significant Bit First), ou o primeiro o bit menos significativo (Least Significant Bit First)
Retorna
O valor lido (byte).
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
            >  Advanced io
            > Pulseinlong
          
pulseInLong()
          [Advanced I/O]
          
Descrição
pulseInLong()
          [Advanced I/O]
          
Descrição
pulseInLong() é uma alternativa à função pulseIn(), sendo melhor para lidar com pulsos longos e situações afetadas por interrupções.
Lê um pulso (HIGH ou LOW) em um pino. Por exemplo, se o valor for HIGH, pulseInLong() espera que o pino vá HIGH, começa a cronometrar e, em seguida, espera que o pino vá LOW e pára de cronometrar. Retorna a duração do pulso em microssegundos ou 0 se nenhum pulso completo foi recebido dentro do tempo limite.
A temporização dessa função foi determinada empiricamente e irá provavelmente mostrar erros em pulsos mais curtos. Funciona em pulsos de 10 microssegundos a 3 minutos de duração. Por favor note que se a função for configurada para recebr um pulso HIGH e o pino já estiver no estado HIGH quando a função for chamada, essa irá primeiro esperar o pino ir para estado LOW e então HIGH antes de começar a contar. Essa função pode ser utilizada apenas quando interrupções estiverem ativadas. Além disso, resoluções maiores são alcançadas com intervalos maiores.
Sintaxe
pulseInLong(pino, valor)
pulseInLong(pino, valor, tempo_de_espera)
Parâmetros
pulseInLong(pino, valor, tempo_de_espera)
Parâmetros
pino: o número do pino do Arduino no qual se quer capturar a duração de um pulso. (int)
valor: tipo de pulso a ser lido: pode ser HIGH ou LOW. (int)
tempo_de_espera (opcional): o número de microssegundos a se esperar pelo começo do pulso; o padrão é um segundo. (unsigned long)
Retorna
A duração do pulso (em microssegundos) ou 0 se nenhum pulso começar antes de se esgotar o tempo de espera (unsigned long).
Código de Exemplo
O exemplo abaixo imprime na porta serial a duração de um pulso no pino 7.
int pino = 7;              // pino para a entrada do pulso
int pino = 7;              // pino para a entrada do pulso
unsigned long duracao;   // variável para guardar a duração do pulso
void setup() {
  Serial.begin(9600);
  pinMode(pino, INPUT);
}
void loop() {
  duracao = pulseInLong(pino, HIGH);
  Serial.println(duracao);
}
Notes and Warnings
Essa função depende da função micros(), então não pode ser usada quando interrupções estiverem desativadas com noInterrupts().
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
            >  Advanced io
            > Shiftout
          
shiftOut()
          [Advanced I/O]
          
Descrição
shiftOut()
          [Advanced I/O]
          
Descrição
Transfere um byte de dados um bit de cada vez. Começa com ou o bit mais significante (o mais à esquerda) ou o menos significante (mais à direita). Cada bit é escrito em sequência em um pino data, logo após o pino clock é pulsado (colocado em HIGH, depois LOW) para indicar que aquele bit está disponível.
Nota - se você está conectando um dispositivo que é sincronizado pela borda de subida do clock, irá precisar fazer com que o pino clock seja  low antes de chamar shiftOut(), ex. com digitalWrite(clockPin, LOW).
Essa é uma implementação por software; O Arduino também provê uma biblioteca SPI que faz a implementação em hardware, que é mais rápida, mas apenas funciona em pinos específicos.
Sintaxe
shiftOut(dataPin, clockPin, bitOrder, value)
Parâmetros
dataPin: o pino no qual transferir cada bit (int)
clockPin: o pino a ser pulsado uma vez que o pino data estiver com o bit a ser trasnferido (int)
bitOrder: em que ordem receber os bits; pode ser MSBFIRST ou LSBFIRST. Respectivamente, primeiro o bit mais significativo (Most Significant Bit First), ou o primeiro o bit menos significativo (Least Significant Bit First)
value: o valor a ser transferido. (byte)
Retorna
Nada
Código de Exemplo
Retorna
Nada
Código de Exemplo
Para o circuito, ver o tutorial sobre o controle de um registrador de deslocamento 74HC595 (Em Inglês).
//**************************************************************//
//  Name    : shiftOutCode, Hello World                         //
//  Author  : Carlyn Maw,Tom Igoe                               //
//  Date    : 25 Oct, 2006                                      //
//  Version : 1.0                                               //
//  Notes   : Code for using a 74HC595 Shift Register           //
//          : to count from 0 to 255                            //
//****************************************************************
//Pino conectado a ST_CP no 74HC595
int latchPin = 8;
//Pino conectado a SH_CP no 74HC595
int clockPin = 12;
//Pino conectado a DS no 74HC595
//Pino conectado a DS no 74HC595
int dataPin = 11;
void setup() {
  //configura os pinos usados no loop principal como saídas
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}
void loop() {
  //rotina de contagem de 0 até 255
  for (int j = 0; j < 256; j++) {
    //coloca e mantém o pino latch em low enquanto ocorre a transmissão
    digitalWrite(latchPin, LOW);
    //transmite o valor de j, a começar pelo bit menos significativo
    shiftOut(dataPin, clockPin, LSBFIRST, j);
    //retorna o pino latch para high para sinalizar ao chip
    //que esse não precisa mais esperar por informação
//que esse não precisa mais esperar por informação
    digitalWrite(latchPin, HIGH);
    delay(1000);
  }
}
Notas e Advertências
Os pinos data e clock devem ser configurados como saídas com uma chamada de pinMode().
A função shiftOut() atualmente funciona para transferir apenas 1 byte (8 bits) então requer uma operação em dois passos para transferir valores maiores que 255.
// Para serial MSBFIRST, faça:
int data = 500;
// transfere o byte mais significativo
shiftOut(dataPin, clock, MSBFIRST, (data >> 8));
// trasnfere o byte menos significativo
shiftOut(dataPin, clock, MSBFIRST, data);
// Para serial LSBFIRST, faça:
data = 500;
// transfere o byte menos significativo
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
            >  Advanced io
            > Notone
          
noTone()
          [Advanced I/O]
          
Descrição
noTone()
          [Advanced I/O]
          
Descrição
Interrompe a geração de uma onda quadrada iniciada pela função tone(). Não tem nenhum efeito se nenhum tom está sendo gerado.
Sintaxe
noTone(pino)
Parâmetros
pino: o pino do Arduino no qual se quer parar de gerar um tom.
Retorna
Nada
Notas e Advertências
Se você quiser tocar tons diferentes em múltiplos pinos, você precisa chamar noTone() em um pino antes de chamar tone() no próximo pino.
Ver Também