exercicio 2.6
3 participantes
- Sr.Sucrilhos
- Mensagens : 103
Data de inscrição : 30/03/2022
Idade : 12
Escola : São Cristovão
exercicio 2.6
Qui Mar 16, 2023 10:49 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 áudio com intermitência em cadência diferente dos leds
* Hardware: Ligar os leds e o buzzer em pinos digitais configurados 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 impedindo 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 um único valor, pode-se fazer a declaração em uma única linha separando-as por vírgula
*/
// DEFINIÇÕES INICIAIS
#define led1 3
#define led2 4
#define buzzer 5
// DECLARAÇÃO 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)) {
tLed1 = millis();
estadoLed1 = !estadoLed1;
digitalWrite(led1, estadoLed1);
}
if (millis() > (tLed2 + 300)) {
tLed2 = millis(); // Corrigido de tLed1 para tLed2
estadoLed2 = !estadoLed2;
digitalWrite(led2, estadoLed2);
}
if (millis() > (tBuzzer + 500)) {
tBuzzer = millis();
estadoBuzzer = !estadoBuzzer;
if (estadoBuzzer == 1) {
tone(buzzer, 1500);
} else {
noTone(buzzer);
}
}
}
* 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 áudio com intermitência em cadência diferente dos leds
* Hardware: Ligar os leds e o buzzer em pinos digitais configurados 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 impedindo 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 um único valor, pode-se fazer a declaração em uma única linha separando-as por vírgula
*/
// DEFINIÇÕES INICIAIS
#define led1 3
#define led2 4
#define buzzer 5
// DECLARAÇÃO 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)) {
tLed1 = millis();
estadoLed1 = !estadoLed1;
digitalWrite(led1, estadoLed1);
}
if (millis() > (tLed2 + 300)) {
tLed2 = millis(); // Corrigido de tLed1 para tLed2
estadoLed2 = !estadoLed2;
digitalWrite(led2, estadoLed2);
}
if (millis() > (tBuzzer + 500)) {
tBuzzer = millis();
estadoBuzzer = !estadoBuzzer;
if (estadoBuzzer == 1) {
tone(buzzer, 1500);
} else {
noTone(buzzer);
}
}
}
- Sr.Sucrilhos
- Mensagens : 103
Data de inscrição : 30/03/2022
Idade : 12
Escola : São Cristovão
Re: exercicio 2.6
Qui Mar 30, 2023 9:33 am
corrigido os comentarios pode corrigir professor
Re: exercicio 2.6
Dom Abr 02, 2023 10:17 pm
Oi Pablo, o buzzer não está funcionando, logo não atende ao enunciado. Comentários corretos.
Não tem erro de sintaxe, mas tem um de semantica. Nota 6.0
Não tem erro de sintaxe, mas tem um de semantica. Nota 6.0
- Sr.Sucrilhos
- Mensagens : 103
Data de inscrição : 30/03/2022
Idade : 12
Escola : São Cristovão
Re: exercicio 2.6
Sáb Nov 25, 2023 10:58 am
corrigido
- Sr.Sucrilhos
- Mensagens : 103
Data de inscrição : 30/03/2022
Idade : 12
Escola : São Cristovão
Re: exercicio 2.6
Sáb Dez 09, 2023 10:49 am
corrigi
- Thiaguin
- Mensagens : 176
Data de inscrição : 03/03/2020
Re: exercicio 2.6
Sáb Abr 20, 2024 10:31 am
O programa está funcionando corretamente porém não há comentários.
Nota 6.0
Nota 6.0
Permissões neste sub-fórum
Não podes responder a tópicos
|
|