- André Luis Caetano
- Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão
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
}
* 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
}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|