- NicolasToledo
- Mensagens : 76
Data de inscrição : 02/03/2020
Idade : 17
Exercício 1.19
Sáb Ago 08, 2020 6:35 pm
- Código:
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.19
* Tema: Operadores Lógicos
* Atividade: Associar um LED a duas teclas usando a função OU entre as teclas e montar a tabela verdade
* Descrição: O LED deverá acender quando uma ou outra tecla for pressionar
* 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)
* 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 | //Aceso
*/
//DEFINICOES INICIAIS
#define tecla1 2 //Pino 2 se chamará tecla1
#define tecla2 3 //Pino 3 se chamará tecla2
#define led 4 //Pino 4 se chamará led
//DECLARAcAO DE VARIAVEIS
bool estado = 0; //Estado equivale a 0
//FUNÇÕES COMPLEMENTARES
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1, INPUT_PULLUP); //Programado tecla1 como entrada
pinMode(tecla2, INPUT_PULLUP); //Programado tecla2 como entrada
pinMode(led, OUTPUT); //Programado led como saída
}
//PROGRAMA PRINCIPAL
void loop() {
estado = !digitalRead(tecla1) | !digitalRead(tecla2); //Variável estado equivale às duas teclas pressionadas ao mesmo tempo OU tecla1 pressionada somente, OU tecla2 pressionada somente
digitalWrite(led, estado); //Condição do estado vale para a condição do led (aceso OU apagado)
}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|