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

Ir para baixo
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 333
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 2.23 Empty exercicio 2.23

Sex Jun 18, 2021 10:25 am
/*
* 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 pisca 3 //Definido que o pino 3 irá se chamar pisca
#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 somado o V do tempo
int luminosidade=0;//Variável para ser somado aos valores lidos no ldr
int ajuste=0;//Variável para ser somado aos valores lidos no trimpot

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

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(pisca,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 Vs lidos no ldr serão somados à 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 somados à 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(pisca,HIGH);//O pisca irá acender
delay(tempo);//A parada de tempo será o valor somado à variável tempo
digitalWrite(pisca,LOW);//O pisca irá apagar
delay(tempo);//A parada de tempo será o valor somado à variável tempo
}
digitalWrite(pisca,HIGH);//O pisca irá se manter acendido
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5788
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 2.23 Empty Re: exercicio 2.23

Seg Jun 21, 2021 11:39 pm
Muito bom Lucca, o programa funcionou, nota 10.0

esse trecho

luminosidade=analogRead(ldr);//Os Vs lidos no ldr serão somados à 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 somados à 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

Viu que fica repetido, né. Vamos ver como tratar no capítulo 4. Podemos dizer que esse programa é mais didático que lógico.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos