domingo, 22 de setembro de 2019

Laboratório de Criatividade, Atividade 6: Oficina de Arduino

Nessa atividade nos foi passado me sala uma introdução ao Arduino, que ia desde a apresentação da linguagem, IDE e das placas, instalação e montagens.

A primeira era de um Led piscante, da qual era mostrado pela própria placa, pela saída de número 13.

Após esse exercício, foi passada a tarefa ascender o Led piscante, seguindo a mesma lógica, e após esse procedimento, partimos para algo parecido porém com uma noção de gráfico senoide onde a luz do Led iria aumentando gradativamente, ao invés de só piscar em "high" e "low".

Após isso, fomos apresentados ao sensor LDR, da qual pudemos perceber codificando, que o sensor retornava os valores da intensidade de luz captada.

Com todos esses exercícios tivemos base para tentar realizar o desafio proposto, que era a de Acender o Led se a luz ambiente for desligada.

Com base nos testes que fiz, obtive a conclusão de que o sensor retornava valores mais altos com pouca luz, e valores mais baixos com mais luz. Com base nisso tirei uma média, já que a luz ambiente da sala batia apenas um pouco mais de 600 de valor em seus momentos mais escuros; logo, concluí que um valor acima de 700 seria algo determinante para se ascender o LED.
Fazendo isso, foi só colocar a ideia no código, e o resultado veio.

O código inteiro segue abaixo:
Há muito código comentado, pois faziam parte dos exercícios anteriores:

int brilho = 0;
int varBrilho = 5;
int nivelLuz;


void setup() {
  // put your setup code here, to run once:
 //pinMode(13, OUTPUT);
  Serial.begin (9600);
  pinMode(9, OUTPUT);
  pinMode(0,INPUT);
  
}

void loop() {
  // put your main code here, to run repeatedly:
  //digitalWrite(13,HIGH);
 // delay(500);
  //digitalWrite(13,LOW);
  //delay(500);
  
 //analogWrite (9, brilho);
   //Serial.println (brilho);
   //brilho = brilho + varBrilho;
   //if(brilho >= 255)
   //varBrilho = -varBrilho;
   //if(brilho <= 0)
  //varBrilho = -varBrilho;
  //delay(30);

  nivelLuz=analogRead(0);
  Serial.println (nivelLuz);
  delay(500);

  if(nivelLuz >= 700){
    digitalWrite(9,HIGH);
  }
  else
  digitalWrite(9,LOW);
  
    
  
}


Segue também um pequeno vídeo do arduino funcionando.













Nenhum comentário:

Postar um comentário