Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Kricya Silva
Kricya Silva
Mensagens : 61
Data de inscrição : 03/03/2020
Idade : 21
Escola : Colegio Estadual Professora Lindaura Ribeiro Lucas

Exercício 1.15 Empty Exercício 1.15

Qua Jun 03, 2020 5:28 pm
/*
* 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 cer 3 // Definido que pino 3 será chamado de cer;
#define parecer 4 // Definido que pino 4 será chamado de parecer;
#define volverlo 5 // Definido que pino 5 será chamado de volverlo;
#define intentar 6 // Definido que pino 6 será chamado de intentar;
#define dame 7 // Definido que pino 7 será chamado de dame;
#define banguela 8 // Definido que pino 8 será chamado de banguela;
#define trimpot A0 // Definido que pino A0 será chamado de trimpot;

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo; // declarada uma váriavel do tipo int;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(cer, OUTPUT); // Definido cer como saída;
pinMode(parecer, OUTPUT); // Definido parecer como saída;
pinMode(volverlo, OUTPUT); // Definido volverlo como saída;
pinMode(intentar, OUTPUT); // Definido intenatar como saída;
pinMode(dame, OUTPUT); // Definido dame como saída;
pinMode(banguela, OUTPUT); // Definido banguela como saída;
Serial.begin(9600);//inicialização da porta serial;
}

//FUNÇÕES COMPLEMENTARES
void debug () { //uma série de programas que abaixo será usada com um único comando;
Serial.print ("ligth = "); //luminosidade;
Serial.println (analogRead (trimpot)); ///escreve o comando na outra linha, nesse caso, a leitura analógica do pino;
Serial.print ("tempo ="); //tempo;
Serial.println (tempo); //escreve o comando na outra linha, nesse caso, do tempo
}
void fechecler () { //uma série de programas que abaixo será usada com um único comando;
tempo = map(analogRead(trimpot), 0,1024,100,2000); //determinei o tempo com uma leitura analagóca do trimpot, inversamente proporcional a luz.
delay (tempo); //tempo de espera entre os comandos;
debug (); //uma série de programas que abaixo será usada com um único comando;
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(banguela, HIGH);// banguela vai acender;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(dame, HIGH);// dame vai acender;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(intentar, HIGH);// intentar vai acender;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(volverlo, HIGH);// volverlo vai acender;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(parecer, HIGH);// parecer vai acender;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(cer, HIGH);// cer vai acender;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(banguela, LOW);// banguela vai apagar;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(dame, LOW);// dame vai apagar;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(intentar, LOW);// intentar vai apagar;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(volverlo,LOW);// volverlo vai apagar;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(parecer, LOW);// parecer vai apagar;
fechecler (); //aciona todas as funções descritas em fechecler;
digitalWrite(cer, LOW);// cer vai apagar;
fechecler (); //aciona todas as funções descritas em fechecler;

}

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

Exercício 1.15 Empty Re: Exercício 1.15

Qui Jun 04, 2020 12:05 am
Muito bom Kricya, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos