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

Ir para baixo
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

Exercício 2.12 Sequencial Gradual Empty Exercício 2.12 Sequencial Gradual

Sex Ago 14, 2020 4:54 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 5 vai se chamar "led2"
#define led3 6 //Definido que o pino 6 vai se chamar "led3"
#define led4 9 //Definido que o pino 9 vai se chamar "led4"
#define led5 10 //Definido que o pino 10 vai se chamar "led5"
#define led6 11 //Definido que o pino 11 vai se chamar "led6"

//DECLARAcAO DE VARIAVEIS
int tempo=2;//Variável para ser atribuído o valor do tempo
byte x=1;//Variável para ser atribuído o valor de x

//INICIALIZAÇÃO DO HARDWARE
void setup() {
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


//PROGRAMA PRINCIPAL
void loop() {
for(byte pino=3;pino<=11;pino++){//O valor da variável pino irá começar com o valor 3 , e irá sendo somada a 1 até chegar a 11
if(pino==4)pino=5;//Se o valor da variável pino for 4 irá passar a ser 5
if(pino==7)pino=9;//Se o valor da variável pino for 7 irá passar a ser 9
if(pino==8)pino=10;//SE o valor da variável pino for 8 irá passar a ser 10
byte x=1;//Variável para ser atribuído o valor de x
for(byte brilho=0;brilho<255;brilho=brilho+x){//O valor da variável brilho irá começar com o valor 0 , e irá sendo somada com o valor de x , até chegar em 254
analogWrite(pino,brilho);//O led com o número do pino escrito irá receber o valor da variável brilho
delay(tempo);//O intervalo de tempo será o valor da variável tempo
if(brilho==254)x=-1;//Se o valor da variável x for igual a 254 irá passar a ser -1
}
}
}
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 2.12 Sequencial Gradual Empty Re: Exercício 2.12 Sequencial Gradual

Seg Ago 24, 2020 1:20 am
Perfeito Thiago, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos