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

Ir para baixo
alexandre4014
alexandre4014
Mensagens : 27
Data de inscrição : 27/06/2023
Escola : escola professora lindaura ribeiro lucas

Exercicio1.15 alexandre Empty Exercicio1.15 alexandre

Seg maio 06, 2024 3:58 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 led
#define led2 4 //define o led
#define led3 5 //define o led
#define led4 6 //define o led
#define led5 7 //define o led
#define led6 8 //define o led
#define trimpot A0 //define o trimpot ao A0

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo ; //define int como tempo

//INICIALIZAÇÃO DO HARDWARE
void setup() {

Serial.begin(9600); //configura a taxa de bits por segundo
pinMode(led1,OUTPUT); //define o led como saida
pinMode(led2,OUTPUT); //define o led como saida
pinMode(led3,OUTPUT); //define o led como saida
pinMode(led4,OUTPUT); //define o led como saida
pinMode(led5,OUTPUT); //define o led como saida
pinMode(led6,OUTPUT); //define o led como saida
pinMode(trimpot,INPUT_PULLUP); //define o trimpot como entrada
}

//FUNÇÕES COMPLEMENTARES0
void debug() {
Serial.print("luminosidade ="); //define o valor para luminosidade
Serial.println(analogRead(trimpot),2,930,50,400); //define que o codigo ficara na proxima linha
Serial.print("tempo = "); //define o valor de tempo
Serial.println(tempo); //define que o codigo ficara na proxima linha
}

void timer() {
tempo = map(analogRead(trimpot),2,930,50,400); //define o valor do tempo ao trimpot
delay(tempo); //define o tempo de espera pela variavel
debug(); // repete o codigo que esta no void debug
}

//PROGRAMA PRINCIPAL
void loop() {

digitalWrite(led1,HIGH); //liga o led
timer(); // repete o codigo que esta no void timer
digitalWrite(led1,LOW); //apaga o led
digitalWrite(led2,HIGH); //liga o led
timer(); // repete o codigo que esta no void timer
digitalWrite(led2,LOW); //apaga o led
digitalWrite(led3,HIGH); //acende o led
timer(); //repete o codigo que esta no void timer
digitalWrite(led3,LOW); //apaga o led
digitalWrite(led4,HIGH); //acende o led
timer(); //repete o codigo que esta no void timer
digitalWrite(led4,LOW); //apaga o led
digitalWrite(led5,HIGH); //acende o led
timer(); //repete o codigo que esta no void timer
digitalWrite(led5,LOW); //apaga o led
digitalWrite(led6,HIGH); //acende o led
timer(); //repete o codigo que esta no void timer
digitalWrite(led6,LOW); //apaga o led
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos