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

Ir para baixo
Gabriel Novak
Gabriel Novak
Mensagens : 77
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

exercicio 1.14 Empty exercicio 1.14

Qui Jun 30, 2022 9:25 am
/*
 * CURSO DE ROBOTICA 2020
 *
 * Exercicio: 1.14
 * Tema: Pinos Analógicos
 * Atividade: Controlar a velocidade do sequencial conforme a quantidade de luz no LDR
 * Descrição: Usar uma entrada analógica para medir a intensidade da luz e usar esse valor para ajustar a velocidade
 * Requisito1: A cada troca de estado deve ser atualizado o tempo conforme iluminação do ambiente
 * Requisito2: A variação de tempo deve ser diretamente proporcional ao valor do ldr, ou seja, quanto mais luz mais rápido o sequencial
 * Hardware: Ligar os leds nos pino digitais configurado como SAÍDA DIGITAL e o LDR em uma entrada analógica
 * Comandos: pinMode, analogRead, digitalWrite,delay, map
 * Dica1:A o conversor analógico possui 10 bits ou seja de 0 até 1024
 * Dica2: Usar a função debug() para checar as variações de valor do ldr no pino analógico
 * Dica3:Pode usar a função map() para converter a variação dos valores lidos no ldr para as variações de tempo desejadas
 * Dica4: Pode usar uma função para fazer a leitura do LDR e temporização do sequencial
 */

//DEFINICOES INICIAIS
#define led1 3//nomear o pino 3 como "led1"
#define led2 4//nomear o pino 4 como "led2"
#define led3 5//nomear o pino 5 como "led3"
#define led4 6//nomear o pino 6 como "led4"
#define led5 7//nomear o pino 7 como "led5"
#define led6 8//nomear o pino 8 como "led6"
#define ldr A0//nomear o pino A0 como "ldr"
//DECLARAcAO DE VARIAVEIS
int tempo;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(led1, OUTPUT);//definir led1 como saida
pinMode(led2, OUTPUT);//definir led2 como saida
pinMode(led3, OUTPUT);//definir led3 como saida
pinMode(led4, OUTPUT);//definir led4 como saida
pinMode(led5, OUTPUT);//definir led5 como saida
pinMode(led6, OUTPUT);//definir led6 como saida
Serial.begin(9600);//iniciar porta cereal
}

//FUNÇÕES COMPLEMENTARES
void debug (){
Serial.print("luminosidade = ");
Serial.print(analogRead(ldr));
Serial.print(" tempo = ");
Serial.println(tempo);
}
void timer(){
tempo = map(analogRead(ldr),2,930, 400, 50);//map(entrada, entrmin, entrmax, saimin, saimax)
delay(tempo);//deley usando vareavel tempo
debug();
}
//PROGRAMA PRINCIPAL
void loop() {
  
digitalWrite(led6, LOW);//apagar led6
digitalWrite(led1, HIGH);//acender led1
timer();//rodar timer
digitalWrite(led1, LOW);//apagar led1
digitalWrite(led2, HIGH);//acender led2
timer();//rodar timer
digitalWrite(led2, LOW);//apabar led2
digitalWrite(led3, HIGH);//acender led3
timer();//rodar timer
digitalWrite(led3, LOW);//apagar led3
digitalWrite(led4, HIGH);//acender led4
timer();//rodar timer
digitalWrite(led4, LOW);//apagar led4
digitalWrite(led5, HIGH);//acender led5
timer();//rodar timer
digitalWrite(led5, LOW);//apagar led5
digitalWrite(led6, HIGH);//acender led6
timer();//rodar timer
}
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

exercicio 1.14 Empty Re: exercicio 1.14

Ter Ago 02, 2022 11:42 pm
Muito bom Gabriel, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos