Constantes são variáveis pre-definidas na linguagem Arduino. Elas são usadas para tornar os programas mais facilmente legíveis. Nós classificamos as constantes em grupos.

Definindo níveis lógicos, verdadeiro e falso (constantes booleanas)

Há duas constantes usadas para representar verdade ou falsidade na linguagem Arduino: true (verdadeiro), e false (falso).

false

false é a mais simples das duas e é definida como 0 (zero).

true

true é frequentemente definida como 1, o que é correto, mas true tem uma definição mais ampla. Qualquer inteiro que não é zero é   TRUE, emum modo booleano. Assim, -1, 2 e -200 são todos definidos como true.

Note que true e false são digitadas com minúsculas diferente de  HIGH, LOW, INPUT, e OUTPUT.

Definindo níveis de pinos, HIGH e LOW

Quando estamos lendo ou escrevendo em um pino digital há apenas dois valores que um pino pode ter: HIGH (alto) e LOW (baixo).

HIGH

O significado de HIGH (em referência a um pino) pode variar um pouco dependendo se este pino é uma entrada (INPUT) ou saída (OUTPUT). Quando um pino é configurado como INPUT com pinMode, e lido com um digitalRead, o microcontrolador considera como HIGH se a voltagem for de 3 volts ou mais.

Um pino também pode ser configurado como um INPUT com o pinMode, e posteriormente receber um HIGH com um digitalWrite, isto vai "levantar" o resistor interno de 20KΩ que vai manter a leitura do pino como HIGH a não ser que ela seja alterada para low por um circuito externo.

Quando um pino é configurado como OUTPUT com o pinMode, e marcado como HIGH com o digitalWrite, ele está a 5 volts. Neste estado ele pode enviar corrente como por exemplo acender um LED que está conectado com um resistor em série ao terra, ou a outro pino configurado como OUTPUT e marcado como LOW.

LOW

O significado de LOW também pode variar dependendo do pino ser marcado como INPUT ou OUTPUT. QUando um pino é configurado como um INPUT com o pinMode, e lido com o digitalRead, o microcontrolador considera como LOW se a voltagem for de 2 volts ou menos.

Quando um pino é configurado como OUTPUT com pinMode, e marcado como LOW com o digitalWrite, ele está a 0 volts. Neste estado ele pode "drenar" corrente como por exemplo para acender um LED que está conectado com um resistor em série ao +5 volts, ou a outro pino configurado como OUTPUT e marcado como HIGH.

Definindo pinos digitais, INPUT e OUTPUT

Pinos digitais podem ser tanto de INPUT como de OUTPUT. Mudar um pino de INPUT para OUTPUT com pinMode() muda drasticamente o seu comportamento elétrico.

Pinos configurados como Inputs

Os pinos do Arduino (Atmega) configurados como INPUT com pinMode() estão em um estado de alta impedância. Um modo de explicar é que os pinos configurados como INPUT fazem demandas extremamente pequenas ao circuito do qual estão tomando amostras, algo como um resistor de 100 Megaohms em série com o pino. Sendo assim é útil para ler um sensor mas não para energizar um LED.

Pinos configurados como  outputs

Pinos configurados como OUTPUT com pinMode() estão em um estado de baixa impedância. Isto significa que eles podem fornecer grandes quantidades de corrente para outros circuitos. Os pinos do Atmega podem fornecer corrente positiva ou drenar corrente negativa até 40 mA (milliamperes) de/para outros dispositivos ou circuitos. Isto faz com que eles sejam úteis para energizar um LED mas disfuncionais para a leitura de sensores. Pinos configurados como outputs também podem ser danificados ou destruidos por curto-circuitos com o terra ou com outros pontos de 5 volts. A quantidade de corrente fornecida por um pino do Atmega também não é suficiente para ativar muitos relês e motores e, neste caso, algum circuito de interface será necessário.

Veja também

 

Página de início da referência

Correções, sugestões, e nova documentação devem ser enviadas ao Forum.

O texto de referência do Arduino está baixo uma Licença Creative Commons Attribution-ShareAlike 3.0. Amostras de código utilizadas na referência foram deixados  ao domínio público.

 

O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.

Esta obra está sob uma Licença Creative Commons.

Creative Commons License