Bom galera vamos a nossa segunda aula, neste post vamos entender como ler um sinal digital na entrada do Arduino. O programa abaixo vai ler um sinal de tensão(Volts) no pino indicado como entrada, e conforme o valor do sinal vai acender ou não um Led ligado ao pino 13 do Arduino.
Detalhando o código de leitura
// Tutorial 2 - Lendo Sinal na entrada do Arduino //Profº Bruno Orosco
// declaração do pinos
const int Pin_Botao = 2; // constante Pin_Botao valor de 2 const int Pin_Led = 13; // constante Pin_Led valor de 13 //declara variavel de leitura boolean valor_botao = 0; // variavel booleana valor_botao
void setup()
{ // habilita o pino do led como saída pinMode(Pin_Led, OUTPUT); // habilita o pino do led como saída pinMode(Pin_Botao, INPUT); } void loop(){ // lê o valor de 0V ou 5V que esta no pino 2(Pin_Botao) valor_botao = digitalRead(Pin_Botao); // o laço de decisão "if" verifica se o valor lido no pin_botão // é verdadeiro if (valor_botao == HIGH) { //se o valor for igual a 1(um) // acende Led digitalWrite(Pin_Led, HIGH); } else { // senão, ou seja, se o valor for diferente de 1(um) vem pra cá // desliga Led digitalWrite(Pin_Led, LOW); } }
Podemos utilizar qualquer pino como entrada.
* valor_botao = digitalRead(Pin_Botao);
Esta sintaxe faz a leitura do valor que esta no pino, podendo ser 0V ou 5V, e armazena esta informação na variável valor_botao
sendo 0 ou LOW quando tenho 0V na entrada e quando tenho 5V armazena 1 ou HIGH.
*if (valor_botao == HIGH)
Esta instrução representa um laço de decisão, é feito uma comparação e se for verdadeira executa as informações que estão entre colchetes. Se o valor for diferente é executado o que estiver entre colchetes da sintaxe else.
Bom Trabalho.
Bom Trabalho.