8 de abril de 2014

Seguidor de Luz

Esse é o Batman seguidor de luz!

A base desse circuito é a mesma de um carro seguidor de linha, por exemplo. São dois sensores de luminosidade, um do lado direito e outro do lado esquerdo, e assim detecta a variação da intensidade da luz. Quando o sensor da esquerda marca um valor mais alto que o da direita, o motor gira para a esquerda, e o mesmo acontece para o lado direito.



Segue o esquema elétrico e o código fonte.

Valeu!



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*-------------------------
 Programa : SEGUIDOR DE LUZ
 Autor    : Fellipe Couto
 Data     : 08/04/2014
 -------------------------*/
#include <Servo.h> //Biblioteca do Servo Motor
#define servo 6 //Servo motor no pino 6

Servo myservo; //Varíavel do servo motor
int pos = 90;  //Posicao do servo
int ldr1 = 0;  //Valor do LDR 1
int ldr2 = 0;  //Valor do LDR 2

void setup() {
  myservo.attach(servo); //Configura o pino do Servo Motor
  myservo.write(pos); //Servo na posicao inicial
}

void loop() {
  delay(50);
  
  ldr1 = analogRead(0);
  ldr2 = analogRead(1);
  
  if (ldr1 > ldr2 && pos > 0) {
    myservo.write(pos--);
  } else if (ldr1 < ldr2 && pos < 180) {
    myservo.write(pos++);
  }
}

2 comentários: