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
Diogo Penha Marques
Mensagens : 44
Data de inscrição : 29/02/2024
Idade : 13
Escola : Colégio Estadual da Colônia Murici

Diogo Saraiva Exercício 2.5 Empty Diogo Saraiva Exercício 2.5

Sáb maio 04, 2024 11:14 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 led 2//Nomeia o pino 2 de led
#define tecla 3//Nomeia o pino 3 de tecla

  //DECLARAcAO DE VARIAVEIS
   bool estado = 0;//variável bool que guarda o estado do led

  //FUNÇÕES COMPLEMENTARES


  //INICIALIZAÇÃO DO HARDWARE
  void setup() {
   pinMode(led, OUTPUT);//Define led como saída
   pinMode(tecla, INPUT_PULLUP);//Define tecla como entrada pressionável
  }
 
  //PROGRAMA PRINCIPAL
  void loop() {
if(digitalRead(tecla) == LOW && estado == 0)//Se tecla está apertada, Verifique::
{
digitalWrite(led, HIGH);
estado = 1;
}
if(digitalRead(tecla) == LOW  && estado == 1)
{
digitalWrite(led, LOW);
estado = 0;
}
  }
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos