Entradas e Saídas Digitais
Last updated
Last updated
Na Franzininho temos 6 pinos que podem ser usados como entradas ou saídas digitais( P0 a P5), conforme pinout:
Verificar limitações de uso dos pinos
Os pinos do ATtiny85 podem ser configurados como entradas ou saídas, além de outras funções. Para configuração como entrada ou saída digital vamos usar a seguinte função:
pinMode()
Configura um pino específico para ser entrada ou saída digital.
pinMode(pino, modo);
pino: corresponde ao pino que você irá usar, no caso da Franzininho podemos usar pinos de 0 a 5.
modo: deve-se colocar o modo no qual se deseja configurar o pino:
INPUT = Entrada: Esse pino receberá sinais vindos de um circuito externo
OUTPUT = Saída: Esse pino enviará sinais para ativar um circuito externo
INPUT_PULLUP = Entrada digital com resistor de pull-up (ligado ao VCC) interno habilitado
Vamos configurar o pino P0 para leitura de uma tecla, portanto será uma entrada digital. Também vamos configurar o pino P1 para acionamento do LED, ou seja, uma saída digital:
Geralmente as configurações são realizadas dentro da função setup(). Na função loop são realizadas as tarefas durante o funcionamento da placa, como veremos mais à frente.
Os pinos digitais configurados como saídas digitais podem assumir dois valores, conforme a escrita no código. Os valores podem ser HIGH ou LOW, que se traduzem em 5V ou 0V no pino da Franzininho. Para escrita digital vamos usar a seguinte função:
digitalWrite()
Coloca um nível lógico alto (HIGH, 5V) ou baixo (LOW, 0V) em um pino configurado como saída digital.
digitalWrite(pino, valor)
pino: Número correspondente ao pino.
valor: HIGH ou LOW.
Inverte o estado do LED (P1) em intervalos de 1 segundo:
A função delay(ms) espera um tempo em milissegundos. No caso do exemplo acima, 1000 ms = 1 segundo;
Um pino digital pode assumir dois valores, HIGH e LOW, conforme o nível de tensão presente no mesmo: 5V ou 0V. Podemos usar o pino configurado como entrada digital para ler estados de sensores, que por sua vez representam estados de situações, por exemplo:
botão solto ou pressionado;
porta aberta ou fechada
presença de objeto ou não presença de objeto
Para leitura de uma entrada digital usamos a seguinte função:
digitalRead()
Lê o valor presente em um pino digital. Este valor pode ser HIGH ou LOW.
digitalRead(pino);
pino: número do pino que se deseja ler.
HIGH ou LOW.
Vamos ler o estado da tecla ligada ao pino P2 e acionar o LED ligado a pino P1 conforme o seu estado: