- gustavo de oliveira pires
- Mensagens : 116
Data de inscrição : 31/08/2022
Escola : murici
exercício 1.15 resolvido
Qua Abr 12, 2023 10:46 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 trimpot A0 //define o LDR no pino A0
#define led1 3 //define o led1 no pino 3
#define led2 4 //define o led2 no pino 4
#define led3 5 //define o led3 no pino 5
#define led4 6 //define o led4 no pino 6
#define led5 7 //define o led5 no pino 7
#define led6 8 //define o led6 no pino 8
//DECLARAcAO DE VARIAVEIS GLOBAIS
int estado;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//imprime a porta serial
pinMode(led1,OUTPUT);//define o led1 como saida
pinMode(led2,OUTPUT);//define o led2 como saida
pinMode(led3,OUTPUT);//define o led3 como saida
pinMode(led4,OUTPUT);//define o led4 como saida
pinMode(led5,OUTPUT);//define o led5 como saida
pinMode(led6,OUTPUT);//define o led6 como saida
}
//FUNÇÕES COMPLEMENTARES
void debug(){
estado = map(analogRead(trimpot), 0, 1023,255, 0);//faz a leitura do sensor de iluminosidade
Serial.print("trimpot = "); //faz o resultado sair
Serial.println(analogRead(trimpot)); //faz com que os resultados nao saiam na mesma linha
Serial.print("estado = ") //faz o resultado sair
Serial.println(estado); //faz com que os resultados nao saiam na mesma linha
}
//PROGRAMA PRINCIPAL
void loop() {
debug();
digitalWrite(led1, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led1, LOW);//define que o led vai apagar
digitalWrite(led2, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led2, LOW);//define que o led vai apagar
digitalWrite(led3, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led3, LOW);//define que o led apagar
digitalWrite(led4, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led4, LOW);//define que o led vai apagar
digitalWrite(led5, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led5, LOW);//define que o led vai apagar
digitalWrite(led6, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led6, LOW);//define que o led vai apagar
}
* 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 trimpot A0 //define o LDR no pino A0
#define led1 3 //define o led1 no pino 3
#define led2 4 //define o led2 no pino 4
#define led3 5 //define o led3 no pino 5
#define led4 6 //define o led4 no pino 6
#define led5 7 //define o led5 no pino 7
#define led6 8 //define o led6 no pino 8
//DECLARAcAO DE VARIAVEIS GLOBAIS
int estado;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//imprime a porta serial
pinMode(led1,OUTPUT);//define o led1 como saida
pinMode(led2,OUTPUT);//define o led2 como saida
pinMode(led3,OUTPUT);//define o led3 como saida
pinMode(led4,OUTPUT);//define o led4 como saida
pinMode(led5,OUTPUT);//define o led5 como saida
pinMode(led6,OUTPUT);//define o led6 como saida
}
//FUNÇÕES COMPLEMENTARES
void debug(){
estado = map(analogRead(trimpot), 0, 1023,255, 0);//faz a leitura do sensor de iluminosidade
Serial.print("trimpot = "); //faz o resultado sair
Serial.println(analogRead(trimpot)); //faz com que os resultados nao saiam na mesma linha
Serial.print("estado = ") //faz o resultado sair
Serial.println(estado); //faz com que os resultados nao saiam na mesma linha
}
//PROGRAMA PRINCIPAL
void loop() {
debug();
digitalWrite(led1, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led1, LOW);//define que o led vai apagar
digitalWrite(led2, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led2, LOW);//define que o led vai apagar
digitalWrite(led3, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led3, LOW);//define que o led apagar
digitalWrite(led4, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led4, LOW);//define que o led vai apagar
digitalWrite(led5, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led5, LOW);//define que o led vai apagar
digitalWrite(led6, HIGH);//define que o led vai acender
delay(estado);//define o tempo
digitalWrite(led6, LOW);//define que o led vai apagar
}
Re: exercício 1.15 resolvido
Qua Abr 12, 2023 10:34 pm
Oi Gustavo, fiz a correção e tem um errinho de sintaxe, a mensagem diz que falta um ; en um dos comandos.
Da uma revisada fa função debug(), olha linha a linha que vai achar.
Daí nos comentários vi essas linhas no debug(), dai achei estranho que usou o termo sair.:
Serial.print("trimpot = "); //faz o resultado sair //não seria imprime na serial a palavra 'trimpot'?
Nota 5.0
Da uma revisada fa função debug(), olha linha a linha que vai achar.
Daí nos comentários vi essas linhas no debug(), dai achei estranho que usou o termo sair.:
Serial.print("trimpot = "); //faz o resultado sair //não seria imprime na serial a palavra 'trimpot'?
Nota 5.0
- gustavo de oliveira pires
- Mensagens : 116
Data de inscrição : 31/08/2022
Escola : murici
Re: exercício 1.15 resolvido
Ter Jul 09, 2024 2:21 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 posição do trimpot e usar esse valor para ajustar a velocidade
* Requisito1: A cada troca de estado deve ser atualizado o tempo conforme a 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 pinos digitais configurados como SAÍDA DIGITAL e o TRIMPOT em uma entrada analógica
* Comandos: pinMode(), analogRead(), digitalWrite(), delay(), map()
* Dica1: 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 trimpot A0 // define o trimpot no pino A0
#define led1 3 // define o led1 no pino 3
#define led2 4 // define o led2 no pino 4
#define led3 5 // define o led3 no pino 5
#define led4 6 // define o led4 no pino 6
#define led5 7 // define o led5 no pino 7
#define led6 8 // define o led6 no pino 8
// DECLARACAO DE VARIAVEIS GLOBAIS
int estado; //declara a variavel estado
// INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); // inicia a porta serial
pinMode(led1, OUTPUT); // define o led1 como saída
pinMode(led2, OUTPUT); // define o led2 como saída
pinMode(led3, OUTPUT); // define o led3 como saída
pinMode(led4, OUTPUT); // define o led4 como saída
pinMode(led5, OUTPUT); // define o led5 como saída
pinMode(led6, OUTPUT); // define o led6 como saída
}
// FUNÇÕES COMPLEMENTARES
void debug(){
int leitura = analogRead(trimpot); // faz a leitura do trimpot
estado = map(leitura, 0, 1023, 255, 0); // mapeia o valor lido para o intervalo desejado
Serial.print("trimpot = "); // imprime na porta serial a palavra "trimpot = "
Serial.println(leitura); // imprime o valor lido do trimpot e pula para a próxima linha
Serial.print("estado = "); // imprime na porta serial a palavra "estado = "
Serial.println(estado); // imprime o valor do estado e pula para a próxima linha
}
// PROGRAMA PRINCIPAL
void loop() {
debug();
digitalWrite(led1, HIGH); // acende o led1
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led1, LOW); // apaga o led1
digitalWrite(led2, HIGH); // acende o led2
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led2, LOW); // apaga o led2
digitalWrite(led3, HIGH); // acende o led3
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led3, LOW); // apaga o led3
digitalWrite(led4, HIGH); // acende o led4
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led4, LOW); // apaga o led4
digitalWrite(led5, HIGH); // acende o led5
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led5, LOW); // apaga o led5
digitalWrite(led6, HIGH); // acende o led6
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led6, LOW); // apaga o led6
}
//arrumado
* 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 posição do trimpot e usar esse valor para ajustar a velocidade
* Requisito1: A cada troca de estado deve ser atualizado o tempo conforme a 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 pinos digitais configurados como SAÍDA DIGITAL e o TRIMPOT em uma entrada analógica
* Comandos: pinMode(), analogRead(), digitalWrite(), delay(), map()
* Dica1: 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 trimpot A0 // define o trimpot no pino A0
#define led1 3 // define o led1 no pino 3
#define led2 4 // define o led2 no pino 4
#define led3 5 // define o led3 no pino 5
#define led4 6 // define o led4 no pino 6
#define led5 7 // define o led5 no pino 7
#define led6 8 // define o led6 no pino 8
// DECLARACAO DE VARIAVEIS GLOBAIS
int estado; //declara a variavel estado
// INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); // inicia a porta serial
pinMode(led1, OUTPUT); // define o led1 como saída
pinMode(led2, OUTPUT); // define o led2 como saída
pinMode(led3, OUTPUT); // define o led3 como saída
pinMode(led4, OUTPUT); // define o led4 como saída
pinMode(led5, OUTPUT); // define o led5 como saída
pinMode(led6, OUTPUT); // define o led6 como saída
}
// FUNÇÕES COMPLEMENTARES
void debug(){
int leitura = analogRead(trimpot); // faz a leitura do trimpot
estado = map(leitura, 0, 1023, 255, 0); // mapeia o valor lido para o intervalo desejado
Serial.print("trimpot = "); // imprime na porta serial a palavra "trimpot = "
Serial.println(leitura); // imprime o valor lido do trimpot e pula para a próxima linha
Serial.print("estado = "); // imprime na porta serial a palavra "estado = "
Serial.println(estado); // imprime o valor do estado e pula para a próxima linha
}
// PROGRAMA PRINCIPAL
void loop() {
debug();
digitalWrite(led1, HIGH); // acende o led1
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led1, LOW); // apaga o led1
digitalWrite(led2, HIGH); // acende o led2
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led2, LOW); // apaga o led2
digitalWrite(led3, HIGH); // acende o led3
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led3, LOW); // apaga o led3
digitalWrite(led4, HIGH); // acende o led4
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led4, LOW); // apaga o led4
digitalWrite(led5, HIGH); // acende o led5
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led5, LOW); // apaga o led5
digitalWrite(led6, HIGH); // acende o led6
delay(estado); // espera por um tempo proporcional ao estado
digitalWrite(led6, LOW); // apaga o led6
}
//arrumado
Permissões neste sub-fórum
Não podes responder a tópicos