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,18 Empty Exercicio 1,18

Dom Set 20, 2020 12:25 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.18
* 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 & (E)
* 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 F
* depressionada | pressionada | //Apagado F
* pressionada | depressionada | //Apagado F
* pressionada | pressionada | //Aceso V
*/

//DEFINICOES INICIAIS
#define tecla1 2 //Definido que o pino 2 será chamado de tecla1
#define tecla2 3 //Definido que o pino 3 será chamado de tecla2
#define led 4 //Definido que o pino 4 será chamado led

//DECLARAcAO DE VARIAVEIS
bool estado = 0; //Variável estado tem o valor de 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 saida
}

//PROGRAMA PRINCIPAL
void loop() {
estado = !digitalRead(tecla1) & !digitalRead(tecla2); //variável estado igual tecla1 e tecla2 apertados ao mesmo tempo
digitalWrite(led, estado); //led liga quando variavel estado estiver sendo usado

}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercicio 1,18 Empty Re: Exercicio 1,18

Qua Set 23, 2020 9:54 pm
Muito bom Leonardo, nota 10.0.
Agora tem um comentário que está estranho. veja abaixo.
digitalWrite(led, estado); //led liga quando variavel estado estiver sendo usado

Na verdade a variável sempre vai estar sendo usada, só que as vezes vai estar com valor 0 e outra com valor 1. O valor vai depender da combinação da tecla e o valor também vai influenciar se o led estará aceso ou apagado.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos