Himanshudada
Published © MIT

Wireless Distance Monitoring with Arduino Uno, TF-Luna LiDAR

Arduino Uno with TF-Luna LiDAR measures distance via I2C and sends data wirelessly using XBee S2C to display or log remotely.

IntermediateFull instructions provided5 hours93
Wireless Distance Monitoring with Arduino Uno, TF-Luna LiDAR

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
TF-Luna LiDAR Sensor
×1
XBee S2C Module
×1
Jumper wires (generic)
Jumper wires (generic)
×1

Software apps and online services

Arduino IDE
Digi XCTU

Story

Read more

Schematics

arduinol_sfcjJuPQWb.jpg

Code

distance_xbee_01.ino

C/C++
#include "SoftwareSerial.h"
#include <Wire.h>

byte deviceAddress = 0x10;  // The address of the TF-Luna device is 0x10
SoftwareSerial XBee(2,3);
void setup() {
  Wire.begin();             // The I2C bus communication starts
  Serial.begin(9600);
   XBee.begin(9600);// Example Set the baud rate of the serial port to 115200
}

void loop() {
  Wire.beginTransmission(deviceAddress);  // The I2C data transmission starts
  Wire.write(0x00);                       // Send command
  Wire.endTransmission();                 // The I2C data transfer is complete

  Wire.requestFrom((uint8_t)deviceAddress, (uint8_t)7);     // Read 7 bytes of data 

  if (Wire.available() == 7) {            // 7 bytes of data are available
    byte data[7];
    for (int i = 0; i < 7; i++) {
      data[i] = Wire.read();              // Read data into an array
    }

    unsigned int distance = (data[1] << 8) | data[0];                   // DistanceValue
    unsigned int signalStrength = (data[3] << 8) | data[2];             // signal strength

    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.print(" cm  \n");
    int A = distance;
    char distanceStr[10];
        snprintf(distanceStr, sizeof(distanceStr), " D %d\n", A);

    Serial.println(distanceStr);
                
    XBee.write(distanceStr);
    delay(1000);
  }

                 
}

Credits

Himanshudada
4 projects • 1 follower
I am a Founder, Software Developer & Electronics Engineer building innovative IoT and embedded systems for real-world practical solutions.

Comments