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

Ir para baixo
Gigio
Gigio
Mensagens : 68
Data de inscrição : 09/03/2022
Idade : 16
Escola : Colegio Estadual Professor Lindaura Ribeiro Lucas

Exercício 2.4 Empty Exercício 2.4

Qua maio 11, 2022 4:19 pm
/*
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 //Define o LED como pino 3,
#define Trimpot A1 //Define o Trimpot como pino Analógico 1.

//DECLARAcAO DE VARIAVEIS GLOBAIS
int giradinha; //Variável da giradinha do Trimpot.

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicia o monitor serial,
pinMode(LED, OUTPUT); //Define o LED como saída.
}

//FUNÇÕES COMPLEMENTARES
void debug() { //Função para debug.
Serial.println(giradinha); //Manda a variável giradinha ao Monitor Serial,
Serial.print("Trimpot :"); //Descreve a variável giradinha antes de mandar ao Monitor Serial.
}

//PROGRAMA PRINCIPAL

void loop() {
giradinha = map(analogRead(Trimpot), 0, 1023, 1, 255); //Calibra o Trimpot usando a variável giradinha e a função MAP (min 0 max 1023 = min 1 max 255),

if (giradinha >= 200) { //Se a variável giradinha (o Trimpot) for equivalente ou maior a 200, então:
digitalWrite(LED, HIGH); //Liga o LED.
}
else { //Se não, então:
digitalWrite(LED, LOW); //Desliga o LED.
}
debug(); //Invoca a função debug().
}
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.4 Empty Re: Exercício 2.4

Ter Jul 26, 2022 1:33 am
Giovanni, esse programa precisa de uma revisão, pois ele deveria funcionar como se pudesse ajustar pelo trimpot o valor de luminosidade que vai acender o led.
Para isso deveria fazer a leitura do trimpot, que vai de 0 a 1023. Depois fazer a leitura do LDR e ajustar a escala usando o map() entre 0 e 1023.
Depois deve comparar um valor com o outro para decidir se acende o led ou não.
Nota 5.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos