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

Ir para baixo
brunodavidsteiner
brunodavidsteiner
Mensagens : 96
Data de inscrição : 21/05/2022
Escola : Juscelino K. de Oliveira

exercicio 2.4 Empty exercicio 2.4

Sáb maio 27, 2023 11:00 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 led 3//programa o led no pino 3
#define ldr A0//programa o ldr mo pino A0
#define TRIMPOT A1//programa o TRIMPOT no A1

//DECLARAcAO DE VARIAVEIS GLOBAIS
int Luminosidade;//variaver tipo int para controlar a luminosidade
int ajuste;//variavel int para ajuste

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//inicia a porta cerial no valor de 9600
pinMode(led, OUTPUT);//programa o led como saida
}

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("Luminosidade = ");//luminosidade = e da um espaço
Serial.print(Luminosidade);//valos da luminosidade
Serial.print(" TRIMPOT = ");//espaço TRIMPOT = espaço
Serial.println(ajuste);//variavel int ajuste e pula uma linha
}
//PROGRAMA PRINCIPAL
void loop() {
Luminosidade = analogRead(ldr);// luminosidade e igual ao analogRead ldr
ajuste = analogRead(TRIMPOT);
debug();
Serial.println(Luminosidade);//imprime o que esta escrito na variavel e depois pula uma linha
delay(200);//pausa de tempo pausa de tempoi de 200 milisegundos
if (Luminosidade > 725) {//programa da funçao if
digitalWrite(led, HIGH);//acende o led
} else {//caso nao for apaga o led
digitalWrite(led, LOW);//apaga o led
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5785
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 2.4 Empty Re: exercicio 2.4

Qua maio 31, 2023 12:15 am
Oi Bruno, esse programa parece que funcionou, mas tem um detalhe que compromete a precisão.
Como não usou o map() para ajustar as escalas, tem valores que variam numa faixa de maximo e minimo e outra variável variando em outra faixa, então vai ter alguns valores que não vai conseguiur ajustar. Nota 8.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos