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
André Luis Caetano
Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão

Exercício 1.15 Empty Exercício 1.15

Qui Jun 04, 2020 11:53 am
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 1.15
* Tema: Pinos Analógicos
* Atividade: Controlar a velocidade do sequencial conforme a posição do trimpot
* Descrição: Usar uma entrada analógica para medir a iposição do trimpot e usar esse valor para ajustar a velocidade
* Requisito1: A cada troca de estado deve ser atualizado o tempo confoeme posição do trimpot
* Requisito2: A variação de tempo deve ser inversamente proporcional ao valor do trimpot, ou seja, quanto maior o valor do trimpot menos rápido o sequencial
* Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o TRIMPOT 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 trimpot no pino analógico
* Dica3:Pode usar a função map() para converter a variação dos valores lidos no trimpot para as variações de tempo desejadas
* Dica4: Pode usar uma função para fazer a leitura do trimpot 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 led2
#define led3 5 //definido que o pino 5 vai se chamar led3
#define led4 6 //definido que o pino 6 vai se chamar led4
#define led5 7 //definido que o pino 7 vai se chamar led5
#define led6 8 //definido que o pino 8 vai se chamar led6
#define trimpot A0 //definido que o pino A0 vai se chamar trimpot


//DECLARAcAO DE VARIAVEIS GLOBAIS
int brilho; //foi declarada uma variavel do tipo int denominada brilho
int tempo;  //foi declarada uma variavel do tipo int denominada tempo
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT); //programado led1 como saida
pinMode(led2, OUTPUT); //programado led2 como saida
pinMode(led3, OUTPUT); //programado led3 como saida
pinMode(led4, OUTPUT); //programado led4 como saida
pinMode(led5, OUTPUT); //programado led5 como saida
pinMode(led6, OUTPUT); //programado led6 como saida

}

//FUNÇÕES COMPLEMENTARES
void debug (){
Serial.print("brilho = ");                              //essa função foi usado para registrar as variações de posiçao do trimpot
Serial.println(analogRead(trimpot));      //essa função foi usado para pular uma linha ao fazer os registros das variações deposiçao do trimpot
Serial.print("tempo = ");                            //essa função foi usado para registrar as variações de velocidade do brilho do led
Serial.println(tempo);                               //essa função foi usado para pular uma linha ao fazer os registros das variações de velocidade do brilho do led
}
void timer (){

tempo = map(analogRead(trimpot),0 ,1022 , 400, 50);     //map(entrada, entrMin, entrMax, saidMin, saidMax)
delay(tempo);                                                                         //foi dada uma pausa entre 50 e 400 ms conforme a posiçao do trimpot
  debug ();                                                                               //foi acionado o comando da porta serial
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led1, HIGH);//led1 aceso
timer();//execuçao da funçao timer
digitalWrite(led1, LOW);//led1 apagado
digitalWrite(led2,HIGH);//led2 aceso
timer();//execuçao da funçao timer
digitalWrite(led2, LOW);//led2 apagado
digitalWrite(led3,HIGH);//led3 aceso
timer();//execuçao da funçao timer
digitalWrite(led3, LOW);//led3 apagado
digitalWrite(led4,HIGH);//led4 aceso
timer();//execuçao da funçao timer
digitalWrite(led4, LOW);//led4 apagado
digitalWrite(led5,HIGH);//led5 aceso
timer();//execuçao da funçao timer
digitalWrite(led5, LOW);//led5 apagado
digitalWrite(led6,HIGH);//led6 aceso
timer();//execuçao da funçao timer
digitalWrite(led6, LOW);//led6 apagado
}


Última edição por André Luis Caetano em Qua Jun 10, 2020 11:20 am, editado 4 vez(es)
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

Exercício 1.15 Empty Re: Exercício 1.15

Ter Jun 09, 2020 8:44 pm
Oi Anfré, Aqui também fez o programa corretamente, mas na hora do comentário esqueceu do //
Sugiro que depois que fazer o comentário cheque no compilador se teve erro, eu testo e sou obrigado a descontar a nota.
Na IDE do arduino tem um botão com o nome "verificar", é o primeiro botão na barra superior. Ele testa se tem erro de sintaxe.
Nota 8.0
avatar
André Luis Caetano
Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão

Exercício 1.15 Empty Exercício 1.15

Qui Jun 11, 2020 10:19 pm
Corrigido..


Última edição por André Luis Caetano em Qua Jun 10, 2020 2:20 pm, editado 4 vez(es)
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

Exercício 1.15 Empty Re: Exercício 1.15

Sex Jun 12, 2020 12:27 am
Muito bom, nota 10.0
Conteúdo patrocinado

Exercício 1.15 Empty Re: Exercício 1.15

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