Assalamu’alaikum teman – teman, kembali lagi di tempat kumpul kita ini lagi :2thumbup kali ini saya akan share sebuah project. jadi project kali ini adalah tentang membuat alarm anti tabrakan untuk kendaraan yang dipesat salah satu PT di kalimantan. pemesan meminta saya untuk membuat alarm dimana alarm tersebut akan memberi tanda kepada pengendara jika kendaraan yang dikendarai mau menabrak. saat itu langsung terlintas di fikiran saya bahwa saya akan menggunakan sensorjarak ultrasonic HC-SR04, Lalu setelah itu saya berfikir lagi. kan HC-SR04 hanya mampu meng-cover jarak maksimal sekitar 4 meter :malu2 karena itu saya coba untukcari cari jenis sensor apa yang bisa mengcover jarak yang cukup jauh dan akhirnya saya mendapatkan sebuah sensor jarak yang mampu meng-cover jarak yang menurut saya cukup jauh yaitu sensor Lidar ( Light Detection and Ranging ) yang mampu mengcover jarak sampai 40an meter hanya saja harganya yg mahal (sekitar 3 jutaan) :hammer berikut adalah penampakannya :
Sensor lidar ini biasanya digunakan pada drone. jika dilihat dari cara kerjanya hampir sama dengan sensor jarak HC-SR04. hanya saja jika HC-SR04 menggunakan media gelombang suara ultrasonic dan sensor Lidar ini menggunakan media cahaya laser.
Baiklah sekarang lanjut saja ke cara mengakses sensor lidar ini menggunakan Arduino. kita dapat mengakses sensorlidar ini menggunakan komunikasi i2c ya, berikut adalah wiringnnya :
untuk elconya itu hanya optional saja, elco itu berfungsi untuk menstabilkan tegangan yang masuk ke sensor lidarnya, setelah kita tahu wiringnya maka selajutnya kita harus memrogram arduinya agar bisa menerima data jarak dari lidar, untuk codingnnya sebagai berikut :
/* http://pulsedlight3d.com share by https://www.cronyos.com This sketch demonstrates getting distance with the LIDAR-Lite Sensor It utilizes the 'Arduino Wire Library' */ #include <Wire.h> #define LIDARLite_ADDRESS 0x62 // Default I2C Address of LIDAR-Lite. #define RegisterMeasure 0x00 // Register to write to initiate ranging. #define MeasureValue 0x04 // Value to initiate ranging. #define RegisterHighLowB 0x8f // Register to get both High and Low bytes in 1 call. int reading = 0; void setup() { Wire.begin(); // join i2c bus Serial.begin(9600); // start serial communication at 9600bps } void loop() { Wire.beginTransmission((int)LIDARLite_ADDRESS); // transmit to LIDAR-Lite Wire.write((int)RegisterMeasure); // sets register pointer to (0x00) Wire.write((int)MeasureValue); // sets register pointer to (0x00) Wire.endTransmission(); // stop transmitting delay(20); // Wait 20ms for transmit Wire.beginTransmission((int)LIDARLite_ADDRESS); // transmit to LIDAR-Lite Wire.write((int)RegisterHighLowB); // sets register pointer to (0x8f) Wire.endTransmission(); // stop transmitting delay(20); // Wait 20ms for transmit Wire.requestFrom((int)LIDARLite_ADDRESS, 2); // request 2 bytes from LIDAR-Lite if(2 <= Wire.available()) // if two bytes were received { reading = Wire.read(); // receive high byte (overwrites previous reading) reading = reading << 8; // shift high byte to be high 8 bits reading |= Wire.read(); // receive low byte as lower 8 bits Serial.println(reading); // print the reading } }
Setelah program selesai di uploud silahkan buka serial monitor kalian untuk melihat data jarak yang terbaca oleh sensor lidar tersebut. Sekian untuk postingan kali ini, semoga bermanfaat, wassalamau’alaikum :cendolbig
Jadi bg slain sensor lidar, ada sensor yg lbih murah gak? Tpi ttap mmpu mngkur dngan jarak yg jauh
blm tau bang, sementara ya lidar itu yg biasa digunakan.