professor poderia me ajudar
2 participantes
professor poderia me ajudar
Sex Jun 05, 2020 11:49 am
/*
* 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 //definido que o pino 3 vai se chamar led1
#define led2 4 //definido que o pino 4 vai se chamar led1
#define led3 5 //definido que o pino 5 vai se chamar led1
#define led4 6 //definido que o pino 6 vai se chamar led1
#define led5 7 //definido que o pino 7 vai se chamar led1
#define led6 8 //definido que o pino 8 vai se chamar led6
#define ldr A0 //definido que o pino A0 vai se chamar ldr
//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo //declara a variavel tempo
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1,OUTPUT); //progamado led1 como saÃda
pinMode(led2,OUTPUT); //progamado led2 como saÃda
pinMode(led3,OUTPUT); //progamado led3 como saÃda
pinMode(led4,OUTPUT); //progamado led4 como saÃda
pinMode(led5,OUTPUT); //progamado led5 como saÃda
pinMode(led6,OUTPUT); //progamado led6 como saÃda
}
//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("luminosidade = "); //enviar a temperatura para o terminal
Serial.println(analogRead (ldr)); //envia a temperatura para o terminal e pula uma linha.
}
void timer(){
tempo = map(analogRead(ldr), 2, 930, 50, 400); //configura a variavel tempo e configurado o max e o min
delay(tempo); //delay com a variavel
debug(); //debug executado
}
//PROGRAMA PRINCIPAL
void loop() {
debug(); //debug executado
digitalWrite(led1,HIGH); //led1 acende
timer(); //timer repete
digitalWrite(led1,LOW); //led1 apaga
digitalWrite(led2,HIGH); //led2 acende
timer(); //timer repete
digitalWrite(led2,LOW); //led1 apaga
digitalWrite(led3,HIGH); //led3 acende
timer(); //timer repete
digitalWrite(led3,LOW); //led3 apaga
digitalWrite(led4,HIGH); //led4 acende
timer(); //timer repete
digitalWrite(led4,LOW); //led14 apaga
digitalWrite(led5,HIGH); //led5 acende
timer(); //timer repete
digitalWrite(led5,LOW); //led5 apaga
digitalWrite(led6,HIGH); //led6 acende
timer(); //timer repete
digitalWrite(led6,LOW); //led6 apaga
}
Re: professor poderia me ajudar
Ter Jun 09, 2020 9:56 pm
Ajudo sim,
Lembra que no final de cada comando precisa usar o operador ; (ponto e virgula) .
Nas variáveis globais, declarou a variável tempo e esqueceu o ;
Uma dica importante, no simulide ele coloca uma flexinha azul na linha que encontrou o erro, ou próximo.
No log do compilador ele dá uma dica do local do erro, no caso veio assim:
exercicio_aula:28:15: error: expected initializer before 'setup'
ERROR!!! Compilation Failed
No caso disse que faltou algo antes do setup(), no caso que encerre o camando anterior.
Como o programa está correto vou dar nota 6.0 e aguardar a correção .
Lembra que no final de cada comando precisa usar o operador ; (ponto e virgula) .
Nas variáveis globais, declarou a variável tempo e esqueceu o ;
Uma dica importante, no simulide ele coloca uma flexinha azul na linha que encontrou o erro, ou próximo.
No log do compilador ele dá uma dica do local do erro, no caso veio assim:
exercicio_aula:28:15: error: expected initializer before 'setup'
ERROR!!! Compilation Failed
No caso disse que faltou algo antes do setup(), no caso que encerre o camando anterior.
Como o programa está correto vou dar nota 6.0 e aguardar a correção .
Permissões neste sub-fórum
Não podes responder a tópicos