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

Ir para baixo
Bryan daniel
Bryan daniel
Mensagens : 114
Data de inscrição : 29/06/2019
Idade : 15
Escola : parque da fonte

exercício 1.14 Empty exercício 1.14

Seg Jun 08, 2020 10:03 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercício: 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
*/

#define luz1 2 //define pino 2 como luz1
#define luz2 3 //define pino 3 como luz2
#define luz3 4 //define pino 4 como luz3
#define luz4 5 //define pino 5 como luz4
#define luz5 6 //define pino 6 como luz5
#define luz6 7 //define pino 7 como luz6
#define LDR A1 //define pino analógico 1 como LDR

int relogio;  //variável se chama relogio

void setup() {
 Serial.begin(9600);
 pinMode(luz1, OUTPUT); //define luz1 como saída
 pinMode(luz2, OUTPUT); //define luz2 como saída
 pinMode(luz3, OUTPUT); //define luz3 como saída
 pinMode(luz4, OUTPUT); //define luz4 como saída
 pinMode(luz5, OUTPUT); //define luz5 como saída
 pinMode(luz6, OUTPUT); //define luz6 como saída
}

void debug(){
 Serial.print("luz = ");
 Serial.print(analogRead(LDR));
 Serial.print(" relogio = ");
 Serial.println(relogio);
}

void tempo() {
 relógio = map(analogRead(LDR), 2, 904, 1000, 50); //relógio é igual a leitura do  LDR entrada minima 0 entrada máxima 1024  saída minima 1000 saída máxima 50
 delay(relogio);  //espera o valor do relógio
 debug();  //copia o debug
}

void loop() {
 digitalWrite(luz1, HIGH);  //liga a luz1
 tempo();  //copia o tempo
 digitalWrite(luz1, LOW);  //desliga a luz1
 digitalWrite(luz2, HIGH);  //liga a luz2
 tempo();  //copia o tempo
 digitalWrite(luz2, LOW);  //desliga a luz2
 digitalWrite(luz3, HIGH);  //liga a luz3
 tempo();   //copia o tempo
 digitalWrite(luz3, LOW);  //desliga a luz3
 digitalWrite(luz4, HIGH);  //liga a luz4
 tempo();  //copia o tempo
 digitalWrite(luz4, LOW);  //desliga a luz4
 digitalWrite(luz5, HIGH);  //liga a luz5
 tempo();  //copia o tempo
 digitalWrite(luz5, LOW);  //desliga a luz5
 digitalWrite(luz6, HIGH);  //liga a luz6
 tempo();  //copia o tempo
 digitalWrite(luz6, LOW);  //desliga a luz6
}


Última edição por Bryan daniel em Seg Jun 22, 2020 1:50 pm, editado 2 vez(es)
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercício 1.14 Empty Re: exercício 1.14

Qua Jun 10, 2020 10:16 pm
Bryan, o programa está correto na sua semântica, mas não testou né. Se tivesse testado ia ver que variáveis não podem receber acento, em ingles não tem acento e a linguagem C não aceita.
Precisa calibrar o sensor também.
Nota 6.0
Bryan daniel
Bryan daniel
Mensagens : 114
Data de inscrição : 29/06/2019
Idade : 15
Escola : parque da fonte

exercício 1.14 Empty Re: exercício 1.14

Qui Jun 11, 2020 11:22 am
eu testei no tinkercad
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercício 1.14 Empty Re: exercício 1.14

Qui Jun 11, 2020 9:44 pm
No tinkercad aceita variáveis com acentos? Na IDE do arduino não aceita.
Conteúdo patrocinado

exercício 1.14 Empty Re: exercício 1.14

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