Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

Exercício 2.23 Luxímetro com Ajuste Empty Exercício 2.23 Luxímetro com Ajuste

Qua Set 02, 2020 7:02 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.23
* Tema: Função WHILE
* Atividade: Construir um luximetro, para aferir ambiente de trabalho conforme NBR ISO/CIE 8995-1
* Descrição: O Luximetro deverá informar apenas se a luminosidade está acima do ajuste piscando o LED vermelho, abaixo fica aceso.
* Hardware: Ligar um led em um pino digital configurado como SAÍDA, usar o LDR e TRIMPOT em entradas analógicas
* Comandos: pinMode, digitalWrite, while(), analogRead(),
* DICA1: A função while() será usada para fazer o pisca rodar enquanto a luminosidade for maior que o definido pelo TRIMPOT
* DICA2: Usar duas variáveis de controle para LDR e TRIMPOT
* DICA3: Usar um pisca-pisca de um led dentro do while()
* DICA4: Fazer a leitura do LDR e TRIMPOT e comparar para acionar o pisca
* DICA5: As escalas do LDR e TRIMPOT são diferentes, usar map() para ajustar as escalas
*/

//DEFINICOES INICIAIS
#define led 3 //Definido que o pino 3 irá se chamar led
#define trimpot A1 //Definido que o pino A1 irá se chamar trimpot
#define ldr A0 //Definido que o pino A0 irá se chamar ldr

//DECLARAcAO DE VARIAVEIS
int tempo=200;//Variável para ser atribuído o valor do tempo
int luminosidade=0;//Variável para ser atribuído o valor da luminosidade , ou seja , os valores lidos no ldr
int ajuste=0;//Variável para ser atribuído o valor do ajuste , ou seja , os valores lidos no trimpot

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("trimpot=");//O programa irá colocar os valores da linha debaixo
Serial.println(ajuste);//Os valores lidos no trimpot serão enviados para o monitor serial
Serial.print("ldr=");//O programa irá colocar os valores da linha debaixo
Serial.println(luminosidade);//Os valores lidos no ldr serão enviados para o monitor serial
}

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led,OUTPUT);//Configurado o pino 3 como saída
Serial.begin(9600);//Porta serial inicializada
}

//PROGRAMA PRINCIPAL
void loop() {
debug();//A função complementar será ativada
//ldr=11,834 trimpot=0,1022
luminosidade=analogRead(ldr);//Os valores lidos no ldr serão atribuídos à variável luminosidade
ajuste=map(analogRead(trimpot),0,1022,11,834);//Os valores lidos no trimpot serão convertidos para a escala dos valores do ldr , pela função map , e esses valores serão atribuídos à variável ajuste
while(luminosidade>ajuste){//Enquanto a variável luminosidade for maior que a variável ajuste , o programa irá rodar o bloco abaixo
luminosidade=analogRead(ldr);//Os valores lidos no ldr serão atribuídos à variável luminosidade
ajuste=map(analogRead(trimpot),0,1022,11,834);//Os valores lidos no trimpot serão convertidos para a escala dos valores do ldr , pela função map , e esses valores serão atribuídos à variável ajuste
debug();//A função complementar será ativada
digitalWrite(led,HIGH);//O led irá acender
delay(tempo);//O intervalo de tempo será o valor atribuído à variável tempo
digitalWrite(led,LOW);//O led irá apagar
delay(tempo);//O intervalo de tempo será o valor atribuído à variável tempo
}
digitalWrite(led,HIGH);//O led irá se manter aceso
}
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 2.23 Luxímetro com Ajuste Empty Re: Exercício 2.23 Luxímetro com Ajuste

Sex Set 11, 2020 11:59 pm
Muiot bom Thiago, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos