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
Cadu2005
Mensagens : 26
Data de inscrição : 03/03/2020

Ex 1.15 Sequencial Trimpot Empty Ex 1.15 Sequencial Trimpot

Qui Ago 13, 2020 12:34 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 led1 3 //Define o pino 3 como led1
#define led2 4 //Define o pino 4 como led2
#define led3 5 //Define o pino 5 como led3
#define led4 6 //Define o pino 6 como led4
#define led5 7 //Define o pino 7 como led5
#define led6 8 //Define o pino 8 como led6
#define trimpot A0 //Define o pino A0 como trimpot
//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo; //Define uma variavel como "tempo"

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Usa valor padrão para enviar valores aos seriais
pinMode(led1 , OUTPUT); //Define o pino3 como Saida
pinMode(led2 , OUTPUT); //Define o pino4 como Saida
pinMode(led3 , OUTPUT); //Define o pino5 como Saida
pinMode(led4 , OUTPUT); //Define o pino6 como Saida
pinMode(led5 , OUTPUT); //Define o pino7 como Saida
pinMode(led6 , OUTPUT); //Define o pino8 como Saida
}

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("luminosidade = "); //Usa essa função para enviar os valores para o terminal
Serial.println(analogRead(trimpot)); //Usa essa função para enviar os valores do trimpot para o terminal em linhas
}
void timer(){
tempo = map(analogRead(trimpot), 2, 930, 50, 400); //Função map para definir valores de saida maxima e saida minima
delay(tempo); //Define o delay com o valor da variavel
}


//PROGRAMA PRINCIPAL
void loop() {
debug(); //Envia os valores para o Serial
digitalWrite(led1, HIGH); //Define o pino como 5v Assim ligando
timer(); //Usa a linha de comando definida no Void timer
digitalWrite(led1, LOW); //Define o pino como 0v Assim desligando
digitalWrite(led2, HIGH); //Define o pino como 5v Assim ligando
timer(); //Usa a linha de comando definida no Void timer
digitalWrite(led2, LOW); //Define o pino como 0v Assim desligando
digitalWrite(led3, HIGH); //Define o pino como 5v Assim ligando
timer(); //Usa a linha de comando definida no Void timer
digitalWrite(led3, LOW); //Define o pino como 0v Assim desligando
digitalWrite(led4, HIGH); //Define o pino como 5v Assim ligando
timer(); //Usa a linha de comando definida no Void timer
digitalWrite(led4, LOW); //Define o pino como 0v Assim desligando
digitalWrite(led5, HIGH); //Define o pino como 5v Assim ligando
timer(); //Usa a linha de comando definida no Void timer
digitalWrite(led5, LOW); //Define o pino como 0v Assim desligando
digitalWrite(led6, HIGH); //Define o pino como 0v Assim ligando
timer(); //Usa a linha de comando definida no Void timer
digitalWrite(led6, LOW); //Define o pino como 0v Assim desligando
}

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

Ex 1.15 Sequencial Trimpot Empty Re: Ex 1.15 Sequencial Trimpot

Seg Ago 31, 2020 9:39 pm
Muito bom Cadu, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos