Exercicio 2.24
2 participantes
- Guilherme Kautzmann
- Mensagens : 69
Data de inscrição : 27/02/2024
Escola : Juscelino Kustkech
Exercicio 2.24
Qui Ago 01, 2024 9:29 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.24
* Tema: Função DO...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, do...while(), analogRead(),
* DICA1: A função do...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 como led
#define ldr A0//definido como ldr
#define trimpot A1//definido como trimpot
//DECLARAcAO DE VARIAVEIS
int luminusidade = 0;
int ajuste = 0;
//FUNÇÕES COMPLEMENTARES
void debug() {
Serial.println("TRIMPOT= ");//linha na porat serial
Serial.print(ajuste);//valor
Serial.println(" LDR= ");//linha na porat serial
Serial.print(luminusidade);//valioor
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//porta serial
pinMode(led, OUTPUT); //progamado como saida
}
//PROGRAMA PRINCIPAL
void loop() {
debug();
do{
luminusidade = analogRead(ldr); //ldr foi escrito
ajuste = map(analogRead(trimpot),0,1023,11,834);///funcao map
debug(); //coloca o que esta no debug
digitalWrite(led, HIGH); //liga
}
while(luminusidade < ajuste); //quando a luminusidade for maior do que o ajuste liga oled
delay(300);//tempo
digitalWrite(led,LOW);//desliga
delay(300);//tempo
}
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.24
* Tema: Função DO...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, do...while(), analogRead(),
* DICA1: A função do...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 como led
#define ldr A0//definido como ldr
#define trimpot A1//definido como trimpot
//DECLARAcAO DE VARIAVEIS
int luminusidade = 0;
int ajuste = 0;
//FUNÇÕES COMPLEMENTARES
void debug() {
Serial.println("TRIMPOT= ");//linha na porat serial
Serial.print(ajuste);//valor
Serial.println(" LDR= ");//linha na porat serial
Serial.print(luminusidade);//valioor
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//porta serial
pinMode(led, OUTPUT); //progamado como saida
}
//PROGRAMA PRINCIPAL
void loop() {
debug();
do{
luminusidade = analogRead(ldr); //ldr foi escrito
ajuste = map(analogRead(trimpot),0,1023,11,834);///funcao map
debug(); //coloca o que esta no debug
digitalWrite(led, HIGH); //liga
}
while(luminusidade < ajuste); //quando a luminusidade for maior do que o ajuste liga oled
delay(300);//tempo
digitalWrite(led,LOW);//desliga
delay(300);//tempo
}
Permissões neste sub-fórum
Não podes responder a tópicos