Exercício 1.20
3 participantes
- Gigio
- Mensagens : 68
Data de inscrição : 09/03/2022
Idade : 16
Escola : Colegio Estadual Professor Lindaura Ribeiro Lucas
Exercício 1.20
Seg maio 09, 2022 3:00 pm
/*
CURSO DE ROBOTICA 2019
Exercicio: 1.20
Tema: Operadores Lógicos
Atividade: Associar um LED a duas teclas usando a função E entre as teclas e montar a tabela verdade
Descrição: O LED deverá acender somente quando pressionar as duas teclas simultaneamente (Tem como fazer isso com a função E? Ou foi erro de digitação?)
Hardware: Ligar duas teclas a dois pinos digitais configurados como ENTRADA e um led em outro pino digital configurado como SAÍDA
Comandos: pinMode, digitalRead, digitalWrite, PULLUP, !(operador NOT) operador ^ (OU EXCLUSIVO)
DICA1: A função !(not) deve ser usada antes de cada tecla porque a tecla está com resistor de pullup e ligada ao 0V, logo fica em DOWN quando pressionada
Questão1: Preencha a tabela abaixo:
TECLA1 | TECLA2 | LED (aceso ou apagado?)
depressionada | depressionada | Apagado
depressionada | pressionada | Aceso
pressionada | depressionada | Aceso
pressionada | pressionada | Apagado
*/
//DEFINICOES INICIAIS
#define LED 3 //Define o LED como pino 3,
#define TeclaCima 4 //Define a Tecla de Cima como pino 4,
#define TeclaBaixo 5 //Define a Tecla de Baixo como pino 5
//DECLARAcAO DE VARIAVEIS
byte bingus; //Variável byte chamada de bingus.
//FUNÇÕES COMPLEMENTARES
void finaldebugch1(){ //Último debug do capítulo 1.
Serial.println(bingus); //Manda a variável bingus ao monitor serial,
Serial.print("Floopa: "); //Manda a descrição da variável bingus, no caso floopa, ao monitor serial, antes do bingus ser enviado.
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicia o monitor serial,
pinMode(TeclaCima, INPUT_PULLUP); //Define a Tecla de Cima como INPUT_PULLUP,
pinMode(TeclaBaixo, INPUT_PULLUP); //Define a Tecla de Baixo como INPUT_PULLUP,
pinMode(LED, OUTPUT); //Define o LED como OUTPUT/Saída.
}
//PROGRAMA PRINCIPAL
void loop() {
finaldebugch1(); //Invoca o último debug do capítulo 1,
bingus = !digitalRead(TeclaCima) ^ !digitalRead(TeclaBaixo); //Muda a variável bingus para 1 quando apenas a Tecla de Cima ou apenas a Tecla de Baixo for pressionada,
digitalWrite(LED, bingus); //Liga o LED quando a variável bingus for equivalente a 1.
}
CURSO DE ROBOTICA 2019
Exercicio: 1.20
Tema: Operadores Lógicos
Atividade: Associar um LED a duas teclas usando a função E entre as teclas e montar a tabela verdade
Descrição: O LED deverá acender somente quando pressionar as duas teclas simultaneamente (Tem como fazer isso com a função E? Ou foi erro de digitação?)
Hardware: Ligar duas teclas a dois pinos digitais configurados como ENTRADA e um led em outro pino digital configurado como SAÍDA
Comandos: pinMode, digitalRead, digitalWrite, PULLUP, !(operador NOT) operador ^ (OU EXCLUSIVO)
DICA1: A função !(not) deve ser usada antes de cada tecla porque a tecla está com resistor de pullup e ligada ao 0V, logo fica em DOWN quando pressionada
Questão1: Preencha a tabela abaixo:
TECLA1 | TECLA2 | LED (aceso ou apagado?)
depressionada | depressionada | Apagado
depressionada | pressionada | Aceso
pressionada | depressionada | Aceso
pressionada | pressionada | Apagado
*/
//DEFINICOES INICIAIS
#define LED 3 //Define o LED como pino 3,
#define TeclaCima 4 //Define a Tecla de Cima como pino 4,
#define TeclaBaixo 5 //Define a Tecla de Baixo como pino 5
//DECLARAcAO DE VARIAVEIS
byte bingus; //Variável byte chamada de bingus.
//FUNÇÕES COMPLEMENTARES
void finaldebugch1(){ //Último debug do capítulo 1.
Serial.println(bingus); //Manda a variável bingus ao monitor serial,
Serial.print("Floopa: "); //Manda a descrição da variável bingus, no caso floopa, ao monitor serial, antes do bingus ser enviado.
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicia o monitor serial,
pinMode(TeclaCima, INPUT_PULLUP); //Define a Tecla de Cima como INPUT_PULLUP,
pinMode(TeclaBaixo, INPUT_PULLUP); //Define a Tecla de Baixo como INPUT_PULLUP,
pinMode(LED, OUTPUT); //Define o LED como OUTPUT/Saída.
}
//PROGRAMA PRINCIPAL
void loop() {
finaldebugch1(); //Invoca o último debug do capítulo 1,
bingus = !digitalRead(TeclaCima) ^ !digitalRead(TeclaBaixo); //Muda a variável bingus para 1 quando apenas a Tecla de Cima ou apenas a Tecla de Baixo for pressionada,
digitalWrite(LED, bingus); //Liga o LED quando a variável bingus for equivalente a 1.
}
- alvaro 123456
- Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17
Re: Exercício 1.20
Ter maio 31, 2022 3:00 pm
O Gigio
Tudo bem?
Nota: 10.0
Finalizou o Capitulo 1
Tudo bem?
Nota: 10.0
Finalizou o Capitulo 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|