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

Ir para baixo
Gigio
Gigio
Mensagens : 68
Data de inscrição : 09/03/2022
Idade : 17
Escola : Colegio Estadual Professor Lindaura Ribeiro Lucas

Exercício 2.12 Empty Exercício 2.12

Seg Jun 20, 2022 3:48 pm
/*
CURSO DE ROBOTICA 2020

Exercicio: 2.12
Tema: Função FOR()
Atividade: Sequencial de 6 LEDS com acendimento gradual
Descrição: fazer os 3 leds mais o led RGB piscarem de forma sequencial aumentando e reduzindo o brilho gradualmente
Hardware: Ligar os 6 leds em seis pinos digital configurados como SAÍDA
Comandos: pinMode, analogWrite, delay,for()
Dica1: Usar uma variavel para armazenar o tempo de espera entre as trocas de estado
Dica2: Configurar os leds nos pinos em ordem sequencial, usar os pinos PWM 3,5,6,9,10,11 e o contador do for rodando esses pinos
Dica3: As funções for() serão montadas uma dentro da outra
Dica4: Uma função for() conta os pinos dos leds e dentro do bloco outra função for() conta o incremento e decremento do brilho
*/

//DEFINICOES INICIAIS
#define led1 3 //Definido que o pino 3 vai se chamar "led1"
#define led2 5 //Definido que o pino 4 vai se chamar "led2"
#define led3 6 //Definido que o pino 5 vai se chamar "led3"
#define led4 9 //Definido que o pino 6 vai se chamar "led4"
#define led5 10 //Definido que o pino 7 vai se chamar "led5"
#define led6 11 //Definido que o pino 8 vai se chamar "led6"

//DECLARAcAO DE VARIAVEIS
byte Contador; //Variável para o Contador,
byte Luminosidade; //Variável para controlar a luminosidade,
byte Numeror = 1; //Variável para a soma do contador de luminosidade.

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicia o monitor serial,
pinMode(led1, OUTPUT); //programado o led1 como saida
pinMode(led2, OUTPUT); //programado o led2 como saida
pinMode(led3, OUTPUT); //programado o led3 como saida
pinMode(led4, OUTPUT); //programado o led4 como saida
pinMode(led5, OUTPUT); //programado o led5 como saida
pinMode(led6, OUTPUT); //programado o led6 como saida
}

//FUNÇÕES COMPLEMENTARES
void Conta() { //Função para fazer a conta para que o for() do controle dos LEDs pule os pinos que não são PWM.
if (Contador == 4 || Contador == 8 ) { //Se o valor do Contador for 4 ou 8, então:
Contador += 1; //O Contador irá aumentar 1 número.
}
if (Contador == 7) { //Se o valor do Contador for 7, então:
Contador += 2; //O Contador irá aumentar 2 números.
}
}

//PROGRAMA PRINCIPAL
void loop() {
for (Contador = 3; Contador < 12; Contador ++) { //O valor de Contador será 3, deve ser menor que 12, e irá acrescentar a cada loop,
Conta(); //Invoca a função conta,
Numeror = 1; //Numeror é igual a 1,
for (Luminosidade = 0; Luminosidade < 255; Luminosidade += Numeror) { //O valor da Luminosidade será 0, ela deve ser menor que 255 e irá somar ao Numeror a cada loop,
Serial.println(Luminosidade); //Manda o valor de Luminosidade ao monitor serial,
analogWrite(Contador, Luminosidade); //Liga o LED analógicamente com o valor de Luminosidade,
delay(10); //Delay de 10 MS,
if (Luminosidade == 254) { //Se o valor de luminosidade for igual a 254, então:
Numeror = -1; //Numeror será igual a -1.
}
}
}
}
Monica Moreno
Monica Moreno
Mensagens : 720
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Exercício 2.12 Empty Re: Exercício 2.12

Ter Jun 21, 2022 10:15 am
Bom Dia
Funcionou
Nota 10.0 Exercício 2.12 1f44d Exercício 2.12 1f44d
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 2.12 Empty Re: Exercício 2.12

Ter Ago 02, 2022 10:22 pm
Giovanni, vi que achou uma forma diferente para resolver o exercício, e isso mostra que está entendendo bem a lógica de programação. Parabéns pela evolução.
Nota Lançada.
Conteúdo patrocinado

Exercício 2.12 Empty Re: Exercício 2.12

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