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
LucyAnna800
Mensagens : 98
Data de inscrição : 11/06/2022
Idade : 13
Escola : Colegio Lindaura Ribeiro Lucas

exercicio 1.15 Empty exercicio 1.15

Qui Out 27, 2022 11:09 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 naosei 3
#define ta 4
#define hmmm 5
#define eu 6
#define vc 7
#define nao 8
#define trimpot A0
//DECLARAcAO DE VARIAVEIS GLOBAIS
int temporizador;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(naosei, OUTPUT);
pinMode(ta, OUTPUT);
pinMode(hmmm, OUTPUT);
pinMode(eu, OUTPUT);
pinMode(vc, OUTPUT);
pinMode(nao, OUTPUT);
}

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("Luminosidade = ");
Serial.print(analogRead(trimpot));
Serial.print("temporizador = ");
Serial.println(temporizador);
}
void timer(){
temporizador = map(analogRead(trimpot),2,930,400,50);
delay(temporizador);
debug();
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(naosei, HIGH);
timer();
digitalWrite(naosei, LOW);
digitalWrite(ta, HIGH);
timer();
digitalWrite(ta, LOW);
digitalWrite(hmmm, HIGH);
timer();
digitalWrite(hmmm, LOW);
digitalWrite(eu, HIGH);
timer();
digitalWrite(eu, LOW);
digitalWrite(vc, HIGH);
timer();
digitalWrite(vc, LOW);
digitalWrite(nao, HIGH);
timer();
digitalWrite(nao, LOW);

}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 1.15 Empty Re: exercicio 1.15

Sex Nov 04, 2022 12:11 am
Oi Lucy, faltou os comentários, também tem um detalhe, precisa inicializar a porta serial. Lembra daquele comando Serial.begin que vai no setup()?
Nota 6.0 até arrumar o programa.
avatar
LucyAnna800
Mensagens : 98
Data de inscrição : 11/06/2022
Idade : 13
Escola : Colegio Lindaura Ribeiro Lucas

exercicio 1.15 Empty exercico 1.15

Sáb Nov 05, 2022 9:42 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 naosei 3 //batizado o pino 3 de naosei
#define ta 4 //batizado o pino 4 de ta
#define hmmm 5 //batizado o pino 5 de hmmm
#define eu 6 //batizado o pino 6 de eu
#define vc 7 //batizado o pino 7 de vc
#define nao 8 //batizado o pino 8 de nao
#define trimpot A0 //batizado o pino A0 de trimpot
//DECLARAcAO DE VARIAVEIS GLOBAIS
int temporizador; //batizado a variavel int de temporizador

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //iniciando a porta serial
pinMode(naosei, OUTPUT); //naosei configurado como saida
pinMode(ta, OUTPUT); //ta configurado como saida
pinMode(hmmm, OUTPUT); //hmmm configurado como saida
pinMode(eu, OUTPUT); //eu configurado como saida
pinMode(vc, OUTPUT); //vc configurado como saida
pinMode(nao, OUTPUT); //nao configurado como saida
}

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("Luminosidade = "); //imprimindo a porta serial na frase Luminosidade =
Serial.print(analogRead(trimpot)); //imprimindo a porta serial no trimpot?
Serial.print("temporizador = "); //imprimindo a porta serial na frase temporizador =
Serial.println(temporizador); //imprimindo a porta serial na variavel temporizador
}
void timer(){
temporizador = map(analogRead(trimpot),2,930,400,50); //progamando o tempo
delay(temporizador); // o tempo e a variavel temporizador
debug(); //tudo o que esta dentro do debug esta escrito aqui
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(naosei, HIGH); //acende o naosei
timer(); //tempo
digitalWrite(naosei, LOW); //apagar o naosei
digitalWrite(ta, HIGH); //acender o ta
timer(); //tempo
digitalWrite(ta, LOW); //apagar o ta
digitalWrite(hmmm, HIGH); //acender o hmmm
timer(); //tempo
digitalWrite(hmmm, LOW); //apagar o hmmm
digitalWrite(eu, HIGH); //acender o eu
timer(); //tempo
digitalWrite(eu, LOW); //apagar o eu
digitalWrite(vc, HIGH); //acender o vc
timer(); //tempo
digitalWrite(vc, LOW); //apagar o vc
digitalWrite(nao, HIGH); //acender o nao
timer(); //tempo
digitalWrite(nao, LOW); //apagar o nao

}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 1.15 Empty Re: exercicio 1.15

Qua Nov 16, 2022 11:07 pm
Muito bom Lucy, agora está perfeito
Conteúdo patrocinado

exercicio 1.15 Empty Re: exercicio 1.15

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