O que são entradas digitais? Cada pino do Arduino pode ter diversas funções. Na aula passada vimos como é possível configurar um pino para saída e controlar seu estado lógico em 1 (5v) e 0 (gnd). Porém, os pinos digitais também podem ser setados como entrada. Nesse modo, facilmente configurável, é possível ler o estado lógico de um pino. Tal estado será determinado pela tensão presente no pino. Uma tensão maior que 2.5V eleva o pino para estado lógico alto 1. Já, uma tensão menor que 2.5V leva o pino a estado lógico baixo 0. Na realidade, o limiar não é tão bem definido por uma tensão específica e muda de CI para CI. Um pouco de histerese também poderá estar presente. Para um melhor entendimento aconselho a leitura de um datasheet, no caso do Arduino Mega o microcontrolador é o Atmega1280 ou Atmega2560. Configurando o pino para entrada: Configurar o pino para entrada é uma tarefa muito simples. Utilizaremos a mesma função que usamos para setar como saída, porém com um argumento diferente. Você provavelmente fará essa parte no setup. pinMode(pino,INPUT); Onde "pino" será o pino escolhido. Exemplo: pinMode(10,INPUT); pinMode(12,INPUT); Lendo o estado de um pino: Para ler uma entrada digital também usaremos uma função já disposta na biblioteca padrão do Arduino, que é de fácil manuseio. A função retorna o estado lógico do pino, que pode ser LOW ou HIGH, dependendo da tensão presente na entrada. digitalRead(pino); Onde "pino" é o pino que queremos ler, veja exemplos a seguir. É imprescindível, antes de utilizar tal função, setar o pino como entrada com pinMode(...) como já foi visto. char var = digitalRead(13); var; Para ler o estado do pino 13 e salvar em uma variável. Ou: if (digitalRead(6) == LOW) { //executa ação } Para executar determinada ação quando o pino 6 estiver em nível lógico baixo. Essa aula foi um oferecimento da CISTEK, líder em instrumentos de medição para engenharia e eletrônica.