Menu mobile
El módulo sensor de proximidad Infrarrojo es ideal para proyectos con Arduino. Es nuestro sensor de distancia analógico más potente con el rango hasta 80cm perfecto para proyectos de Arduino más ambiciosos.
Conexión
El módulo se alimenta directamente de Arduino, así que no necesitamos una fuente de alimentación externa.
Los pines están conectados según la tabla:
Pin Módulo
Pin de Arduino UNO
cable rojo/marrón
5V
cable negro/azul
GND
cable amarillo/verde
A1
El diagrama es es por tanto el siguiente:
Código
Abre un sketch nuevo y copia el siguiente código:
const int sensorPin = A0;
const long referenceMv = 5000;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
//lectura de la tensión
int valor = analogRead(sensorPin);
int mV = (valor * referenceMv) / 1023;
int cm = getDistance(mV);
//mostrar valores por pantalla
Serial.print(mV);
Serial.print(",");
Serial.println(cm);
Serial.print(" cm");
delay(1000);
//interpolación de la distancia a intervalos de 250mV
const int TABLE_ENTRIES = 12;
const int INTERVAL = 250;
static int distance[TABLE_ENTRIES] = {150,140,130,100,60,50,40,35,30,25,20,15};
int getDistance(int mV) {
if (mV > INTERVAL * TABLE_ENTRIES - 1) return distance[TABLE_ENTRIES - 1];
else {
int index = mV / INTERVAL;
float frac = (mV % 250) / (float)INTERVAL;
return distance[index] - ((distance[index] - distance[index + 1]) * frac);