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.1 Empty Exercício 2.1

Seg Jun 15, 2020 11:40 am
/*
* 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 = verdadeiro
* 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) = verdadeiro
* !1 = falso
* digitalRead(tecla1)= verdadeiro
* !digitalRead(tecla1)= falso
* digitalRead(tecla1) == LOW = falso
* analogRead(A0) > 250 = verdadeiro
* variavel > 100 = verdadeiro
* variavel == FALSE = verdadeiro
*/

//DEFINICOES INICIAIS
#define tecla 13 //foi definido pino 13 como tecla
#define led 2 //foi definido pino 2 como led

//DECLARAcAO DE VARIAVEIS
bool aceso = 0; //foi declarada uma variavel do tipo bool com o nome aceso

//FUNÇÕES COMPLEMENTARES


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

//PROGRAMA PRINCIPAL
void loop() {
aceso = 0; //o led fica apagado, e acende quando a tecla for precionada
if (!digitalRead(tecla)){ //a condiçao deve retornar verdadeira quando a tecla for precionada
aceso = 1; //se a tecla for precionada dando como verdadeiro o led acende
delay(10); //uma pausa para acender o led quando a tecla for precionada
}
digitalWrite(led, aceso); //se if for verdadiro o led acende
}
//By André Luis Caetano
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.1 Empty Re: Exercício 2.1

Sáb Jun 20, 2020 12:12 am
Andre, está correto e vou dar nota 10.0 no exercício.
Uma correção com relação aos verdadeiros e falso,
(3 + 4) < (10 - 20) = verdadeiro // isso equivale a 7 < -10 e essa comparação retorna falso;
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos