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
FranciscoAlflen
Mensagens : 37
Data de inscrição : 29/07/2023
Escola : Lindaura Ribeiro Lucas

exercicio 1.20 Empty exercicio 1.20

Ter Nov 28, 2023 8:45 am
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 1.20
* Tema: Operadores Lógicos
* Atividade: Associar um LED a duas teclas usando a função OU EXCLUSIVO 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 |
* depressionada | pressionada |
* pressionada | depressionada |
* pressionada | pressionada |
*/

//DEFINICOES INICIAIS
#define tecla1 2 //tecla nomeada como 2
#define tecla2 3 //tecla nomeada como 3
#define led1 4//led nomeado como 4

//DECLARAcAO DE VARIAVEIS
bool estado = 0; //variavel escolhida

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1, INPUT_PULLUP); //tecla definida como entrada
pinMode(tecla2, INPUT_PULLUP); //tecla definida como entrada
pinMode(led1, OUTPUT); //led definido como saida
}

//PROGRAMA PRINCIPAL
void loop() {
estado = !digitalRead(tecla1) ^ !digitalRead(tecla2); //vai fazer a leitura com a negaçao
digitalWrite(led1, estado);//define o valor do led na variavel estado

}
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

exercicio 1.20 Empty Re: exercicio 1.20

Sáb Abr 20, 2024 11:05 am
O programa está com erro de lógica. Favor corrigir.

Dica: um XOR ou OU exclusivo, possui a seguinte tabela verdade:

Sejam as teclas 1 e 2:

Se ambas as teclas estiverem pressionadas, o led fica apagado
Se a tecla 1 estiver pressionada e a 2 não estiver pressionada, o led fica aceso
Se a tecla 1 não estiver pressionada e a 2 estiver pressionada, o led fica aceso
Se ambas as teclas não estiverem pressionadas, o led fica apagado
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos