Exercício 2.23 Luxímetro com Ajuste
2 participantes
- Thiaguin
- Mensagens : 176
Data de inscrição : 03/03/2020
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
}
* 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
}
- Exercício 2.24 Luximetro com Ajuste
- Exercício 2.23 Luxímetro com Ajuste
- Exercício 2.24 Luximetro usando while()
- Exercício 4.17 Procedimentos com Termometro e Luximetro
- /* * 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
Permissões neste sub-fórum
Não podes responder a tópicos
|
|