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

Ir para baixo
João Paulo
João Paulo
Mensagens : 60
Data de inscrição : 02/08/2023
Escola : Lindaura

EXERCÍCIO 2.04 RESOLVIDO Empty EXERCÍCIO 2.04 RESOLVIDO

Seg Nov 27, 2023 8:35 am
/*
    * CURSO DE ROBOTICA 2020
    *
    * Exercicio: 2.4
    * Tema: Função IF
    * Atividade: Acender um LED se a luminosidade for maior que o ajuste do trimpot
    * Descrição: Usar uma entrada analógica para medir a intensidade da luz e outra para comparar o valor e usar esse valor para acender um LED
    * Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR e o TRIMPOT em uma entrada analógica
    * Comandos: pinMode, analogRead, digitalWrite,delay, map, IF ELSE
    * Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
    * Dica2:Comparar se o valor do LDR ultrapassar o valor estabelecido pelo trimpot e acender o LED e se baixar apagar o LED
    */

   //DEFINICOES INICIAIS
   #define led1 3 //define que o led 1 sera ligado no pino 3
   #define LDR A0 //define que o ldr sera ligado no pino A0
   #define TRIMPOT A1 //define que o trimpot sera ligado no pino A1

   //DECLARAcAO DE VARIAVEIS GLOBAIS
   int luminosidade ;//renomiei a variavel int como luminosidade
   int estado;//renomiei a variavel int como estado

   //INICIALIZAÇÃO DO HARDWARE
   void setup() {
    Serial.begin(9600);//inicializando a porta serial
   pinMode(led1, OUTPUT);//define o led 1 como saida
   }

   //FUNÇÕES COMPLEMENTARES
    void debug(){
      Serial.print(" luminosidade = ");//vai mandar um texto luminosidade para a porta serial
      Serial.print(luminosidade);//vai mandar o texto para a porta serial
      Serial.print(" estado = ");//vai mandar um texto estado para a porta serial
      Serial.println(estado);//vai mandar o texto para a porta serial e escrever um em cada linha
    }

   //PROGRAMA PRINCIPAL

   void loop() {
     luminosidade = analogRead(LDR);//a  variavel luminosidade = a leitura analogica do valor  do ldr
     estado = analogRead(TRIMPOT);// a variavel estado = a leitura analogica do trimpot
     if(luminosidade > estado){
       digitalWrite(led1, HIGH);// se o valor da luminosidade for maior que o valor do estado o led acende
     } else {
       digitalWrite(led1, LOW);//se o valor do estado for maior que o valor do ldr o led apaga
     }
   debug;//vai chamar o debug
   }
     
     
     
   Cool Cool Cool Cool Cool Cool Cool Cool Cool Cool


Última edição por João Paulo em Sáb Abr 20, 2024 10:45 am, editado 1 vez(es)
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

EXERCÍCIO 2.04 RESOLVIDO Empty Re: EXERCÍCIO 2.04 RESOLVIDO

Sáb Abr 20, 2024 10:41 am
O programa está funcionando corretamente, porém há um erro na chamada da função debug.
Nota 9.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos