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

Ir para baixo
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 2.19 Empty exercicio 2.19

Seg Out 19, 2020 9:07 am
/*
* 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
byte i ; // contador usado na função for()

//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)){//Enquanto a tecla estiver pressionada o led1 vai dar como 1
for(byte i = 0 ; i <= 255 ; i++){//A variavel tipo int i tem o valor de 0 no segundo comando ela tem o valor igual ou menor que 255 e no ultimo comando ela e incrementada
digitalWrite(led1, HIGH);//Acende led1
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led1, LOW);//Apaga led1
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led2, HIGH);//Acende led2
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led2, LOW);//Apaga led2
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led3, HIGH);//Acende led3
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led3, LOW);//Apaga led3
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led4, HIGH);//Acende led4
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led4, LOW);//Apaga led4
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led5, HIGH);//Acende led5
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led5, LOW);//Apaga led5
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led6, HIGH);//Acende led6
delay(tempo);//Temporiza com o valor da variavel TEMPO
digitalWrite(led6, LOW);//Apaga led6
break;
}
}
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos