- André Luis Caetano
- Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão
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
}
}
* 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
}
}
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 &&
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 &&
- André Luis Caetano
- Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão
Re: Exercício 2.5
Sáb Jul 04, 2020 12:04 pm
(X) evitar multiplas leituras da tecla
Permissões neste sub-fórum
Não podes responder a tópicos
|
|