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

Ir para baixo
joao bruczkovski
joao bruczkovski
Mensagens : 46
Data de inscrição : 27/06/2022
Idade : 15
Escola : Colegio Estadual Prof Lindaura Ribeiro Lucas

exercicio 1.20 Empty exercicio 1.20

Sáb Nov 05, 2022 11:25 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 |aceso
* depressionada | pressionada |aceso
* pressionada | depressionada |apagado
* pressionada | pressionada |apagado
*/

//DEFINICOES INICIAIS
#define led1 3
#define tecla1 4
#define tecla 5

//DECLARAcAO DE VARIAVEIS
bool estado=0;//define a variavel bool com o nome esta

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
// put your setup code here, to run once:
pinMode(tecla1,INPUT_PULLUP); //programado a tecla1 como entrada e usando resistor de pull up
pinMode(tecla2,INPUT_PULLUP); //programado a tecla2 como entrada e usando resistor de pull up
pinMode(led, OUTPUT);//programado o led como saida
}

//PROGRAMA PRINCIPAL
void loop() {
estado=digitalWrite(led, (!digitalRead(tecla1) ^ (!digitalRead(tecla2))));//usa a função ^ para o estado da tecla1, e tecla2
digitalWrite(led1,estado);//acende quando a pressionarmos a tecla1 e 2
}

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

exercicio 1.20 Empty Re: exercicio 1.20

Qui Mar 02, 2023 10:26 pm
Oi João, precisa corrigitr uns detalhes.
1 - Nome definido está diferente dos utilizados no programa
2 - estado=digitalWrite(led, (!digitalRead(tecla1) ^ (!digitalRead(tecla2))));//usa a função ^ para o estado da tecla1, e tecla2 // Nessa linha precisa separar as intenções.
2.1 - primeiro faz as leituras e guarda na variável , pode até usar os operadores
2.2 - Depois escreve a variável no atuador

Nota 5.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos