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

Ir para baixo
RafaelMello281
RafaelMello281
Mensagens : 28
Data de inscrição : 03/03/2022
Escola : Colégio Lindaura Ribeiro Lucas

Exercício 1.12 Empty Exercício 1.12

Ter maio 24, 2022 4:01 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.12
* Tema: Pinos Analógicos
* Atividade: Fazer o led alternar o brilho conforme a variação de luminosidade
* Descrição: Usar um pino analógico para controlar o brilho do led e uma entrada analógica para medir a luminosidade
* Hardware: Ligar um led em um pino digital configurado como SAÍDA ANALÓGICA e o LDR em uma entrada analógica
* Comandos: pinMode, analogRead, analogWrite,
* Dica1:A saída analógica aceita valores entre 0 e 255, e o conversor analógico possui 10 bits ou seja até 1024
* Dica2:Usar a função debug() para checar os valores maximos e minimos do LDR
* Dica3:Checar os valores de entrada maximo e minimo, lembrando que nesse circuito não é possível atingir o zero nem o valor máximo.
* Dica4:Converter a escala do LDR usando regra de 3,
* Dica5:Escrever o valor lido do LDR no led, tente também fazer o brilho inversamente proporcional a Luminosidade
*/

#define led 3 //definido que o pino 3 se chama led
#define LDR A0 //definido que o pino analógico vai ser LDR

//DECLARAcAO DE VARIAVEIS GLOBAIS
int variavel;


//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//inicializa a porta
pinMode(led,OUTPUT);//led definido com saída
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
variavel = analogRead(LDR);//leitura do Trimpot
variavel = map(variavel, 0, 1024, 0, 255);//calibra o valor do LDR com o valor do led
analogWrite(led, variavel);//led de acordo com a variável
Serial.println(variavel);//imprime o valor
delay(200);//tempo 200 ms
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 1.12 Empty Re: Exercício 1.12

Ter Jul 26, 2022 11:20 pm
Oi Rafael, o programa está com correto porem os valores usados não estão.
No programa do Trimpot ele varia o valor de 0 a 1023, porém o LDR não tem a mesma característica, tem resitores de polarização que tornam essa faixa menos abrangente.
Então precisa fazer a calibração para achar os valore máximos e minimos daí colocar na função map() .
Nota 8.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos