Exercício 2.3
2 participantes
- Gigio
- Mensagens : 68
Data de inscrição : 09/03/2022
Idade : 16
Escola : Colegio Estadual Professor Lindaura Ribeiro Lucas
Exercício 2.3
Qua maio 11, 2022 3:45 pm
/*
CURSO DE ROBOTICA 2020
Exercicio: 2.3
Tema: Função IF / ELSE
Atividade: Acender um LED se a luminosidade for muito elevada
Descrição: Usar uma entrada analógica para medir a intensidade da luz e usar esse valor para acender um LED
Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR em uma entrada analógica
Comandos: pinMode, analogRead, digitalWrite,delay, map, IF
Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
Dica2:Usar a função if() para comparar se o valor do LDR ultrapassar determinado valor acender o LED e se baixar o valor apagar o LED
*/
//DEFINICOES INICIAIS
#define LED 3 //Define o LED como pino 3,
#define LDR A1 //Define o LDR como pino Analógico 1.
//DECLARAcAO DE VARIAVEIS GLOBAIS
int cha; //Variável chamada de cha.
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicia o monitor serial,
pinMode(LED, OUTPUT); //Define o LED como OUTPUT.
}
//FUNÇÕES COMPLEMENTARES
void debug() {
Serial.print("Luminosidade: "); //Descreve a variável cha antes de mandá-la ao Monitor Serial.
Serial.println(cha); //Manda a variável cha ao Monitor Serial.
}
//PROGRAMA PRINCIPAL
void loop() {
cha = map(analogRead(LDR), 0, 485, 1, 1023); //Calibra o leitor de luminosidade usando a variável cha (0 min 485 max = 1 min 1023 max);
if (cha > 450) { //Se cha for maior que 450, então:
digitalWrite(LED, HIGH); //Liga o LED.
}
if (cha < 450) { //Se cha for menor que 450, então:
digitalWrite(LED, LOW); //Desliga o LED.
}
debug(); //Invoca a função debug();
}
CURSO DE ROBOTICA 2020
Exercicio: 2.3
Tema: Função IF / ELSE
Atividade: Acender um LED se a luminosidade for muito elevada
Descrição: Usar uma entrada analógica para medir a intensidade da luz e usar esse valor para acender um LED
Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR em uma entrada analógica
Comandos: pinMode, analogRead, digitalWrite,delay, map, IF
Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
Dica2:Usar a função if() para comparar se o valor do LDR ultrapassar determinado valor acender o LED e se baixar o valor apagar o LED
*/
//DEFINICOES INICIAIS
#define LED 3 //Define o LED como pino 3,
#define LDR A1 //Define o LDR como pino Analógico 1.
//DECLARAcAO DE VARIAVEIS GLOBAIS
int cha; //Variável chamada de cha.
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicia o monitor serial,
pinMode(LED, OUTPUT); //Define o LED como OUTPUT.
}
//FUNÇÕES COMPLEMENTARES
void debug() {
Serial.print("Luminosidade: "); //Descreve a variável cha antes de mandá-la ao Monitor Serial.
Serial.println(cha); //Manda a variável cha ao Monitor Serial.
}
//PROGRAMA PRINCIPAL
void loop() {
cha = map(analogRead(LDR), 0, 485, 1, 1023); //Calibra o leitor de luminosidade usando a variável cha (0 min 485 max = 1 min 1023 max);
if (cha > 450) { //Se cha for maior que 450, então:
digitalWrite(LED, HIGH); //Liga o LED.
}
if (cha < 450) { //Se cha for menor que 450, então:
digitalWrite(LED, LOW); //Desliga o LED.
}
debug(); //Invoca a função debug();
}
Re: Exercício 2.3
Ter Jul 26, 2022 1:25 am
Giovanni, seu programa funcionou e vai nota 10.0.
Mas se fosse tratar de otimiozação, veja que usou a função map(), não está errado, mas também não precisaria dela. Poderia comparar os valores diretamente dos valores do LDR.
Mas se fosse tratar de otimiozação, veja que usou a função map(), não está errado, mas também não precisaria dela. Poderia comparar os valores diretamente dos valores do LDR.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|