- brunodavidsteiner
- Mensagens : 96
Data de inscrição : 21/05/2022
Escola : Juscelino K. de Oliveira
exercicio 2.12 resolvido
Sáb Jul 29, 2023 11:26 am
/*
* 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
//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 <= 8 ; pino++) {//enquanto pino for = ou maior que 8 adiciona + 1
if(pino == 4)pino = 5;//se pino e = 4 ele vai para 5
if(pino == 7)pino = 9;//se pino e = a 7 ele e vai a 9
for(byte brilho = 0 ; brilho <= 255 ; brilho++) {//enquanto o brilho for menor ou igual a 255 ele vai almentando
analogWrite(pino, brilho);//faz uma escrita digital no led com o valor de brilho
delay(10);//pausa de tempo de 10 milisegundos
}
for(byte brilho = 0 ; brilho <= 255 ; brilho++) {//enquanto o brilho for menor ou igual a 255 ele vai almentando
analogWrite(pino, brilho);//faz uma escrita digital no led com o valor de brilho
delay(10);//pausa de tempo de 10 milisegundos
}
}
}
* 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
//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 <= 8 ; pino++) {//enquanto pino for = ou maior que 8 adiciona + 1
if(pino == 4)pino = 5;//se pino e = 4 ele vai para 5
if(pino == 7)pino = 9;//se pino e = a 7 ele e vai a 9
for(byte brilho = 0 ; brilho <= 255 ; brilho++) {//enquanto o brilho for menor ou igual a 255 ele vai almentando
analogWrite(pino, brilho);//faz uma escrita digital no led com o valor de brilho
delay(10);//pausa de tempo de 10 milisegundos
}
for(byte brilho = 0 ; brilho <= 255 ; brilho++) {//enquanto o brilho for menor ou igual a 255 ele vai almentando
analogWrite(pino, brilho);//faz uma escrita digital no led com o valor de brilho
delay(10);//pausa de tempo de 10 milisegundos
}
}
}
- Monica Moreno
- Mensagens : 731
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Re: exercicio 2.12 resolvido
Ter Ago 01, 2023 2:52 pm
Boa Tarde
Aguardo Correção
Aguardo Correção
Re: exercicio 2.12 resolvido
Qui Ago 31, 2023 11:01 pm
É precisa arrumar mesmo, veja que o último pino PWM é o 11 então o for() precisa contar até o 11,
Tem o detalhe das chaves para ajustar e o primeiro for() acende e o segundo apaga. Então um tem que contar de 0 a 255 e o ouro de 255 a 0
Tem o detalhe das chaves para ajustar e o primeiro for() acende e o segundo apaga. Então um tem que contar de 0 a 255 e o ouro de 255 a 0
Permissões neste sub-fórum
Não podes responder a tópicos