Desde 1994 en la Red. La pagina de los aficionados a la electronica, informatica y otras curiosidades de la vida. No dudes en visitarnos.
Ahora 1 visitas.| 3410561 Visitas (desde Dic. 2011), hoy: 270 Visitas 688 Pag. Vistas , ultimos 36 dias: 10059 Visitas. 47945 Pag. Vistas. Tu IP: 13.58.216.18
Que ando curioseando:
AutosuficienciaCosas de casaElectronicaEn InternetInformáticaMundo MisticoSin categoríaSociedadTe lo recomiendo

Sensor de distancia Arduino IR

Durante mucho tiempo he estado tratando de crear algún tipo de robot, para lograr que necesito un montón de diferentes sensores. Uno de los grandes problemas para mí fue un sensor de distancia.

P3135027[1]

He encontrado sensor ultrasónico PING, pero es casi imposible conseguir una en mi condado. Así que he estado buscando una solución barata. He decidido utilizar LEDs IR 2x un receptor y un transmisor. Transmisor transmite la luz IR invisible humana rebota del objeto y devuelve al receptor. Receptor que está conectado a un pin analógico en el Arduino. Al principio me he hecho las mediciones y luego he hecho ecuación basada en la que se puede obtener la distancia en centímetros.

int IRSense = A0;
int IRTrans = 2;
int valueAmbient = 0;

void setup()
{
pinMode(IRSense, INPUT);
pinMode(IRTrans, OUTPUT);
Serial.begin(9600);
digitalWrite(IRTrans,LOW);
}

void ambient()
{
digitalWrite(IRTrans,HIGH);
delay(20);
valueAmbient = analogRead(IRSense);
delay(20);
}

void loop()
{
ambient();
digitalWrite(IRTrans,LOW);
delay(20);
int value = analogRead(IRSense);
int value2 = round(value - valueAmbient);
int dist = (((value2+15.0)/(value2*(value2+100.0)))*2000.0);
Serial.print(dist);
Serial.print("cm.");
Serial.println("");
delay(20);
}

Code for Processing :

import processing.serial.*;
Serial Port;
String distance ="";
String data ="";
int index = 0;
PFont font;

void setup()
{
size(500,500);
Port = new Serial(this, "COM3", 9600);
Port.bufferUntil('.');
font = loadFont("AgencyFB-Bold-200.vlw");
textFont(font, 200);
}

void draw()
{
background(0,0,0);
fill(200,0,0);
text(distance,50,300);
}

void serialEvent (Serial port)
{
data = port.readStringUntil('.');
data = data.substring(0, data.length() - 1);
distance = data;
}

Fuente: http://legwinskij.blogspot.com.es/2011/03/arduino-ir-distance-sensor.html

Escribe un comentario

Tu comentario