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
Daniel Lukas
Mensagens : 62
Data de inscrição : 06/03/2020
Idade : 17
Escola : Rua Aníbal Silva
https://sayajin-gamers-store.myshopify.com/

Exercício 2.5 Empty Exercício 2.5

Qui Jun 25, 2020 3:26 pm
/*
* 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 se chamará tecla
#define led 3       //pino 3 se chamará led

//DECLARAcAO DE VARIAVEIS
bool estadoLed = 0; //variavel
bool teclaPressionada = 0;//variavel
//FUNÇÕES COMPLEMENTARES


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

//PROGRAMA PRINCIPAL
void loop() {
if(digitalRead(tecla) == LOW && teclaPressionada ==0){// 0 && = 0; 0&&1=0 ; 1&&1=1;//função if
teclaPressionada = 1;//teclaPressionada ligada
estadoLed = ! estadoLed;//teclaPressionada ligada
digitalWrite(led,estadoLed);  //led irá ligar com a variavel
}
if (digitalRead(tecla) == HIGH && teclaPressionada == 1) {  //led irá ligar com a variavel
teclaPressionada = 0; //teclaPressionada apagada
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5021
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

Seg Jun 29, 2020 11:13 pm
Daniel, O programa está correto, mas os comentários não descrevem o entendimento do programa. Nota 6.0

Responda as perguntas abaixo para melhorar a nota.
1 - Assistiu a videoaula inteira ou só a parte que o programa estava pronto?

2 - Qual a função da variável teclaPressionada nesse programa?
( ) inverter o estado do led
( ) guardar o estado da tecla
( ) evitar multiplas leituras da tecla
( ) fazer o programa rodar somente quando acionada
( ) guardar o resultado da operação lógica &&
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos