ex 1.14 resolvido
2 participantes
- joao victor carmona
- Mensagens : 47
Data de inscrição : 18/03/2023
Escola : Colegio Professora lindaura ribeiro lucas
ex 1.14 resolvido
Sex Set 08, 2023 6:34 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 //define que o pino 3 se chama "led1"
#define led2 4 //define que o pino 4 se chama "led2"
#define led3 5 //define que o pino 5 se chama "led3"
#define led4 6 //define que o pino 6 se chama "led4"
#define led5 7 //define que o pino 7 se chama "led5"
#define led6 8 //define que o pino 8 se chama "led6"
#define ldr A0 //definido que o pino A0 se chama ldr
//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //define que o programa começara
pinMode(led1, OUTPUT); //define o led1 como saida
pinMode(led2, OUTPUT); //define o led2 como saida
pinMode(led3, OUTPUT); //define o led3 como saida
pinMode(led4, OUTPUT); //define o led4 como saida
pinMode(led5, OUTPUT); //define o led5 como saida
pinMode(led6, OUTPUT); //define o led6 como saida
}
//FUNÇÕES COMPLEMENTARES
void debug() {
Serial.print("luminosidade = "); //vai colocar o valor do temperatura pela porta serial
Serial.println(analogRead(ldr)); //define que o ldr pulara para a proxima linha
Serial.print("tempo = "); //vai colocar o valor do tempo pela porta serial
Serial.println(tempo); //define que o tempo pulara para a proxima linha
}
void relogio(){
tempo = map(analogRead(ldr), 2, 930, 400, 50); //fara a leitura do ldr
delay(tempo); //o tempo que o programa estara ligado
debug(); //define que repetira tudo que esta escrito em void debug
}
//PROGRAMA PRINCIPALtempo
void loop() {
digitalWrite(led1, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led1, LOW); //define que o led estara desligado
digitalWrite(led2, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led2, LOW); //define que o led estara desligado
digitalWrite(led3, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led3, LOW); //define que o led estara desligado
digitalWrite(led4, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led4, LOW); //define que o led estara desligado
digitalWrite(led5, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led5, LOW); //define que o led estara desligado
digitalWrite(led6, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led6, LOW); //define que o led estara desligado
}
* 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 //define que o pino 3 se chama "led1"
#define led2 4 //define que o pino 4 se chama "led2"
#define led3 5 //define que o pino 5 se chama "led3"
#define led4 6 //define que o pino 6 se chama "led4"
#define led5 7 //define que o pino 7 se chama "led5"
#define led6 8 //define que o pino 8 se chama "led6"
#define ldr A0 //definido que o pino A0 se chama ldr
//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //define que o programa começara
pinMode(led1, OUTPUT); //define o led1 como saida
pinMode(led2, OUTPUT); //define o led2 como saida
pinMode(led3, OUTPUT); //define o led3 como saida
pinMode(led4, OUTPUT); //define o led4 como saida
pinMode(led5, OUTPUT); //define o led5 como saida
pinMode(led6, OUTPUT); //define o led6 como saida
}
//FUNÇÕES COMPLEMENTARES
void debug() {
Serial.print("luminosidade = "); //vai colocar o valor do temperatura pela porta serial
Serial.println(analogRead(ldr)); //define que o ldr pulara para a proxima linha
Serial.print("tempo = "); //vai colocar o valor do tempo pela porta serial
Serial.println(tempo); //define que o tempo pulara para a proxima linha
}
void relogio(){
tempo = map(analogRead(ldr), 2, 930, 400, 50); //fara a leitura do ldr
delay(tempo); //o tempo que o programa estara ligado
debug(); //define que repetira tudo que esta escrito em void debug
}
//PROGRAMA PRINCIPALtempo
void loop() {
digitalWrite(led1, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led1, LOW); //define que o led estara desligado
digitalWrite(led2, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led2, LOW); //define que o led estara desligado
digitalWrite(led3, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led3, LOW); //define que o led estara desligado
digitalWrite(led4, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led4, LOW); //define que o led estara desligado
digitalWrite(led5, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led5, LOW); //define que o led estara desligado
digitalWrite(led6, HIGH); //define que o led estara ligado
relogio(); //define que repetira tudo que esta escrito em void relogio()
digitalWrite(led6, LOW); //define que o led estara desligado
}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|