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
Renata Pinheiro B
Mensagens : 54
Data de inscrição : 31/07/2021
Idade : 16
Escola : Lindaura Ribeiro Lucas

Exercício 2.4 resolvido Empty Exercício 2.4 resolvido

Seg maio 09, 2022 2:15 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.4
* Tema: Função IF
* Atividade: Acender um LED se a luminosidade for maior que o ajuste do trimpot
* Descrição: Usar uma entrada analógica para medir a intensidade da luz e outra para comparar o valor e usar esse valor para acender um LED
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR e o TRIMPOT em uma entrada analógica
* Comandos: pinMode, analogRead, digitalWrite,delay, map, IF ELSE
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2:Comparar se o valor do LDR ultrapassar o valor estabelecido pelo trimpot e acender o LED e se baixar apagar o LED
*/

//DEFINICOES INICIAIS
#define led1 3//define que o pino 3 vai se chamar led1
#define LDR A0//define que o pino A0 vai se chamar LDR
#define TRIMPOT A1//define que o pino A1 vai se chamar TRIMPOT

//DECLARAcAO DE VARIAVEIS GLOBAIS
int luminosidade;//variável int definida como luminosidade
int ajuste;//variável int definida como ajuste

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//velocidade do monitor serial
pinMode(led1,OUTPUT);//define o led1 como saída
}

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("luminosidade = ");//imprimi no monitor serial a frase "luminosidade = "
Serial.println(luminosidade);//imprimi no monitor serial o valor da da variável luminosidade
Serial.print("Ajuste = ");//imprimi no monitor serial a frase "TRIMPOT = "
Serial.println(ajuste);//imprimi no monitor serial o valor da da variável ajuste  
}

//PROGRAMA PRINCIPALi
void loop() {
luminosidade = map(analogRead(LDR),5,595,0,1023);//o valor da variável luminosidade será igual aos valore 5,595,0,1023, calibrando a luminosidade
ajuste = analogRead(TRIMPOT);//o valor da variável ajuste será igual ao valor da leitura do TRIMPOT
debug();//vai chamar a função debug
if(luminosidade > ajuste){//se a luminosidade for maior que o valor da variável ajuste acende o led
digitalWrite(led1, HIGH);//liga o led1
} else {//se a luminosidade for menor que o valor da variável ajuste apaga o led
digitalWrite(led1, LOW);//desliga o led1
}
delay(100);//pausa de 100ms
}


Última edição por Renata Pinheiro B em Seg Set 19, 2022 1:58 pm, editado 1 vez(es)
alvaro 123456
alvaro 123456
Mensagens : 481
Data de inscrição : 27/04/2019
Idade : 18

Exercício 2.4 resolvido Empty Re: Exercício 2.4 resolvido

Ter maio 31, 2022 2:22 pm
Renata Pinheiro B escreveu:/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.4
* Tema: Função IF
* Atividade: Acender um LED se a luminosidade for maior que o ajuste do trimpot
* Descrição: Usar uma entrada analógica para medir a intensidade da luz e outra para comparar o valor e usar esse valor para acender um LED
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR e o TRIMPOT em uma entrada analógica
* Comandos: pinMode, analogRead, digitalWrite,delay, map, IF ELSE
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2:Comparar se o valor do LDR ultrapassar o valor estabelecido pelo trimpot e acender o LED e se baixar apagar o LED
*/

//DEFINICOES INICIAIS
#define led1 3//define que o pino 3 vai se chamar led1
#define LDR A0//define que o pino A0 vai se chamar LDR
#define TRIMPOT A1//define que o pino A1 vai se chamar TRIMPOT

//DECLARAcAO DE VARIAVEIS GLOBAIS
int luminosidade;//variável int definida como luminosidade
int ajuste;//variável int definida como ajuste

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//velocidade do monitor serial
pinMode(led1,OUTPUT);//define o led1 como saída
}

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("luminosidade = ");//imprimi no monitor serial a frase "luminosidade = "
Serial.println(luminosidade);//imprimi no monitor serial o valor da da variável luminosidade
Serial.print("Ajuste = ");//imprimi no monitor serial a frase "TRIMPOT = "
Serial.println(ajuste);//imprimi no monitor serial o valor da da variável ajuste  
}

//PROGRAMA PRINCIPALi
void loop() {
luminosidade = map(analogRead(LDR),5,595,0,1023);//o valor da variável luminosidade será igual aos valore 5,595,0,1023, calibrando a luminosidade
ajuste = analogRead(TRIMPOT);//o valor da variável ajuste será igual ao valor da leitura do TRIMPOT
debug();//vai chamar a função debug
if(luminosidade > ajuste){//se a luminosidade for maior que o valor da variável ajuste acende o led
digitalWrite(led1, HIGH);//liga o led1
} else {//se a luminosidade for menor que o valor da variável ajuste apaga o led
digitalWrite(led1, LOW);//desliga o led1
}
delay(100);//pausa de 100ms
}
Fiz uma alteração
Nota: 10.0
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 2.4 resolvido Empty Re: Exercício 2.4 resolvido

Qui Jul 28, 2022 11:34 pm
Nota lançada
Conteúdo patrocinado

Exercício 2.4 resolvido Empty Re: Exercício 2.4 resolvido

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos