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
mateus martins kunz
Mensagens : 45
Data de inscrição : 17/09/2021
Escola : escola estadual lindaura ribeiro lucas

exercicio 1.14 Empty exercicio 1.14

Qui Set 22, 2022 2:11 pm
/*
CURSO DE ROBOTICA 2020
* Exercicio: 1.14
* Tema: Pinos Analógicos
* Atividade: Controlar a velocidade do sequencial conforme a quantidade de luz no LDR
* Descrição: Usar uma entrada analógica para medir a intensidade da luz e usar esse valor para ajustar a velocidade
* Requisito1: A cada troca de estado deve ser atualizado o tempo conforme iluminação do ambiente
* Requisito2: A variação de tempo deve ser diretamente proporcional ao valor do ldr, ou seja, quanto mais luz mais rápido o sequencial
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR em uma entrada analógica
* Comandos: pinMode, analogRead, digitalWrite,delay, map
* Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
* Dica2: Usar a função debug() para checar as variações de valor do ldr no pino analógico
* Dica3:Pode usar a função map() para converter a variação dos valores lidos no ldr para as variações de tempo desejadas
* Dica4: Pode usar uma função para fazer a leitura do LDR e temporização do sequencial
*/

//DEFINICOES INICIAIS
#define led1 3 // define que o pino 3 vai se chamar led1
#define led2 4 //define que o pino 4 vai se chamar led2
#define led3 5 //define que o pino 5 vai se chamar led3
#define led4 6 //define que o pino 6 vai se chamar led 4
#define led5 7 //define que o pino 7 vai se chamar led5
#define led6 9//define que o pino 8 vai se chamar led6
#define ldr A0 //define que o pino a0 vai se chamar ldr
//DECLARAcAO DE VARIAVEIS GLOBAIS
int esquilo;//variavel q guarda o estado da tecla

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//manda para o terminal
pinMode(led1, OUTPUT);//configura o led 1 como saída
pinMode(led2, OUTPUT);//configura o led 2 como saída
pinMode(led3, OUTPUT);//configura o led 3 como saída
pinMode(led4, OUTPUT);//configura o led 4 como saída
pinMode(led5, OUTPUT);//configura o led 5 como saída
pinMode(led6, OUTPUT);//configura o led 6 como saída
}

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("esquilo = ");//faz o resultado sair
Serial.println(esquilo);//faz com que os resultados nao saiam na mesma linha
esquilo = map(analogRead(ldr), 279, 930, 255, 0); //faz a leitura do sensor de luminosidade
}
//PROGRAMA PRINCIPAL
void loop() {
debug();
digitalWrite(led1, HIGH); // acende o led1
delay(esquilo); //espaço de tempo denominado pela variavel
digitalWrite(led1, LOW); //apaga o led1
digitalWrite(led2, HIGH); // acende o led2
delay(esquilo); //espaço de tempo denominado pela variavel
digitalWrite(led2, LOW); // apaga o led2
digitalWrite(led3, HIGH); // acende o led3
delay(esquilo); //espaço de tempo denominado pela variavel
digitalWrite(led3, LOW); // apaga o led3
digitalWrite(led4, HIGH); //acende o led4
delay(esquilo); //espaço de tempo denominado pela variavel
digitalWrite(led4, LOW); // apaga o led4
digitalWrite(led5, HIGH); //acende o led5
delay(esquilo); //espaço de tempo denominado pela variavel
digitalWrite(led5, LOW); // apaga o led5
digitalWrite(led6, HIGH); // acende o led6
delay(esquilo); //espaço de tempo denominado pela variavel
}
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

exercicio 1.14 Empty Re: exercicio 1.14

Qui Set 22, 2022 10:25 pm
Mateus, esse exercício já havia feito

ATENÇÃO - ATENÇÃO - NAO CRIE NOVO TÓPICO QUANDO RESPONDER UM EXERCÍCIO SOMENTE RESPONDA O JÁ CORRIGIDO - ATENÇÃO - ATENÇÃO

o programa está correto, mas copiou os valores da calibração e não fez no exercício, os próximos vou cobrar que faça a calibração do sensor. Faça assim

- Sobre a calibração do sensor, é necessário para ajustar a escala conforme os valores de netrada, o procedimento é:
a) coloca o sensor de luminosidadr (ldr) no escuro e anota o valor que apareceu no debug
b) coloca o ntc na luminosidade mais alta, normalmente usamos a lanterna do celular sob o sensor, e dai anota o valor que deu na serial
c) sabendo do valor que dá quando escuro e iluminado, usa esses valores na função map() na entrada min, e ntrada max, dai os demais parametros estão corretos.
Após esse procedimento vai perceber bem a variação da luminosidade quando variar a luminosidade.

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