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
André Luis Caetano
Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão

Exercício 1.12 Empty Exercício 1.12

Qui Jun 04, 2020 10:52 am
/*
* 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                         //foi definido o pino A0 como ldr
#define led 3                          //foi definido o pino 3 como led
                               
//DECLARAcAO DE VARIAVEIS GLOBAIS
int brilho;                            //foi declarada uma variavel do tipo int para alterar o brilho do led de acordo com a luminosidade
                               
//INICIALIZAÇÃO DO HARDWARE      
void setup() {                  
Serial.begin(9600);                    //a porta serial foi acionada
pinMode(led, OUTPUT);                  //foi programado led como saida
}                                
                               
//FUNÇÕES COMPLEMENTARES        
void debug () {                  
 Serial.print("brilho = ");           http://serial.print foi usado para registrar as variações de luz e a intensidade do brilho do led na porta serial
 Serial.println(brilho);              //serial.println foi usado para pular uma linha ao fazer os registros das variações de luz e o brilho do led na porta serial
}                                
                               
//PROGRAMA PRINCIPAL                
                               
void loop() {                      
 brilho = (930 - analogRead(ldr))/4;  //formula usada para fazer com que a luminosidade do ambiente chegue a 0
analogWrite(led, brilho);              //o comando foi usado para acender o led inversamente proporcional a luminosidade do ambiente
debug();                               //foi acionado o comando da porta serial
delay(200);                            //foi dada uma pausa de tempo para cada função piscar
}
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 1.12 Empty Re: Exercício 1.12

Ter Jun 09, 2020 8:30 pm
Muito bom André Nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos