exercício 1.15
2 participantes
- George
- Mensagens : 27
Data de inscrição : 02/08/2022
Escola : Murici
exercício 1.15
Sáb Set 17, 2022 9:37 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
#define led2 4
#define led3 5
#define led4 6
#define led5 7
#define led6 8
#define trimpot A0
//DECLARAcAO DE VARIAVEIS GLOBAIS
int brilho;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
brilho = analogRead(trimpot)/4;
analogWrite(led1,brilho);
Serial.println(led1, brilho);
delay (200);
brilho=analogRead(trimpot)/4;
analogWrite(led2, brilho);
Serial.println(led2, brilho);1
delay (200);
brilho = analogRead(trimpot)/4;
analogWrite(led1,brilho);
Serial.println(led1, brilho);
delay (200);
brilho=analogRead(trimpot)/4; //todos vao: dizer que brilho = (ler o trimpot) dividido por 4
analogWrite(led3, brilho);
Serial.println(led3, brilho);
delay (200);
brilho = analogRead(trimpot)/4;
analogWrite(led4,brilho);
Serial.println(led4, brilho);
delay (200);
brilho=analogRead(trimpot)/4;
analogWrite(led5, brilho);
Serial.println(led5, brilho);
delay (200);
brilho = analogRead(trimpot)/4;
analogWrite(led6,brilho);
Serial.println(led6, brilho);
delay (200);
}
* 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 led2 4
#define led3 5
#define led4 6
#define led5 7
#define led6 8
#define trimpot A0
//DECLARAcAO DE VARIAVEIS GLOBAIS
int brilho;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
brilho = analogRead(trimpot)/4;
analogWrite(led1,brilho);
Serial.println(led1, brilho);
delay (200);
brilho=analogRead(trimpot)/4;
analogWrite(led2, brilho);
Serial.println(led2, brilho);1
delay (200);
brilho = analogRead(trimpot)/4;
analogWrite(led1,brilho);
Serial.println(led1, brilho);
delay (200);
brilho=analogRead(trimpot)/4; //todos vao: dizer que brilho = (ler o trimpot) dividido por 4
analogWrite(led3, brilho);
Serial.println(led3, brilho);
delay (200);
brilho = analogRead(trimpot)/4;
analogWrite(led4,brilho);
Serial.println(led4, brilho);
delay (200);
brilho=analogRead(trimpot)/4;
analogWrite(led5, brilho);
Serial.println(led5, brilho);
delay (200);
brilho = analogRead(trimpot)/4;
analogWrite(led6,brilho);
Serial.println(led6, brilho);
delay (200);
}
Re: exercício 1.15
Seg Set 19, 2022 9:10 pm
George, o controle da velocidadev do sequencial acontece no delay,(), quanto maior o delay mais lentop e quanto menor o delay mais rápido o sequencial, certo? Então tem que afetar o valor do delay para controlar a velocidade.
Detalhe 2 , não precisa dividir por 4 o valor do trimpot, é para controlar tempo e não pino PWM
Detalhe 3, não precisa ficar lendo o trimpot a cada troca, mas se foi proposital pode deixar que considero.
Detalhe 4 pode fazer comentários no bloco se quiser, desde que detalhe o funcionamento do programa.
Nota 5.0
Detalhe 2 , não precisa dividir por 4 o valor do trimpot, é para controlar tempo e não pino PWM
Detalhe 3, não precisa ficar lendo o trimpot a cada troca, mas se foi proposital pode deixar que considero.
Detalhe 4 pode fazer comentários no bloco se quiser, desde que detalhe o funcionamento do programa.
Nota 5.0
Permissões neste sub-fórum
Não podes responder a tópicos
|
|