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
Leonardo Santos
Mensagens : 22
Data de inscrição : 03/03/2020
Idade : 18

EXERCICIO 1.12 Empty EXERCICIO 1.12

Sáb Jun 27, 2020 12:27 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
*/

//DEFINICOES INICIAIS
#define ldr A0 //definindo que o pino A0 vai se chamar "ldr"
#define led 3 //definindo que o pino 3 vai se chamar "led"

//DECLARAçAO DE VARIAVEIS GLOBAIS
int brilho; // programando uma variavel do tipo int chamada "brilho"

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //programando para abrir a porta Serial
pinMode(led, OUTPUT); //programando o led como SAIDA
}

//FUNÇÕES COMPLEMENTARES
void debug () { //programando que o debug vai estar presente no programa
Serial.print("brilho = "); //programando para o texto do brilho apareça na porta Serial
Serial.println(brilho); //programando para o resultado da variavel brilho apareça na porta Serial pulando uma linha
// Serial.print("texto2");
// Serial.print(valor2);
}
//PROGRAMA PRINCIPAL
void loop() {
brilho = (234 - analogRead(ldr))/4; //programando que o valor da varialvel brilho é o valor da ldr - 234 dividido por 4
analogWrite(led, brilho); //programando que o "led" tem o valor da memoria da placa chamado "brilho" "a variavel"
debug(); //programando que o debug vai ser utilizado nesse momento
delay(300); //programando que o programa vai esperar 300 milissegundos
}
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

EXERCICIO 1.12 Empty Re: EXERCICIO 1.12

Seg Jun 29, 2020 11:49 pm
Oi Leonardo, o programa está correto, mas no calculo do brilho fiquei com uma dúvida.
Sabia que para fazer com que o brilho do led seja inversamente proporcional a luminosidade precisa deduzir o valor lido pelo sensor do valor máximo que seria atingido. E não acho que esse valor seja 234.

Gostaria de saber de onde veio esse número, que cheque se o programa funcionou plenamente. Vou dar nota 8.0 até sua confirmação desses valores.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos