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

Ir para baixo
Mateus dos origames
Mateus dos origames
Mensagens : 20
Data de inscrição : 27/03/2023
Idade : 11
Escola : SÃO CRISTÓVÃO

exercicio 1.14 Empty exercicio 1.14

Sáb Ago 05, 2023 11:12 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 //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 ldr A0 //definido que o pino A0 vai se chamar LDR

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo; //

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

//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("luminosidade = "); //luminoidade
Serial.println(analogRead(ldr)); //ldr

}

void timer(){
tempo = map(analogRead(ldr),2,930, 50, 400); //map(entrada, entrMi, entrMax, saidMin, saidMax)
delay(tempo); //tempo definido
}

//PROGRAMA PRINCIPAL
void loop() {
debug();
digitalWrite(led1, HIGH); //led1 vai acender
timer(); //tempo definido
digitalWrite(led1, LOW); //led1 vai apagar
digitalWrite(led2, HIGH); //led2 vai acender
timer(); //tempo definido
digitalWrite(led2, LOW); //led1 vai apagar
digitalWrite(led3, HIGH); //led3 vai acender
timer(); //tempo definido
digitalWrite(led3, LOW); //led1 vai apagar
digitalWrite(led4, HIGH); //led4 vai acender
timer(); //tempo definido
digitalWrite(led4, LOW); //led1 vai apagar
digitalWrite(led5, HIGH); //led5 vai acender
timer(); //tempo definido
digitalWrite(led5, LOW); //led1 vai apagar
digitalWrite(led6, HIGH); //led6 vai acender
timer(); //tempo definido
digitalWrite(led6, LOW); //led1 vai apagar
}
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

exercicio 1.14 Empty Re: exercicio 1.14

Ter Ago 15, 2023 2:40 pm
Oii Matheus
Nota 80.0
Seu sequencial está invertido, quanto mais luz mais devagar
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 1.14 Empty Re: exercicio 1.14

Dom Set 24, 2023 12:37 pm
Nota lançada
Conteúdo patrocinado

exercicio 1.14 Empty Re: exercicio 1.14

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