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

Ir para baixo
avatar
Daniel Lukas
Mensagens : 62
Data de inscrição : 06/03/2020
Idade : 17
Escola : Rua Aníbal Silva
https://sayajin-gamers-store.myshopify.com/

Exercício 1.6 Empty Exercício 1.6

Qua Abr 22, 2020 7:17 pm
/*
* Exercicio: 1.6
* Tema: Pinos Digitais
* Atividade: Sequencial supermaquina
* Descrição: fazer os 3 leds mais o led RGB irem acendendo em ordem e depois virem apagando, baseado na serie dos anos 80 supermaquina
* Hardware: Ligar os 6 leds em seis pinos digital configurados como SAÍDA
* Comandos: pinMode(), digitalWrite(), delay(),
* Dica1: Usar uma variavel para armazenar o tempo de espera entre as trocas de estado
* Dica2: Para conhecer mais acesse https://www.youtube.com/watch?v=PYudP...
* Dica3: Pode fazer indo e vindo com 2 leds acesos, no inicio e no fim fica somente 1 led aceso
*/

//DEFINICOES INICIAIS
#define supermaquina1 2                                                                              //pino 2 ira se chamar supermaquina1 2
#define supermaquina2 3                                                                             //pino 3 ira se chamar supermaquina1 3
#define supermaquina3 4                                                                            //pino 4 ira se chamar supermaquina1 4
#define supermaquina4 5                                                                           //pino 5 ira se chamar supermaquina1 5
#define supermaquina5 6                                                                          //pino 6 ira se chamar supermaquina1 6
#define supermaquina6 7                                                                         //pino 7 ira se chamar supermaquina1 7

//DECLARAcAO DE VARIAVEIS


//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(supermaquina1, OUTPUT);                                                           //configurado supermaquina1 como saida
pinMode(supermaquina2, OUTPUT);                                                          //configurado supermaquina2 como saida
pinMode(supermaquina3, OUTPUT);                                                         //configurado supermaquina3 como saida
pinMode(supermaquina4, OUTPUT);                                                        //configurado supermaquina4 como saida
pinMode(supermaquina5, OUTPUT);                                                       //configurado supermaquina5 como saida
pinMode(supermaquina6, OUTPUT);                                                      //configurado supermaquina6 como saida
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {  
digitalWrite(supermaquina1,HIGH);                                                //supermaquina1 vai acender
delay(100);                                                                     //tempo de espera para o outro led acender
digitalWrite(supermaquina1,HIGH);                                              //supermaquina1 vai acender
digitalWrite(supermaquina2,HIGH);                                             //supermaquina2 vai acender
delay(100);                                                                  //tempo de espera para o outro led acender
digitalWrite(supermaquina1,LOW);                                            //supermaquina1 vai apagar
digitalWrite(supermaquina2,HIGH);                                          //supermaquina2 vai acender
digitalWrite(supermaquina3,HIGH);                                         //supermaquina3 vai acender
delay(100);                                                              //tempo de espera para o outro led acender
digitalWrite(supermaquina2,LOW);                                        //supermaquina2 vai apagar
digitalWrite(supermaquina3,HIGH);                                      //supermaquina3 vai acender
digitalWrite(supermaquina4,HIGH);                                     //supermaquina4 vai acender
delay(100);                                                          //tempo de espera para o outro led acender
digitalWrite(supermaquina3,LOW);                                    //supermaquina3 vai apagar
digitalWrite(supermaquina4,HIGH);                                  //supermaquina4 vai acender
delay(100);                                                      //tempo de espera para o outro led acender
digitalWrite(supermaquina4,LOW);                                //supermaquina4 vai apagar
digitalWrite(supermaquina5,HIGH);                              //supermaquina5 vai acender
digitalWrite(supermaquina6,HIGH);                             //supermaquina6 vai acender
delay(100);                                                  //tempo de espera para o outro led acender
digitalWrite(supermaquina5,LOW);                            //supermaquina5 vai apagar
digitalWrite(supermaquina6,HIGH);                          //supermaquina6 vai acender
delay(100);                                               //tempo de espera para o outro led acender
digitalWrite(supermaquina6,HIGH);                        //supermaquina6 vai acender
delay(100);                                             //tempo de espera para o outro led acender
digitalWrite(supermaquina6,LOW);                       //supermaquina6 vai apagar
digitalWrite(supermaquina5,HIGH);                     //supermaquina5 vai acender
delay(100);                                          //tempo de espera para o outro led acender
digitalWrite(supermaquina5,HIGH);                   //supermaquina5 vai acender
digitalWrite(supermaquina4,HIGH);                  //supermaquina4 vai acender
delay(100);                                       //tempo de espera para o outro led acender
digitalWrite(supermaquina5,LOW);                 //supermaquina5 vai apagar
digitalWrite(supermaquina4,HIGH);               //supermaquina4 vai acender
digitalWrite(supermaquina3,HIGH);              //supermaquina3 vai acender
delay(100);                                   //tempo de espera para o outro led acender
digitalWrite(supermaquina4,LOW);             //supermaquina4 vai apagar
digitalWrite(supermaquina3,HIGH);           //supermaquina3 vai acender
digitalWrite(supermaquina2,HIGH);          //supermaquina2 vai acender
delay(100);                               //tempo de espera para o outro led acender
digitalWrite(supermaquina3,LOW);         //supermaquina3 vai apagar
digitalWrite(supermaquina2,HIGH);       //supermaquina2 vai acender
digitalWrite(supermaquina1,HIGH);      //supermaquina1 vai acender
delay(100);                           //tempo de espera para o outro led acender
digitalWrite(supermaquina2,LOW);     //supermaquina2 vai apagar
digitalWrite(supermaquina1,HIGH);   //supermaquina1 vai acender
delay(100);                        //tempo de espera para o outro led acender
}


Última edição por Daniel Lukas em Qua Jun 03, 2020 12:11 pm, editado 1 vez(es)
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5021
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercício 1.6 Empty Re: Exercício 1.6

Sex Abr 24, 2020 10:53 pm
Daniel,
Veja no enunciado do exercicio que pede para usar uma variável para armazenar o tempo, e não para usar o valor direto na função delay()
Com relação a sequencia não está correta, deve ficar exatamente igual ao fluxograma da videoaula. Coloca o tempo mais alto e vai ver que está com a sequencia errada
Outro detalhe, veja o trecho abaixo:
digitalWrite(supermaquina3,LOW); //supermaquina3 vai apagar
digitalWrite(supermaquina4,HIGH); //supermaquina4 vai acender
digitalWrite(supermaquina5,HIGH); //supermaquina5 vai acender
delay(100); //tempo de espera para o outro led acender
digitalWrite(supermaquina4,LOW); //supermaquina4 vai apagar
digitalWrite(supermaquina5,HIGH); //supermaquina5 vai acender //veja que o 5 já estava aceso , não precisa usar esse comando
digitalWrite(supermaquina6,HIGH); //supermaquina6 vai acender
delay(100); //tempo de espera para o outro led acender

A nota será 6.0 até corrigir os detalhes.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos