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 2.19 Empty Exercício 2.19

Qui Ago 20, 2020 2:58 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 2.19
* Tema: Função WHILE()
* Atividade: Tecla controlando o sequencial de 6 LEDS
* Descrição: fazer os 3 leds mais o led RGB piscarem de forma sequencial enquanto uma tecla estiver pressionada
* Hardware: Ligar os 6 leds em seis pinos digital configurados como SAÍDA
* Comandos: pinMode, digitalWrite, delay,for(), while()
* 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: usar a função while para testar a tecla e controlar a execução do programa
* Dica3: Colocar o sequencial usando a função for dentro de uma estrutura while
*/

//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"
#define tecla 2 //Pino 2 ligado na tecla

//DECLARAcAO DE VARIAVEIS
int tempo = 100; // variavel para controlar o tempo

//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
pinMode(tecla, INPUT_PULLUP); //Programa a tecla como entrada pullup
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
while(!digitalRead(tecla)){ //função while com tecla configurada
 for(byte pino = 3 ; pino <= 8; pino++){ //for com pinos para acender
   if(pino == 0) pino = 4; //função if com pino
   if(pino == 0) pino = 5; //função if com pino
   if(pino == 0) pino = 6; //função if com pino
   if(pino == 0) pino = 7; //função if com pino
   if(pino == 0) pino = 8; //função if com pino
   digitalWrite(pino,HIGH); //pino acende
   delay(500); //tempo de espera
   digitalWrite(pino,LOW); //pino apaga
 }
}
}
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 2.19 Empty Re: Exercício 2.19

Dom Ago 23, 2020 10:59 pm
Daniel, Como os comentários estão muito superficiais terei que enviar umas perguntas antes de dar a nota.
1 - Qual a função desse comando no programa? if(pino == 0) pino = 4; //função if com pino

2 - Como funciona esse comando? while(!digitalRead(tecla)){

3 - Nesse comando for(byte pino = 3 ; pino <= 8; pino++){ Qual cuidado deve ser tomado na ligação dos leds com o arduino?

Daniel Lukas não gosta desta mensagem

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 2.19 Empty Re: Exercício 2.19

Ter Out 13, 2020 10:14 am
Paulo Augusto Batista escreveu:Daniel, Como os comentários estão muito superficiais terei que enviar umas perguntas antes de dar a nota.
1 -  Qual a função desse comando no programa?   if(pino == 0) pino = 4; //função if com pino
ligar o pino 4 depois do 3 fazendo uma linha
2 - Como funciona esse comando? while(!digitalRead(tecla)){
o programa lê o comando de apertar a tecla
3 - Nesse comando  for(byte pino = 3 ; pino <= 8; pino++){  Qual cuidado deve ser tomado na ligação dos leds com o arduino?
de colocar os pinos certos para acender em ordem certa
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 2.19 Empty Re: Exercício 2.19

Sáb Nov 21, 2020 1:51 pm
Daniel, pensa comigo o contador vai iniciar no valor 3 e vai até 8, então pino nunca vai ser igual a zero, certo?
Então aqueles if pino não fazem sentido.



Conteúdo patrocinado

Exercício 2.19 Empty Re: Exercício 2.19

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