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

Ir para baixo
brunoeduardo
brunoeduardo
Mensagens : 85
Data de inscrição : 26/02/2019
Idade : 19

Exercício 2.11 () Empty Exercício 2.11 ()

Qui Mar 24, 2022 1:46 pm
/*
*  CURSO DE ROBOTICA 2020
*
* Exercicio: 2.11
* Tema: Função FOR()
* Atividade: Sequencial de 6 LEDS
* Descrição: fazer os 3 leds mais o led RGB piscarem de forma sequencial usando a função for()
* Hardware: Ligar os 6 leds em seis pinos digital configurados como SAÍDA
* Comandos: pinMode, digitalWrite, 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 3,4,5,6,7,8 e o contador do for rodando esses pinos
* Dica3: As funções for() será usada para contar os pinos dos leds
* Dica4: O comando digitalWrite(pino, estado); usar no lugar do valor do pino a variável do contador
*/

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

//DECLARAcAO DE VARIAVEIS
int i = 0;  // varivel para armazenarr valores numericos
int acende = 0;

//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
}
void loop() {
for(acende = 3; acende <= 8; acende++){ // se "acende" for igual a 3, e "i" e menor que 8 a variavel acende vai ser incrementada
    for(i = 3; i <= 255; i++){         //
      digitalWrite(acende, 1);
      delay(100);                       //tempo de espera de 100 ms
    }
 for(i = 255; i >= 0; i --){
      digitalWrite(acende, 1);
      delay(100);                       //  mais um tempo de espera de 100 ms
 }
}
}
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.11 () Empty Re: Exercício 2.11 ()

Qui Abr 28, 2022 1:33 am
Oi Bruno, Nesse exercício não precisa fazer ele acender gradual, tem outro que tratará desse tema, logo o for que conta de 0 a 255 não precisa usar.
Daí no primeiro for tem que fazer igual o sequencial normal, acende temporiza apaga temporiza. E usa o for() para contar os pinos.
Nota 5.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos