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

Ir para baixo
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Resolvido 2.5 Empty Resolvido 2.5

Qui Set 09, 2021 9:17 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 led1 4 //Definiso que pino 4 vai se chmar "led1"
#define tecla 3 //Definido que pino 3 vai se chamar "tecla"

//DECLARAcAO DE VARIAVEIS
bool estado = 0; //Variavel tipo Bool estado
bool teclaPressionada = 0; // Variavel tipo Bool teclaPressionada

//FUNÇÕES COMPLEMENTARES

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1,OUTPUT); //Programado led1 como "Saída'
pinMode(tecla,INPUT_PULLUP); //Programado que tecla e INPUT_PULLUP
}
//PROGRAMA PRINCIPAL
void loop() {
if(!digitalRead(tecla) && teclaPressionada == 0){ //O valor do led vai ser verdadeira se as variaveis (bool estado)(teclaPressionada)forem verdadeiras
teclaPressionada = 1; //O valor da Variavel (teclaPressionada) vai passar a ser 1
estado = !estado; //O estado do led vai ser gravado como o inverso do estado do led
digitalWrite(led1, estado); //O valor implementado à variável estado será descrito no led
}
}
if (digitalRead(tecla) == HIGH && teclaPressionada == 1){ ;
teclaPressionada = 0; //O valor da variável ajuste passará a ser 0
}

Resolvido 2.5 Wink
BielRibas
BielRibas
Mensagens : 266
Data de inscrição : 27/02/2019
Idade : 18
Escola : Col. Lindaura

Resolvido 2.5 Empty Re: Resolvido 2.5

Qui Set 09, 2021 1:36 pm
Olá Mônica, muito bem!
Seu programa tem um erro de sintaxe, bem simples, seria bom se corrigisse. Smile
Até o momento 9.8
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Resolvido 2.5 Empty Re: Resolvido 2.5

Qui Set 09, 2021 1:54 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 led1 4 //Definiso que pino 4 vai se chmar "led1"
#define tecla 3 //Definido que pino 3 vai se chamar "tecla"

//DECLARAcAO DE VARIAVEIS
bool estado = 0; //Variavel tipo Bool estado
bool teclaPressionada = 0; // Variavel tipo Bool teclaPressionada

//FUNÇÕES COMPLEMENTARES

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1,OUTPUT); //Programado led1 como "Saída'
pinMode(tecla,INPUT_PULLUP); //Programado que tecla e INPUT_PULLUP
}
//PROGRAMA PRINCIPAL
void loop() {
if(!digitalRead(tecla) && teclaPressionada == 0){ //O valor do led vai ser verdadeira se as variaveis (bool estado)(teclaPressionada)forem verdadeiras
teclaPressionada = 1; //O valor da Variavel (teclaPressionada) vai passar a ser 1
estado = !estado; //O estado do led vai ser gravado como o inverso do estado do led
digitalWrite(led1, estado); //O valor implementado à variável estado será descrito no led
}
if (digitalRead(tecla) == HIGH && teclaPressionada == 1){
teclaPressionada = 0; //O valor da variável ajuste passará a ser 0
}
}
Refeito
alvaro 123456
alvaro 123456
Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17

Resolvido 2.5 Empty Re: Resolvido 2.5

Qui Set 09, 2021 2:01 pm
Agora sim nota 10.0
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Resolvido 2.5 Empty Re: Resolvido 2.5

Qui Set 16, 2021 12:13 am
Nota Lançada
Conteúdo patrocinado

Resolvido 2.5 Empty Re: Resolvido 2.5

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