Exercício 1.14
Sex Jun 05, 2020 3:14 pm
/*
* 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 //declara a variavel tempo
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(led1,OUTPUT); //progamado led1 como saÃda
pinMode(led2,OUTPUT); //progamado led2 como saÃda
pinMode(led3,OUTPUT); //progamado led3 como saÃda
pinMode(led4,OUTPUT); //progamado led4 como saÃda
pinMode(led5,OUTPUT); //progamado led5 como saÃda
pinMode(led6,OUTPUT); //progamado led6 como saÃda
}
//FUNÇÕES COMPLEMENTARES
void debug(){
Serial.print("luminosidade = "); //enviar a temperatura para o terminal
Serial.println(analogRead (ldr)); //envia a temperatura para o terminal e pula uma linha.
}
void timer(){
tempo = map(analogRead(ldr), 2, 930, 50, 400); //configura a variavel tempo e configurado o max e o min
delay(tempo); //delay com a variavel
debug(); //debug executado
}
//PROGRAMA PRINCIPAL
void loop() {
debug(); //debug executado
digitalWrite(led1,HIGH); //led1 acende
timer(); //timer repete
digitalWrite(led1,LOW); //led1 apaga
digitalWrite(led2,HIGH); //led2 acende
timer(); //timer repete
digitalWrite(led2,LOW); //led1 apaga
digitalWrite(led3,HIGH); //led3 acende
timer(); //timer repete
digitalWrite(led3,LOW); //led3 apaga
digitalWrite(led4,HIGH); //led4 acende
timer(); //timer repete
digitalWrite(led4,LOW); //led14 apaga
digitalWrite(led5,HIGH); //led5 acende
timer(); //timer repete
digitalWrite(led5,LOW); //led5 apaga
digitalWrite(led6,HIGH); //led6 acende
timer(); //timer repete
digitalWrite(led6,LOW); //led6 apaga
}
- BielRibas
- Mensagens : 266
Data de inscrição : 27/02/2019
Idade : 18
Escola : Col. Lindaura
Re: Exercício 1.14
Qui Jun 11, 2020 8:09 am
OI Daniel!
Seu programa está inverso:
link: https://www.youtube.com/watch?v=iyrs5sWBbg0
Seu programa está inverso:
- Código:
"A variação de tempo deve ser diretamente proporcional ao valor do ldr, ou seja, quanto mais luz mais rápido o sequencial"
link: https://www.youtube.com/watch?v=iyrs5sWBbg0
Re: Exercício 1.14
Ter Jun 23, 2020 10:12 pm
Gabriel, Vou dar a nota para prosseguir com os exercícios.
Daniel, lembra que quando aumenta o tempo diminui a velocidade do sequencial, precisa arrumar. Nota 8.0
Daniel, lembra que quando aumenta o tempo diminui a velocidade do sequencial, precisa arrumar. Nota 8.0
BielRibas e Daniel Lukas gostam desta mensagem
Permissões neste sub-fórum
Não podes responder a tópicos
|
|