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

Ir para baixo
avatar
André Luis Caetano
Mensagens : 41
Data de inscrição : 10/03/2020
Escola : São Critóvão

Exercício 1.5 Empty Exercício 1.5

Sáb Abr 25, 2020 5:03 pm
/*
* Exercicio: 1.5
* Tema: Pinos Digitais
* Atividade: Sequencial de 6 LEDS com BEEP
* Descrição: fazer os 3 leds mais o led RGB piscarem de forma sequencial controlado por uma variavel de tempo acionando o beep
* Hardware: Ligar os 6 leds mais o buzzer em sete pinos digital configurados como SAÍDA
* Comandos: pinMode(), digitalWrite(), delay(), tone()
* Dica1: Usar uma variavel para armazenar o tempo de espera entre as trocas de estado
* Dica2: Pode acionar o buzzer a cada troca de estado, a cada volta ou conforme sua criatividade
*/

//DEFINICOES INICIAIS
#define l1 2//foi definido  pino1 como l1
#define l2 3//foi definido  pino2 como l2
#define l3 4//foi definido  pino3 como l3
#define l4 5//foi definido  pino4 como l4
#define l5 6//foi definido  pino5 como l5
#define l6 7//foi definido  pino6 como l6
#define buzzer 13 //foi definido pino 13 como buzzer,sendo acionado ao apagar os leds 1 e 4

//DECLARAcAO DE VARIAVEIS
//foi definido o delay como a variavel de tempo

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(l1,OUTPUT);//l1 foi programado como saída
pinMode(l2,OUTPUT);//l2 foi programado como saída
pinMode(l3,OUTPUT);//l3 foi programado como saída
pinMode(l4,OUTPUT);//l4 foi programado como saída
pinMode(l5,OUTPUT);//l5 foi programado como saída
pinMode(l6,OUTPUT);//l6 foi programado como saída
pinMode(buzzer,OUTPUT);//buzzer foi programado como saída
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(l1,HIGH);//l1 aceso
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l1,LOW);//l1 apagado
tone(buzzer, 1000);//foi programado para acionar o buzzer por um segundo
delay(1000);//foi dado um espaço de um segundo para o buzzer
noTone(buzzer);//foi programado para encerrar o buzzer
digitalWrite(l2,HIGH);//l2 aceso
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l2,LOW);//l2 apagado
digitalWrite(l3,HIGH);//l3 aceso
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l3,LOW);//l3 apagado
digitalWrite(l4,HIGH);//l4 aceso
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l4,LOW);//l4 apagado
tone(buzzer, 1000);//foi programado para acionar o buzzer por um segundo
delay(1000);//foi dado um espaço de um segundo para o buzzer
noTone(buzzer);//foi programado para encerrar o buzzer
digitalWrite(l5,HIGH);//l5 aceso
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l5,LOW);//l5 apagado
digitalWrite(l6,HIGH);//l6 aceso
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l6,LOW);//l6 apagado
//By André Luis Caetano
}
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

Exercício 1.5 Empty Re: Exercício 1.5

Dom Abr 26, 2020 12:22 pm
Muito bom André, nota 10.0 pelo programa porque usou corretamente a função tone().
Tem um trecho que gostaria de fazer uma observação.

digitalWrite(l3,LOW);//l3 apagado
digitalWrite(l4,HIGH);//l4 aceso //Nesse ponto o led4 está aceso
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l4,LOW);//l4 apagado //Nesse ponto todos os leds ficaram apagados
tone(buzzer, 1000);//foi programado para acionar o buzzer por um segundo
delay(1000);//foi dado um espaço de um segundo para o buzzer //um beep de 1 segundo fou emitido
noTone(buzzer);//foi programado para encerrar o buzzer
digitalWrite(l5,HIGH);//l5 aceso // Aqui que acendeu o led5
delay(1000);//foi dado um espaço de um segundo para o led
digitalWrite(l5,LOW);//l5 apagado
digitalWrite(l6,HIGH);//l6 aceso

Deixou todos os leds apagados bem no meio do sequencial e emitiu um beep nesse ponto. Considerei que foi proposital e de forma planejada.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos