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
Daniel Lukas
Mensagens : 62
Data de inscrição : 06/03/2020
Idade : 17
Escola : Rua Aníbal Silva
https://sayajin-gamers-store.myshopify.com/

professor poderia me ajudar Empty 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
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5021
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

professor poderia me ajudar Empty 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 .
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos