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
André Luis Caetano
Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão

Exercício 2.5 Empty Exercício 2.5

Sex Jul 03, 2020 11:45 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.5
* Tema: Função IF
* Atividade: Tecla LED acende apaga
* Descrição: Quando pressionar uma tecla um led deve acender e ao pressionar novamente o LED apaga
* Hardware: Ligar uma tecla a uma das pino digital configurado como ENTRADA e um led em outro pino digital configurado como SAÍDA
* Comandos: pinMode, digitalRead, digitalWrite, PULLUP, !(operador NOT), IF, operador Lógico &&
* DICA1: Usar uma variável para guardar o estado anterior da tecla e evitar multiplas leituras
* DICA2: Usar o operador lógico && para controlar as leituras, de forma seja interpretada a tecla única vez a cada acionamento
* DICA3: Utilizar uma variável para controlar o estado do led e inverter o estado a cada ciclo de leitura da tecla.
*/

//DEFINICOES INICIAIS
#define tecla 2 //pino 2 foi denominado tecla
#define led 3 //pino 3 foi denominado led
//DECLARAcAO DE VARIAVEIS
bool estadoLed = 0; //foi declarada uma variavel do tipo bool com o nome estadoLed
bool teclaPrecionada = 0; //foi declarada uma variavel do tipo bool com o nome teclaPrecionada
//FUNÇÕES COMPLEMENTARES


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla, INPUT_PULLUP); //tecla foi configurada como entrada
pinMode(led, OUTPUT); //led foi configurado como saida
}

//PROGRAMA PRINCIPAL
void loop() {
if(digitalRead(tecla) == LOW && teclaPrecionada == 0) { //0 && 0 = 0; 0 && 1 = 0; 1 && 1 = 1
teclaPrecionada = 1; //inversao do valor de estado da tecla
estadoLed = !estadoLed; //inversao do estado do led
digitalWrite(led, estadoLed); //led vai acender de acordo com estadoLed controlado pela funçao if
}
if(digitalRead(tecla) == HIGH && teclaPrecionada == 1) {
teclaPrecionada = 0; //alteraçao do valor de estado da tecla
}
}
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

Exercício 2.5 Empty Re: Exercício 2.5

Sáb Jul 04, 2020 11:17 am
André o programa está correto, nos comentários não fiquei bem seguro sobre o entendimento, então vou dar nota 9.0 e mandar umas perguntinhas para garantir a nota máxima.

1 - Qual a função da variável teclaPrecionada nesse programa?
( ) inverter o estado do led
( ) guardar o estado da tecla
( ) evitar multiplas leituras da tecla
( ) Impedir o programa de mudar o estado do led
( ) guardar o resultado da operação lógica &&
avatar
André Luis Caetano
Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão

Exercício 2.5 Empty Re: Exercício 2.5

Sáb Jul 04, 2020 12:04 pm
(X) evitar multiplas leituras da tecla
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

Exercício 2.5 Empty Re: Exercício 2.5

Sáb Jul 04, 2020 1:58 pm
Perfeito, nota 10.0
Conteúdo patrocinado

Exercício 2.5 Empty Re: Exercício 2.5

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