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

Ir para baixo
Gabriel Novak
Gabriel Novak
Mensagens : 64
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

Exercicio 1.18 Empty Exercicio 1.18

Ter Set 06, 2022 9:19 am
/*
* 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?)//meu computador nao esta funcionando direito eu corrijo quando poder Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy
* depressionada | depressionada |apagado
* depressionada | pressionada    |apagado
* pressionada    | depressionada |apagado
* pressionada    | pressionada    |aceso
*/

//DEFINICOES INICIAIS
#define tecla1 2 //nomear pino 2 como "tecla1"
#define tecla2 3//nomear pino 3 como "tecla2"
#define led 4  //nomear pino 4 como "led"
//DECLARAcAO DE VARIAVEIS
bool estado= 0 ;//nomear estado bool como  "estado" ,estdo = 0

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1, INPUT_PULLUP);//definir tecla1 como saida
pinMode(tecla2, INPUT_PULLUP);//definir tecla2 como saida
pinMode(led, OUTPUT);//definir led como entrada

}

//PROGRAMA PRINCIPAL
void loop() {
 estado = !digitalRead(tecla1) &  !digitalRead(tecla2);//estado igual  o a tecla 1 invertida e a tecla 2
digitalWrite(led, estado);//led ligadona vareavel estado
}


Última edição por Gabriel Novak em Sáb Out 22, 2022 9:29 am, editado 4 vez(es)
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

Sex Set 09, 2022 1:09 am
Gabriel, o programa não tem erros, mas também não está acabado.
- Tem as questões do enunciado que não respondeu
- Tem os comandos que não estão comentados
Nota 5.0

_________________
Paulo Augusto Batista
Tecnologia a Favor do Ensino, Educação para nossas crianças, Evolução para Nossa Sociedade
Exercicio 1.18 Evoluc10
Gabriel Novak
Gabriel Novak
Mensagens : 64
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

Exercicio 1.18 Empty Re: Exercicio 1.18

Sáb Out 22, 2022 11:17 am
/*
* 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
* depressionada | pressionada    |apagado
* pressionada    | depressionada |apagado
* pressionada    | pressionada    |aceso
*/

//DEFINICOES INICIAIS
#define tecla1 2 //nomear pino 2 como "tecla1"
#define tecla2 3//nomear pino 3 como "tecla2"
#define led 4  //nomear pino 4 como "led"
//DECLARAcAO DE VARIAVEIS
bool estado= 0 ;//nomear estado bool como  "estado" ,estdo = 0

//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1, INPUT_PULLUP);//definir tecla1 como saida
pinMode(tecla2, INPUT_PULLUP);//definir tecla2 como saida
pinMode(led, OUTPUT);//definir led como entrada

}

//PROGRAMA PRINCIPAL
void loop() {
estado = !digitalRead(tecla1) &  !digitalRead(tecla2);//estado igual  o a tecla 1 invertida e a tecla 2
digitalWrite(led, estado);//led ligadona vareavel estado
}
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 Nov 02, 2022 10:23 am
Oi Gabriel, A tabela verdade está correta o programa sem erros, e o comentário esquisito, mas correto, lrmbra que precisa ser invertido por causa do resistor de pullup que deixa ela sempre em verdadeiro e falso quando aperta. Como queremos o resultado verdadeiro quando aperta a tecla, precisa inverter o sinal. Nota 10.0
Conteúdo patrocinado

Exercicio 1.18 Empty Re: Exercicio 1.18

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