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

Ir para baixo
Gabriel Novak
Gabriel Novak
Mensagens : 65
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

exercicio 2.6 Empty exercicio 2.6

Qui Jun 01, 2023 9:08 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.6
* Tema: Função millis()
* Atividade: Intermitencias usando leds e buzzer
* Descrição: Utilizar dois leds piscando em tempos diferentes e um buzzer emitindo audio com intermitência em cadencia diferente dos leds
* Hardware: Ligar os leds e o buzzer em pinos digital configurado como SAÍDA
* Comandos: pinMode, IF, millis(), digitalWrite
* Dica1:A função millis() é um contador de tempo de execução, quando acionada retorna o tempo de execução em milissegundos
* Dica2:Substituir o delay() por millis() porque o delay() pára o fluxo do programa impedidndo o arduino de rodar outros programas
* Dica3:Usar variáveis para controlar os temporizadores, usar do tipo unsigned long para essa aplicação
* Dica4:Com a função if() comparar se os tempos foram atingidos e caso sim tomar as ações
* Dica5:Usar o operador de inversão e uma variável para controlar o estado dos leds
* Dica6:Para declarar mais de uma variável do mesmo tipo e inicializar com único valor pode fazer a declaração em única linha separando-as por virgula
*/

//DEFINICOES INICIAIS
#define led1 2
#define led2 3
#define buzzer 4
//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer =0;
unsigned long tled1, tled2, tbuzzer =0 ;

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



}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL

void loop() {
if(millis() > (tled1 + 1000){//se o millis for maior que o tled1 +1000 rodar o progama a seguir
tled1 = millis() ;//fazer o valor de tled1 ficar igual o valor do buzzer
estadoled1 = !estdoled1;//o valor do estadoled1 = o alcontrario do estadoled1
digitalWrite(led1, estadoled1);//passar o valor do estadoled para o led
}
if(millis() > (tbuzzer + 500){//se o millis for maior que o tbuzzer + 500 rodar o progama a seguir
tled2 = millis() ;//fazer o valor de tled2 ficar igual o valor do buzzer
estadoled2 = !estdoled2;//o valor do estadoled2 = o alcontrario do estadoled2
digitalWrite(led2, estadoled2);//passar o valor do estadoled para o led
}
if(millis() > (tbuzzer + 300){//se o millis for maior que o tled2 + 300 rodar o progama a seguir
tbuzzer = millis() ;//fazer o valor de tbuzzer ficar igual o valor do buzzer
estadobuzzer = !estdobuzzer;//o valor do estadobuzzer = o alcontrario do estadobuzzer

}
if(estadobuzzer == 1){
tone(buzzer, 1500);

}else{

noTone(buzzer);
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 2.6 Empty Re: exercicio 2.6

Dom Jun 04, 2023 11:05 pm
Oi Gabriel, vi que o programa está com alguns erros de sintaxe, um deles tem a ver com o if(), nele abre duas vezes os parenteses e fecha somente uma, daí dá erro.
Outro erro é o nome que esta usando no estadoled, em um deles escreveu faltando uma letra.
Gabriel Novak
Gabriel Novak
Mensagens : 65
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

exercicio 2.6 Empty 2.6 corrigido

Ter Jun 13, 2023 8:07 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.6
* Tema: Função millis()
* Atividade: Intermitencias usando leds e buzzer
* Descrição: Utilizar dois leds piscando em tempos diferentes e um buzzer emitindo audio com intermitência em cadencia diferente dos leds
* Hardware: Ligar os leds e o buzzer em pinos digital configurado como SAÍDA
* Comandos: pinMode, IF, millis(), digitalWrite
* Dica1:A função millis() é um contador de tempo de execução, quando acionada retorna o tempo de execução em milissegundos
* Dica2:Substituir o delay() por millis() porque o delay() pára o fluxo do programa impedidndo o arduino de rodar outros programas
* Dica3:Usar variáveis para controlar os temporizadores, usar do tipo unsigned long para essa aplicação
* Dica4:Com a função if() comparar se os tempos foram atingidos e caso sim tomar as ações
* Dica5:Usar o operador de inversão e uma variável para controlar o estado dos leds
* Dica6:Para declarar mais de uma variável do mesmo tipo e inicializar com único valor pode fazer a declaração em única linha separando-as por virgula
*/

//DEFINICOES INICIAIS
#define led1 2
#define led2 3
#define buzzer 4
//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer =0;
unsigned long tled1, tled2, tbuzzer =0 ;

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



}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL

void loop() {
if(millis() > (tled1 + 1000)){//se o millis for maior que o tled1 +1000 rodar o progama a seguir
tled1 = millis() ;//fazer o valor de tled1 ficar igual o valor do buzzer
estadoled1 = !estdoled1;//o valor do estadoled1 = o alcontrario do estadoled1
digitalWrite(led1, estadoled1);//passar o valor do estadoled para o led
}
if(millis() > (tbuzzer + 500)){//se o millis for maior que o tbuzzer + 500 rodar o progama a seguir
tled2 = millis() ;//fazer o valor de tled2 ficar igual o valor do buzzer
estadoled2 = !estadoled2;//o valor do estadoled2 = o alcontrario do estadoled2
digitalWrite(led2, estadoled2);//passar o valor do estadoled para o led
}
if(millis() > (tbuzzer + 300)){//se o millis for maior que o tled2 + 300 rodar o progama a seguir
tbuzzer = millis() ;//fazer o valor de tbuzzer ficar igual o valor do buzzer
estadobuzzer = !estdobuzzer;//o valor do estadobuzzer = o alcontrario do estadobuzzer

}
if(estadobuzzer == 1){
tone(buzzer, 1500);

}else{

noTone(buzzer);
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 2.6 Empty Re: exercicio 2.6

Seg Jun 19, 2023 10:29 pm
Oi Gabriel, está quase, mas o nome da variável estadobuzzer está errado, faltou um a nele. E outro detalhe, na intermitencia do led2 no if() esta comparando com tbuzzer, não vai funcionar
Gabriel Novak
Gabriel Novak
Mensagens : 65
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

exercicio 2.6 Empty 2.6 resolvido

Qui Jun 22, 2023 8:14 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.6
* Tema: Função millis()
* Atividade: Intermitencias usando leds e buzzer
* Descrição: Utilizar dois leds piscando em tempos diferentes e um buzzer emitindo audio com intermitência em cadencia diferente dos leds
* Hardware: Ligar os leds e o buzzer em pinos digital configurado como SAÍDA
* Comandos: pinMode, IF, millis(), digitalWrite
* Dica1:A função millis() é um contador de tempo de execução, quando acionada retorna o tempo de execução em milissegundos
* Dica2:Substituir o delay() por millis() porque o delay() pára o fluxo do programa impedidndo o arduino de rodar outros programas
* Dica3:Usar variáveis para controlar os temporizadores, usar do tipo unsigned long para essa aplicação
* Dica4:Com a função if() comparar se os tempos foram atingidos e caso sim tomar as ações
* Dica5:Usar o operador de inversão e uma variável para controlar o estado dos leds
* Dica6:Para declarar mais de uma variável do mesmo tipo e inicializar com único valor pode fazer a declaração em única linha separando-as por virgula
*/

//DEFINICOES INICIAIS
#define led1 2
#define led2 3
#define buzzer 4
//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer =0;
unsigned long tled1, tled2, tbuzzer =0 ;

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



}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL

void loop() {
if(millis() > (tled1 + 1000)){//se o millis for maior que o tled1 +1000 rodar o progama a seguir
tled1 = millis() ;//fazer o valor de tled1 ficar igual o valor do buzzer
estadoled1 = !estdoled1;//o valor do estadoled1 = o alcontrario do estadoled1
digitalWrite(led1, estadoled1);//passar o valor do estadoled para o led
}
if(millis() > (tled2 + 500)){//se o millis for maior que o tbuzzer + 500 rodar o progama a seguir
tled2 = millis() ;//fazer o valor de tled2 ficar igual o valor do buzzer
estadoled2 = !estadoled2;//o valor do estadoled2 = o alcontrario do estadoled2
digitalWrite(led2, estadoled2);//passar o valor do estadoled para o led
}
if(millis() > (tbuzzer + 300)){//se o millis for maior que o tled2 + 300 rodar o progama a seguir
tbuzzer = millis() ;//fazer o valor de tbuzzer ficar igual o valor do buzzer
estadobuzzer = !estadobuzzer;//o valor do estadobuzzer = o alcontrario do estadobuzzer

}
if(estadobuzzer == 1){
tone(buzzer, 1500);

}else{

noTone(buzzer);
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 2.6 Empty Re: exercicio 2.6

Sex Jun 23, 2023 10:35 pm
No meu compilador deu esse erro abixo
programas.ino:44:15: error: 'estdoled1' was not declared in this scope
estadoled1 = !estdoled1;//o valor do estadoled1 = o alcontrario do estadoled1

Gabriel Novak
Gabriel Novak
Mensagens : 65
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

exercicio 2.6 Empty 2.6 de novo

Ter Jun 27, 2023 8:03 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.6
* Tema: Função millis()
* Atividade: Intermitencias usando leds e buzzer
* Descrição: Utilizar dois leds piscando em tempos diferentes e um buzzer emitindo audio com intermitência em cadencia diferente dos leds
* Hardware: Ligar os leds e o buzzer em pinos digital configurado como SAÍDA
* Comandos: pinMode, IF, millis(), digitalWrite
* Dica1:A função millis() é um contador de tempo de execução, quando acionada retorna o tempo de execução em milissegundos
* Dica2:Substituir o delay() por millis() porque o delay() pára o fluxo do programa impedidndo o arduino de rodar outros programas
* Dica3:Usar variáveis para controlar os temporizadores, usar do tipo unsigned long para essa aplicação
* Dica4:Com a função if() comparar se os tempos foram atingidos e caso sim tomar as ações
* Dica5:Usar o operador de inversão e uma variável para controlar o estado dos leds
* Dica6:Para declarar mais de uma variável do mesmo tipo e inicializar com único valor pode fazer a declaração em única linha separando-as por virgula
*/

//DEFINICOES INICIAIS
#define led1 2
#define led2 3
#define buzzer 4
//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer =0;
unsigned long tled1, tled2, tbuzzer =0 ;

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



}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL

void loop() {
if(millis() > (tled1 + 1000)){//se o millis for maior que o tled1 +1000 rodar o progama a seguir
tled1 = millis() ;//fazer o valor de tled1 ficar igual o valor do buzzer
estadoled1 = !estadoled1;//o valor do estadoled1 = o alcontrario do estadoled1
digitalWrite(led1, estadoled1);//passar o valor do estadoled para o led
}
if(millis() > (tled2 + 500)){//se o millis for maior que o tbuzzer + 500 rodar o progama a seguir
tled2 = millis() ;//fazer o valor de tled2 ficar igual o valor do buzzer
estadoled2 = !estadoled2;//o valor do estadoled2 = o alcontrario do estadoled2
digitalWrite(led2, estadoled2);//passar o valor do estadoled para o led
}
if(millis() > (tbuzzer + 300)){//se o millis for maior que o tled2 + 300 rodar o progama a seguir
tbuzzer = millis() ;//fazer o valor de tbuzzer ficar igual o valor do buzzer
estadobuzzer = !estadobuzzer;//o valor do estadobuzzer = o alcontrario do estadobuzzer

}
if(estadobuzzer == 1){
tone(buzzer, 1500);

}else{

noTone(buzzer);
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 2.6 Empty Re: exercicio 2.6

Sex Jun 30, 2023 10:21 pm
Agora funcionou, faltou um comentariozinho, mas vou considerar, nota 10.0
Conteúdo patrocinado

exercicio 2.6 Empty Re: exercicio 2.6

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