Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
avatar
Leonardo Santos
Mensagens : 22
Data de inscrição : 03/03/2020
Idade : 18

Exercicio 1,20 Empty Exercicio 1,20

Qua Out 07, 2020 11:49 am
/*
* 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
* 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 tecla1 2 //programando que o pino 2 vai se chamar tecla1
#define tecla2 3 //programando que o pino 3 vai se chamar tecla2
#define led 4 //programando que o pino 4 vai se chamar led

//DECLARAcAO DE VARIAVEIS
bool estado = 0; //programando um variavel do tipo bool que vai se chamar estado com o valor de 0

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1,INPUT_PULLUP); //programado a tecla1 como entrada usando entrada
pinMode(tecla2,INPUT_PULLUP); //programado a tecla2 como entrada usando entrada
pinMode(led, OUTPUT); //programado o led como saída
}

//PROGRAMA PRINCIPAL
void loop() {
estado = !digitalRead(tecla1) ^ !digitalRead(tecla2); //Variável estado tem o valor equivalente à uma tecla solta e outra pressionada, ou vice-verca.
digitalWrite(led, estado); //dependendo do valor do estado o led vai estar apagado ou acesso
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos