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

Ir para baixo
gustavo de oliveira pires
gustavo de oliveira pires
Mensagens : 109
Data de inscrição : 31/08/2022
Escola : murici

exercício 2.13 Empty exercício 2.13

Qua Out 25, 2023 10:40 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.13
* Tema: Função FOR()e comando continue
* 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(), continue, break
* 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
* Dica5: Para pular os pinos que não são PWM use o comando continue
* Dica6: Parar o sequencial caso uma tecla seja pressionada, usar interrupção para essa aplicação
*/

//DEFINICOES INICIAIS
#define led1 3 //define o led que vai ser usado
#define led2 5 //define o led que vai ser usado
#define led3 6 //define o led que vai ser usado
#define led4 9 //define o led que vai ser usado
#define led5 10 //define o led que vai ser usado
#define led6 11 //define o led que vai ser usado
#define tecla 2 //tecla de interrupção
//DECLARAcAO DE VARIAVEIS
bool parada = 0; //define a variavel que vai ser usada

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT); //define o led como saida
pinMode(led2, OUTPUT); //define o led como saida
pinMode(led3, OUTPUT); //define o led como saida
pinMode(led4, OUTPUT); //define o led como saida
pinMode(led5, OUTPUT); //define o led como saida
pinMode(led6, OUTPUT); //define o led como saida
pinMode(tecla, INPUT_PULLUP); //define a tecla como entrada
attachInterrupt(0, parou, FALLING); //define a funçao do interruptor
//FUNÇÕES COMPLEMENTARES
void parou () {
parada = !parada; //parada é = a !parada
}
//PROGRAMA PRINCIPAL
void loop () {
for(byte pino = 3 ; pino <= 11 ; pino++){ //se pino é = 3 pino <= 11 pino++
if(parada == 1) break; //parada = a 1
if(pino == 4 || pino == 7 || pino == 8)continue; //se pino é = 4 pino = 7 pino =8
byte x = 1; //byte é = a 1
for(byte brilho = 0 ; brilho < 255 ; brilho = brilho + x){ //se brilho é = 0 brilho é <255 brilho é = a brilho + x
analogWrite(pino, brilho); //Acende o Led correspondente ao valor de brilho
delay(10); //define o tempo
if(brilho == 253) x = -1; //se brilho é = 253 x é igual a -1
if(parada == 1) break; //parada é 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.13 Empty Re: exercício 2.13

Qua Nov 08, 2023 3:21 pm
Bom Dia
Tudo Bem?

Erros / Revisões / Perguntas
1° Revise

Nota 60.0
Aguardo Terminar
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.13 Empty Re: exercício 2.13

Qua Dez 06, 2023 11:48 pm
Guatavo, veja no seu setup que configurou uma interrupção, dai colocou uma função que nõ existe e isso desencadeu uma serie de erros. O exercício está bem encaminhado, parece que vai funcionar que ajustar.
Nos comentários coloque porque usamos o continue nesse programa.
gustavo de oliveira pires
gustavo de oliveira pires
Mensagens : 109
Data de inscrição : 31/08/2022
Escola : murici

exercício 2.13 Empty Re: exercício 2.13

Ter Jul 09, 2024 4:10 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.13
* Tema: Função FOR() e comando continue
* 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(), continue, break, attachInterrupt
* 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
* Dica5: Para pular os pinos que não são PWM use o comando continue
* Dica6: Parar o sequencial caso uma tecla seja pressionada, usar interrupção para essa aplicação
*/

// DEFINICOES INICIAIS
#define led1 3 // define o led que vai ser usado
#define led2 5 // define o led que vai ser usado
#define led3 6 // define o led que vai ser usado
#define led4 9 // define o led que vai ser usado
#define led5 10 // define o led que vai ser usado
#define led6 11 // define o led que vai ser usado
#define tecla 2 // pino do interruptor

// DECLARAcAO DE VARIAVEIS
bool parada = 0; // define a variavel que vai ser usada

// INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT); // define o led1 como saida
pinMode(led2, OUTPUT); // define o led2 como saida
pinMode(led3, OUTPUT); // define o led3 como saida
pinMode(led4, OUTPUT); // define o led4 como saida
pinMode(led5, OUTPUT); // define o led5 como saida
pinMode(led6, OUTPUT); // define o led6 como saida
pinMode(tecla, INPUT_PULLUP); // define a tecla como entrada com pull-up
attachInterrupt(0, parou, FALLING); // associa a função parou ao interruptor
}

// FUNÇÕES COMPLEMENTARES

// Função de interrupção
void parou() {
parada = !parada; // inverte o estado de parada
}

// PROGRAMA PRINCIPAL
void loop() {
for (byte pino = 3; pino <= 11; pino++) { // loop principal para iterar pelos pinos
if (parada) break; // se parada for verdadeiro, encerra o loop principal

// Ignora os pinos que não são PWM
if (pino == 4 || pino == 7 || pino == Cool { //se os pinos não forem pwm vai rodar o continue
continue; // pula para a próxima iteração do loop caso o pino não seja PWM
}

byte x = 1; // passo de incremento/decremento do brilho

// Aumenta gradualmente o brilho
for (byte brilho = 0; brilho < 255; brilho += x) { //se as condições acontecerem vai rodar o bloco abaixo
analogWrite(pino, brilho); // define o brilho do LED
delay(10); // pequeno atraso para visualização
if (brilho == 253) x = -1; // inverte a direção para diminuir o brilho
if (parada) break; // se parada for verdadeiro, encerra o loop interno
}

// Diminui gradualmente o brilho
for (byte brilho = 255; brilho > 0; brilho += x) { //se as condições acontecerem vai rodar o bloco abaixo
analogWrite(pino, brilho); // define o brilho do LED
delay(10); // pequeno atraso para visualização
if (brilho == 2) x = 1; // inverte a direção para aumentar o brilho
if (parada) break; // se parada for verdadeiro, encerra o loop interno
}
}
}
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.13 Empty Re: exercício 2.13

Sáb Set 14, 2024 10:54 am
tem um erro de sintaxe, apareceu um emoji no meio do código
Conteúdo patrocinado

exercício 2.13 Empty Re: exercício 2.13

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