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

Ir para baixo
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 1.15 Empty exercicio 1.15

Seg Jun 01, 2020 9:49 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 buzzer 13

//DECLARAcAO DE VARIAVEIS GLOBAIS


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(buzzer, OUTPUT);
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
tone(buzzer, 1000); //Frequencia é a quantidade de ciclos por segundo em Hz
delay(1000);
tone(buzzer, 2000);
delay(500);
noTone(buzzer);
delay(1000);
tone(buzzer, 3000, 500); //Frequencia Hz, duração ms
delay(2000);

}
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

exercicio 1.15 Empty Re: exercicio 1.15

Qua Jun 03, 2020 10:58 pm
Oi Lucca,
Não devia ter um sequencial entre esses acionamentos e buzzer?

sobre esse comentário,
tone(buzzer, 1000); //Frequencia é a quantidade de ciclos por segundo em Hz
O que escreveu é verdade, definição de frequência, mas não do comando usado.

Nota 3.0
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 1.15 Empty Re: exercicio 1.15

Sáb Jul 25, 2020 9:27 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//Definido que o pino 3 vai se chamar led1
#define led2 4//Definido que o pino 4 vai se chamar led2
#define led3 5//Definido que o pino 5 vai se chamar led3
#define led4 6//Definido que o pino 6 vai se chamar led4
#define led5 7//Definido que o pino 6 vai se chamar led5
#define led6 8//Definido que o pino 7 vai se chamar led6
#define trimpot A0//Definido que o pino A0 vai se chamar trimpot

//DECLARAcAO DE VARIAVEIS GLOBAIS


//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);//Programado o led1 como SAIDA
pinMode(led2, OUTPUT);//Programado o led2 como SAIDA
pinMode(led3, OUTPUT);//Programado o led3 como SAIDA
pinMode(led4, OUTPUT);//Programado o led4 como SAIDA
pinMode(led5, OUTPUT);//Programado o led5 como SAIDA
pinMode(led6, OUTPUT);//Programado o led6 como SAIDA
}
void tempo(){
map(analogRead(trimpot),2,930, 400, 50);//map(entrada, entrMin, entrMax, saidMin, saidMax//funçao para descobrir os valores de saida e entrada
debug();
}
//FUNÇÕES COMPLEMENTARES
void debug (){
Serial.print("luminosidade = ");
Serial.print(analogRead(trimpot));
Serial.print("tempo =");
Serial.println();
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led1, HIGH);//Define que o led1 acendera
tempo();//Temporizar com a funçao timer
digitalWrite(led1, LOW);//Define que o led1 apagara
digitalWrite(led2, HIGH);//Define que o led2 acendera
tempo();//Temporizar com a funçao timer
digitalWrite(led2, LOW);//Define que o led2 apagara
digitalWrite(led3, HIGH);//Define que o led3 acendera
tempo();//Temporizar com a funçao timer
digitalWrite(led3, LOW);//Define que o led3 apagara
digitalWrite(led4, HIGH);//Define que o led4 acendera
tempo();//Temporizar com a funçao timer
digitalWrite(led4, LOW);//Define que o led4 apagara
digitalWrite(led5, HIGH);//Define que o led5 acendera
tempo();//Temporizar com a funçao timer
digitalWrite(led5, LOW);//Define que o led5 apagara
digitalWrite(led6, HIGH);//Define que o led6 acendera
tempo();//Temporizar com a funçao timer
digitalWrite(led6, LOW);//Define que o led6 apagara
}
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

exercicio 1.15 Empty Re: exercicio 1.15

Sex Jul 31, 2020 10:08 pm
Lucca, o programa está quase perfeito.
Se voce testou, e quero acreditar que testou, deve ter percebido que quando muda a posição do trimpot a velocidade não muda.
Para entender o motivo vou te explicar a função map(), sabe que ela retorna um número cuja entrada é o valor do analoRead, e proporcional aos valores de entrada e saída da função.
Então esse número deve ser usado para controlar o temporizador, ou delay().
na função tempo() precisa carregar o valor da função map() numa variável e aplicar na função delay, assim quando alterar a posição do trimpot vai alterar a velocidade do sequencial.
Nota 6.0
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 1.15 Empty Re: exercicio 1.15

Ter Ago 18, 2020 8:58 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//Definido que o pino 3 vai se chmar led1
#define led2 4//Definido que o pino 4 vai se chmar led2
#define led3 5//Definido que o pino 5 vai se chmar led3
#define led4 6//Definido que o pino 6 vai se chmar led4
#define led5 7//Definido que o pino 7 vai se chmar led5
#define led6 8//Definido que o pino 8 vai se chmar led6
#define trimpot A0//Definido que o pino A0 vai se chmar trimpot

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo; // Variavel tipo int nomeada tempo

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);//Programado o led1 como SAIDA
pinMode(led2, OUTPUT);//Programado o led2 como SAIDA
pinMode(led3, OUTPUT);//Programado o led3 como SAIDA
pinMode(led4, OUTPUT);//Programado o led4 como SAIDA
pinMode(led5, OUTPUT);//Programado o led5 como SAIDA
pinMode(led6, OUTPUT);//Programado o led6 como SAIDA
pinMode(trimpot, INPUT_PULLUP);//Programado o trimpot como ENTRADA
}

//FUNÇÕES COMPLEMENTARES
void debug (){
Serial.print("luminosidade =");//Definido que a luminosidade esta em destaque
Serial.println(analogRead(trimpot));//Depois do comando (analogRead(ldr)) ele vai pular 1 linha

}

void timer (){
tempo = map(analogRead(trimpot),2,930, 50, 400);//map(entrada, entrMin, entrMax, saidMin, saidMax)
delay(tempo);//Temporiza pelo valor do tempo
Serial.print("tempo =");
Serial.println();
}

//PROGRAMA PRINCIPAL
void loop() {
debug ();
digitalWrite(led1, HIGH);//Definido que o led1 vai acender
timer();
digitalWrite(led1, LOW);//Definido que o led1 vai apagar
digitalWrite(led2, HIGH);//Definido que o led2 vai acender
timer();
digitalWrite(led2, LOW);//Definido que o led2 vai apagar
digitalWrite(led3, HIGH);//Definido que o led3 vai acender
timer();
digitalWrite(led3, LOW);//Definido que o led3 vai apagar
digitalWrite(led4, HIGH);//Definido que o led4 vai acender
timer();
digitalWrite(led4, LOW);//Definido que o led4 vai apagar
digitalWrite(led5, HIGH);//Definido que o led5 vai acender
timer();
digitalWrite(led5, LOW);//Definido que o led5 vai apagar
digitalWrite(led6, HIGH);//Definido que o led6 vai acender
timer();
digitalWrite(led6, LOW);//Definido que o led6 vai apagar
}
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

exercicio 1.15 Empty Re: exercicio 1.15

Seg Ago 24, 2020 12:16 am
Esse deu boa, funcionou corretamente. Nota 10.0
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