Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

4. Entradas digitais do Arduino
	
Neste capítulo iremos estudar sobre as principais características do pinos configurados como entradas digitais do Hardware do Arduino UNO R3. 
4.1 Entradas digitais
Como visto no capítulo 1, a Placa Arduino possui pinos de entrada e saídas digitais, assim como pinos de entradas e saídas analógicas. A figura 1 apresenta a pinagem conhecida como o padrão Arduino.
Figura 1 – Os portes de I/O da Placa Arduino UNO R3
Para entendermos como tratar um pino como entrada digital, nada mehor do que realizar uma aplicação. Para isso, vamos reconhecer o hardware a ser programado, apresentado na figura 2.
Figura 2 – Esquemático de aplicação de portes de entrada digital.
No circuito apresentado o LED está conectado ao porte 13 configurado como saída, e o botão ao porte 7, configurado como entrada digital. O resistor em série ao LED é de 330 e em série com o push-button, 1 k ou 10 k.
4.1.1 Programação Básica de Entrada Digital no Arduino UNO R3
Exemplo 1:
int ledPin = 13; // LED conectado ao pino 13
int inPin = 7; // bush-button conectado ao pino 7
int val = 0; // variável que lê os valores da entrada
void setup()
{
 pinMode(ledPin, OUTPUT); // seta o pino 13 como saída
 pinMode(inPin, INPUT); // seta o pino 7 como entrada
}
void loop()
{
 val = !digitalRead(inPin); //lê o pino de entrada invertido
 digitalWrite(ledPin, val); // escreve na saída o valor da entrada
}
No programa apresentado, o LED, conectado ao porte 13 assumirá o estado contrário do pino 7, configurado como entrada digital, sendo que neste há um push-button (botão de pressão) que ao ser pressionado, envia o valor “0” a entrada e no seu estado inicial (sem ser pressionado) envia o valor “1”.
Exemplo 2:
const int ledPin = 13; //constante com o numero do pino LED
const int inputPin = 7; //constante com o numero do pino BOTÃO
 
void setup()
{
 pinMode(ledPin, OUTPUT); //declara o pino 13 como saída
 pinMode(inputPin, INPUT); //declara o pino 7 como entrada
}
 
void loop()
{
 int val = digitalRead(inputPin); //lê o valor na entrada
 if (val == LOW) // se valor está em zero(tecla pressionada)
 {
 digitalWrite(ledPin, HIGH); //Liga LED tecla pressionada
 }
 else
 {
 digitalWrite(ledPin, LOW); //Desliga LED tecla solta
 }
}
O exemplo 2 atende ao mesmo propósito do exemplo 1.
4.1.2 Programação de Entrada Digital no Arduino UNO R3 (Lógica E)
No próximo circuito de teste, o LED está conectado ao porte 13 configurado como saída, e os botões aos portes 7 e 8, configurados como entrada digital. O resistor em série ao LED é de 330 e em série com os push-buttons, 1 k ou 10 k, conforme apresentado na figura 3.
Figura 3 – Esquemático de aplicação de portes de entrada digital.
Exemplo 3:
int ledPin = 13; //LED conectado ao pino 13
int inPin7 = 7; //bush-button conectado ao pino 7
int inPin8 = 8; //bush-button conectado ao pino 8
int val = 0; // variável que lê os valores da entrada
void setup()
{
 pinMode(ledPin, OUTPUT); //seta o pino 13 como saída
 pinMode(inPin7, INPUT); //seta o pino 7 como entrada
 pinMode(inPin8, INPUT); //seta o pino 8 como entrada
}
void loop()
{
/* aplica a lógica E nas duas entradas (somente quando os dois botões forem pressionados)*/
 while(!digitalRead(inPin7)&&!digitalRead(inPin8)) 
 {
 digitalWrite(ledPin,HIGH); //saída em nível alto
 } 
 digitalWrite(ledPin,LOW); //saída em nível baixo
}
No programa apresentado, o LED, conectado ao porte 13 assumirá o estado lógico alto, somente quando os botões conectados aos portes 7 e 8 forem pressionados, aplicando-se assim a lógica E nas duas entradas.
4.1.3 Programação de Entrada Digital no Arduino UNO R3 (Lógica OU)
Exemplo 4:
int ledPin = 13; //LED conectado ao pino 13
int inPin7 = 7; //bush-button conectado ao pino 7
int inPin8 = 8; //bush-button conectado ao pino 8
int val = 0; // variável que lê os valores da entrada
void setup()
{
 pinMode(ledPin, OUTPUT); //seta o pino 13 como saída
 pinMode(inPin7, INPUT); //seta o pino 7 como entrada
 pinMode(inPin8, INPUT); //seta o pino 8 como entrada
}
void loop()
{
/* aplica a lógica OU nas duas entradas (quando no mínimo um dos botões for pressionado, o LED acende)*/
 while(!digitalRead(inPin7)||!digitalRead(inPin8)) 
 {
 digitalWrite(ledPin,HIGH); //saída em nível alto
 } 
 digitalWrite(ledPin,LOW); //saída em nível baixo
}
No programa apresentado, o LED, conectado ao porte 13 assumirá o estado lógico alto, quando um dos botões conectados aos portes 7 ou 8 for pressionado, aplicando-se assim a lógica OU nas duas entradas.
Agora é a hora de você testar seus conhecimentos! Primeiramente, teste os programas apresentados, e logo após, você deverá programar o Arduino para fazer com que uma variável seja incrementada (x++), a cada 500 ms, enquanto um botão, conectado ao porte 10, estiver pressionado, com limite de 9 incrementos. A mesma variável deverá ser decrementada (x--) enquanto um botão, conectado ao porte 9, estiver pressionado, devendo parar de decrementar quando a variável chegar a 0. Esta variável deverá ser apresentada num LCD.

Mais conteúdos dessa disciplina