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 2.06 Empty exercicio 2.06

Qui Jul 02, 2020 9:31 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
// led1 = 1segundo , led2 = 300ms, buzzer 500ms
void loop() {
if (millis() > (led1 + 1000))(; para abrir um bloco usa { chaves
 tled1 = millis(); //Se declarou a variavel escrita tLed1, deve usar dessa forma
 estadoled1 = !estadoLed1; //veja que nessa variável o L deve ser maiusculo
 digitalWrite(led1, estadoLed1);
}
if (millis() > (led2 + 1000))(; //deve usar { chaves nos blocos
 tled1 = millis(); //O L foi declarado em maiusculo
 estadoled1 = !estadoLed2; // olha o maiusculo ai de novo
 digitalWrite(led2, estadoLed2);
 }
if (millis() > (buzzer + 1000))( é chaves e não parenteses
 tled1 = millis(); //olha o maiusculo ai de novo
 estadoBuzzer = !estadoBuzzer;
 digitalWrite(Buzzer, estadoBuzzer); //aqui foi ao contrário, o buzzer foi definido tudo minusculo
} //fechou o if() e faltou fechar o loop()
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 2.06 Empty Re: exercicio 2.06

Sáb Jul 04, 2020 1:10 pm
Fala Lucca, nesse programa está se superando, tem erro de sintaxe em quase todas as linhas. em vermelho vou apontar todos, mas é voce que tem que revisar antes de passar para mim.

O simulide informa os erros e aponta onde estão, precisa ler as mensagens e corrigir.

Se não lembra como faz as sintaxes tem uma aula somente sobre como programar, uma das primeiras tratam desses temas, veja as aulas 1.1 e 1.2
Lá explico que cada comando precisa terminar com ; , as variáveis são sensitivas, ou seja deferencia letras maiusculas de minusculas, os blocos devem ser aberto e fechado com chaves, entre outros detalhes que são básicos da programação. Se não souber disso precisa voltar a primeira aula e memorizar isso. Na apostila tem também um tópico sobre esses temas. Leia e releia a apostila e procure entender esses detalhes.
Não tem como continuar sem saber disso.

Nota 3.0

Outro detalhe, precisa terminar o capitulo 1 antes de começar o 2, todas as notas devem estar acima de 7.0
- Lá falta atenção ao transcrever o programa do video para o arduino
- Precisa melhorar a concentração ao assistir as aulas
- Mais esforço para compreender os conceitos
- Falta entendimento para fazer os comentários
Precisa superar essas dificuldades para prosseguir nesse capítulo.
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 2.06 Empty Re: exercicio 2.06

Ter Ago 04, 2020 9:51 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//Definido que o pino 2 vai se chamar led1
#define led2 3//Definido que o pino 3 vai se chamar led2
#define buzzer 4//Definido que o pino 4 vai se chamar buzzer

//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer = 0;//Definido uma variavel para guardar os valores dos  estadoled1, estadoled2, estadobuzzer
unsigned long tled1, tled2 , tbuzzer = 0;//Definido uma variavel para guardar os valores dos  tled1, tled2 , tbuzzer

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

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
//led1 = 1segundo, led2 = 300ms, buzzer = 500ms
void loop() {
if(millis() > (tled1 + 1000)){//Definido que millis e maior do que tled1 + 1000?
tled1 = millis();//Definido que o tled1 e = a millis
estadoled1 = !estadoled1;//Estadoled1 e igual a !estadoled1
digitalWrite(led1, estadoled1);//Definido que o led vai acender ou apagar com o valor do estadled1
}
 if(millis() > (tled2 + 300)){//Definido que millis e maior do que tled2 + 300?
tled2 = millis();//Definido que o tled2 e = a millis
estadoled2 = !estadoled2;//Estadoled12 e igual a !estadoled2
digitalWrite(led2, estadoled2);//Definido que o led vai acender ou apagar com o valor do estadled2
}
if(millis() > (tbuzzer + 500)){//Definido que millis e maior do que tbuzzer + 500?
tbuzzer = millis();//Definido que o tbuzzer e = a millis
estadobuzzer = !estadobuzzer;//Estadobuzzer e igual a !estadobuzzer
if(estadobuzzer == 1);{//sera que estadobuzzer e igual a 1
tone(buzzer, 1500);//Buzzer vai emitir uma frequencia de 1500

} else {
noTone(buzzer);//buzzer nao vai emitir uma frequencia
}
}
}
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 2.06 Empty Re: exercicio 2.06

Ter Ago 11, 2020 9:00 pm
Ainda ficou erro na linha em vermelho, lembra que precisa testar o programa. Me avisa se funcionou
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 2.06 Empty Re: exercicio 2.06

Qua Ago 26, 2020 9:17 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 4//Definido que o pino 4 vai se chamar led1
#define led2 3//Definido que o pino 3 vai se chamar led2
#define buzzer 5//Definido que o pino 5 vai se chamar buzzer

//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer = 0;//Definido uma variavel para guardar os valores dos estadoled1, estadoled2, estadobuzzer
unsigned long tled1, tled2 , tbuzzer = 0;//Definido uma variavel para guardar os valores dos tled1, tled2 , tbuzzer

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

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
//led1 = 1segundo, led2 = 300ms, buzzer = 500ms
void loop() {
if(millis() > (tled1 + 1000)){//Definido que millis e maior do que tled1 + 1000?
tled1 = millis();//Definido que o tled1 e = a millis
estadoled1 = !estadoled1;//Estadoled1 e igual a !estadoled1
digitalWrite(led1, estadoled1);//Definido que o led vai acender ou apagar com o valor do estadled1
}
if(millis() > (tled2 + 300)){//Definido que millis e maior do que tled2 + 300?
tled2 = millis();//Definido que o tled2 e = a millis
estadoled2 = !estadoled2;//Estadoled12 e igual a !estadoled2
digitalWrite(led2, estadoled2);//Definido que o led vai acender ou apagar com o valor do estadled2
}
if(millis() > (tbuzzer + 500)){//Definido que millis e maior do que tbuzzer + 500?
tbuzzer = millis();//Definido que o tbuzzer e = a millis
estadobuzzer = !estadobuzzer;//Estadobuzzer e igual a !estadobuzzer
if(estadobuzzer == 1);{//sera que estadobuzzer e igual a 1
tone(buzzer, 1500);//Buzzer vai emitir uma frequencia de 1500
}
}else {
noTone(buzzer);//buzzer nao vai emitir uma frequencia
}
}
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 2.06 Empty Re: exercicio 2.06

Ter Set 01, 2020 9:50 pm
Lucca, tem dois errinhos no programa.
1 - if(estadobuzzer == 1);{//sera que estadobuzzer e igual a 1 //Sabe que não vai ; depois da condição do if(), certo?
2 - antes do else não da pra fechar duas chaves, só se tivesse outra função la dentro, como não tem...
}
}else {

Se der certo vai soar o buzzer.
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 2.06 Empty Re: exercicio 2.06

Sex Set 04, 2020 9:22 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//Definido que o pino 2 vai se chamar led1
#define led2 3//Definido que o pino 3 vai se chamar led2
#define buzzer 4//Definido que o pino 4 vai se chamar buzzer

//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer = 0;//Definido uma variavel para guardar os valores dos estadoled1, estadoled2, estadobuzzer
unsigned long tled1, tled2 , tbuzzer = 0;//Definido uma variavel para guardar os valores dos tled1, tled2 , tbuzzer

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

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
//led1 = 1segundo, led2 = 300ms, buzzer = 500ms
void loop() {
if(millis() > (tled1 + 1000)){//Definido que millis e maior do que tled1 + 1000?
tled1 = millis();//Definido que o tled1 e = a millis
estadoled1 = !estadoled1;//Estadoled1 e igual a !estadoled1
digitalWrite(led1, estadoled1);//Definido que o led vai acender ou apagar com o valor do estadled1
}
if(millis() > (tled2 + 300)){//Definido que millis e maior do que tled2 + 300?
tled2 = millis();//Definido que o tled2 e = a millis
estadoled2 = !estadoled2;//Estadoled12 e igual a !estadoled2
digitalWrite(led2, estadoled2);//Definido que o led vai acender ou apagar com o valor do estadled2
}
if(millis() > (tbuzzer + 500)){//Definido que millis e maior do que tbuzzer + 500?
tbuzzer = millis();//Definido que o tbuzzer e = a millis
estadobuzzer = !estadobuzzer;//Estadobuzzer e igual a !estadobuzzer
if(estadobuzzer == 1){//Sabese que depois do comando if ira dar falso
tone(buzzer, 1500);//Buzzer vai emitir uma frequencia de 1500

} else {
noTone(buzzer);//buzzer nao vai emitir uma frequencia
}
}
}
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 2.06 Empty Re: exercicio 2.06

Sex Set 11, 2020 9:58 pm
Lucca o programa está correto, mas tem uns comentários que não ilustram o entendimento do programa. Veja abaixo:

if(millis() > (tled1 + 1000)){ // Definido que millis e maior do que tled1 + 1000? . Disse que esse comando é um define, e não é. Disse também que torna o millis() maior que tled + 1000, não é atribuição.

Para ganhar a nota gostaria que reescrevesse esse comentário .
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 2.06 Empty Re: exercicio 2.06

Qua Set 16, 2020 10:52 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//Definido que o pino 2 vai se chamar led1
#define led2 3//Definido que o pino 3 vai se chamar led2
#define buzzer 4//Definido que o pino 4 vai se chamar buzzer

//DECLARAcAO DE VARIAVEIS GLOBAIS
bool estadoled1, estadoled2, estadobuzzer = 0;//Definido uma variavel para guardar os valores dos estadoled1, estadoled2, estadobuzzer
unsigned long tled1, tled2 , tbuzzer = 0;//Definido uma variavel para guardar os valores dos tled1, tled2 , tbuzzer

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

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
//led1 = 1segundo, led2 = 300ms, buzzer = 500ms
void loop() {
if(millis() > (tled1 + 1000)){//se millis() for maior que tLed1 mais 1000
tled1 = millis();//Definido que o tled1 e = a millis
estadoled1 = !estadoled1;//Estadoled1 e igual a !estadoled1
digitalWrite(led1, estadoled1);//Definido que o led vai acender ou apagar com o valor do estadled1
}
if(millis() > (tled2 + 300)){//se millis() for maior que tLed2 mais 300
tled2 = millis();//Definido que o tled2 e = a millis
estadoled2 = !estadoled2;//Estadoled12 e igual a !estadoled2
digitalWrite(led2, estadoled2);//Definido que o led vai acender ou apagar com o valor do estadled2
}
if(millis() > (tbuzzer + 500)){//se millis() for maior que tBuzzer mais 500
tbuzzer = millis();//Definido que o tbuzzer e = a millis
estadobuzzer = !estadobuzzer;//Estadobuzzer e igual a !estadobuzzer
if(estadobuzzer == 1){//Sabese que depois do comando if ira dar falso
tone(buzzer, 1500);//Buzzer vai emitir uma frequencia de 1500

} else {
noTone(buzzer);//buzzer nao vai emitir uma frequencia
}
}
}
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 2.06 Empty Re: exercicio 2.06

Qua Set 23, 2020 10:14 pm
Tá bom nota 10.0. Mas poderia ter mandado somente o comentário.
Conteúdo patrocinado

exercicio 2.06 Empty Re: exercicio 2.06

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