- Vitor Siqueira
- Mensagens : 89
Data de inscrição : 16/04/2022
Escola : Lindaura
Exercicio 2.01 resolvido
Qua Mar 15, 2023 4:09 pm
/*
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.1
* Tema: Função IF
* Atividade: Associar um LED a uma tecla
* Descrição: Quando pressionar uma tecla um led deve acender
* 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
* 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
* DICA2: Usar a função if() e na condição testar se a tecla foi pressionada, se sim acender o led
* DICA3: Operadores Lógicos == , != , > , < , >= , <= , !
* QUESTÃO: Testar qual condição retornada nas seguintes operações, responda verdadeiro ou falso:
* 0 = falso
* 1 = verdadeiro
* 25 = verdadeiras
* 5 - 10 verdadeiro
* 13 - 13 falso
* 0 == 0 verdadeiro
* 1 != 0 verdadeiro
* (1 - 1) == 0 verdadeiro
* 5 > 10 falso
* 6 < 6 falso
* 6 >= 6 verdadeiro
* (3 + 4) < (10 - 20) falso
* !1 falso
* digitalRead(tecla1) Falso
* !digitalRead(tecla1) verdadeiro
* digitalRead(tecla1) == LOW verdadeiro
* analogRead(A0) > 250 verdadeiro
* variavel > 100 falso
* variavel == FALSE verdadeiro
*/
//DEFINICOES INICIAIS
#define tecla1 13//define pino 13 como tecla1
#define led 2//define pino 2 como led
//DECLARAcAO DE VARIAVEIS
bool aceso = 0;//variavel com valor 0
//FUNÇÕES COMPLEMENTARES
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1, INPUT_PULLUP);//configura a tecla1 como pino de entrada
pinMode(led, OUTPUT);//configura o ''led'' como pino de saida
}
//PROGRAMA PRINCIPAL
void loop() {
aceso = 0;//valor da variavel bool = 0
if(!digitalRead(tecla1)){//quando a tecla for pressionada o valor do pino saira de 0 pra 1 por conta do !NOT , como esta em pull up o pino sempre esta em valor logico alto,
aceso = 1;//quando a tecla for pressionada o valor da variavel aceso ira mudar de 0 pra 1 , acendendo o led.
delay(10);//delay de tempo
}
digitalWrite(led, aceso);//acende a tecla com base no valor da variavel
}
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.1
* Tema: Função IF
* Atividade: Associar um LED a uma tecla
* Descrição: Quando pressionar uma tecla um led deve acender
* 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
* 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
* DICA2: Usar a função if() e na condição testar se a tecla foi pressionada, se sim acender o led
* DICA3: Operadores Lógicos == , != , > , < , >= , <= , !
* QUESTÃO: Testar qual condição retornada nas seguintes operações, responda verdadeiro ou falso:
* 0 = falso
* 1 = verdadeiro
* 25 = verdadeiras
* 5 - 10 verdadeiro
* 13 - 13 falso
* 0 == 0 verdadeiro
* 1 != 0 verdadeiro
* (1 - 1) == 0 verdadeiro
* 5 > 10 falso
* 6 < 6 falso
* 6 >= 6 verdadeiro
* (3 + 4) < (10 - 20) falso
* !1 falso
* digitalRead(tecla1) Falso
* !digitalRead(tecla1) verdadeiro
* digitalRead(tecla1) == LOW verdadeiro
* analogRead(A0) > 250 verdadeiro
* variavel > 100 falso
* variavel == FALSE verdadeiro
*/
//DEFINICOES INICIAIS
#define tecla1 13//define pino 13 como tecla1
#define led 2//define pino 2 como led
//DECLARAcAO DE VARIAVEIS
bool aceso = 0;//variavel com valor 0
//FUNÇÕES COMPLEMENTARES
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla1, INPUT_PULLUP);//configura a tecla1 como pino de entrada
pinMode(led, OUTPUT);//configura o ''led'' como pino de saida
}
//PROGRAMA PRINCIPAL
void loop() {
aceso = 0;//valor da variavel bool = 0
if(!digitalRead(tecla1)){//quando a tecla for pressionada o valor do pino saira de 0 pra 1 por conta do !NOT , como esta em pull up o pino sempre esta em valor logico alto,
aceso = 1;//quando a tecla for pressionada o valor da variavel aceso ira mudar de 0 pra 1 , acendendo o led.
delay(10);//delay de tempo
}
digitalWrite(led, aceso);//acende a tecla com base no valor da variavel
}
Re: Exercicio 2.01 resolvido
Dom Abr 02, 2023 10:06 pm
Muito bom Vitor, nota 10.0
Veja um detalhe no capitulo 1, falta somente um exercício para sua condecoracao.
Veja um detalhe no capitulo 1, falta somente um exercício para sua condecoracao.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|