Tiga Saudara

Sabtu, 07 April 2018

PENGUKUR PANJANG BENDA DIGITAL MENGGUNAKAN SENSOR ULTRASONIK HCSR04 BERBASIS ARDUINO

PENGUKUR PANJANG BENDA DIGITAL MENGGUNAKAN SENSOR ULTRASONIK HCSR04 BERBASIS ARDUINO


PENDAHULUAN
Alat ukur panjang benda berbasis Arduino adalah alat ukur yang menggunakan sensor ultrasonic HCSR04 sebagai penangkap sinyalnya serta Arduino sebagai mikrokontroler. Dengan cara meletakkan benda didepan sensor tersebut, maka dapat diketahui panjang benda secara otomatis yang didisplay pada LCD. Sensor ini menangkap sinyal dari ujung benda.

Sensor HCSR04 ini memiliki 4 kaki. Sensor ini memiliki pemancar suara ultrasonic dan penerima pantulan suara ultrasonic dalam satu modul, oleh sebab itu memiliki kaki trigger dan echo, namun ada juga tipe sensor ultrasonic yang kaki echo dan trigger langsung menjadi satu kaki tanpa terpisah.
Cara kerjanya yaitu saat kita meletakkan benda didepan sensor ultrasonic, maka sensor tersebut akan memantulkan sinyal ultrasonic dari ujung benda (objek yang berada di depannya) dan kembali menuju sensor tersebut.

ALAT DAN BAHAN
Rangkaian pengukur panjang benda digital menggunakan sensor ultrasonic HCSR04 berbasis Arduino ini membutuhkan komponen-komponen sebagai berikut:
1. Sensor Ultrasonik HCSR04
2. LCD 2x16
3. Project Board
4. Arduino Uno
5. Kabel Jumper Male to Male
6. PC Windows 7.0 atau lebih tinggi
7. Software Arduino

LANGKAH-LANGKAH
Langkah Perancangan Hardware:
Hubungkan pin sensor ultrasonic, pin Arduino, dan pin LCD seperti pada skema dibawah ini dengan menggunakan kabel male to male. Pastikan kabel terhubung dengan benar. Kemudian hubungkan kaki pada LCD ke Arduino sesuai dengan petunjuk berikut:




Keterangan:
Kaki A1 LCD dihubungkan ke pin A1 pada Arduino
Kaki A2 LCD dihubungkan ke pin A2 pada Arduino
Kaki GND LCD dihubungkan ke pin GND pada Arduino
Kaki 5V LCD (VCC) dihubungkan ke pin 5V pada Arduino
Kaki A1 LCD dihubungkan ke kaki Echo pada sensor Ultrasonik
Kaki A2 LCD dihubungkan ke kaki Trigger pada sensor Ultrasonik
Kaki GND LCD dihubungkan ke kaki GND pada sensor Ultrasonik
Kaki 5V LCD (VCC) dihubungkan ke kaki VCC pada sensor Ultrasonik

Selanjutnya untuk kaki VCC dan GND pada sensor ultrasonic ini sudah jelas ke pin 5V dan ke pin GND pada Arduino. Kemudian untuk kaki trigger dihubungkan ke pin A1 pada Arduino dan kaki echo ke pin A2 pada Arduino.

Langkah Perancangan Software:
Perancangan software untuk pengukur tinggi badan digital ini sebagai berikut:
Kodingan untuk sensor ultrasonik tanpa LCD (hasil ditampilkan pada serial monitor)

#include <NewPing.h>

#define TRIGGER_PIN  A2  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     A1  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 41 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}
void loop() {
  delay(1000);                     // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  Serial.print("Panjang Benda: ");
  Serial.print(41-sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
  Serial.println(" cm");
}



Kodingan gabungan untuk sensor ultrasonik yang hasilknya akan ditampilkan pada LCD sebagai berikut:
#include <NewPing.h>

#define TRIGGER_PIN  A2  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     A1  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 41 // Maximum distance we want to ping for (in centimeters).

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
  lcd.begin(16, 2);              // start the library
 lcd.setCursor(0,0);
 lcd.print("panjang benda");
}
void loop() {
  delay(1000);                     // Wait 100ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  Serial.print("Panjang Benda: ");
  Serial.print(41-sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
  Serial.println("cm");
  lcd.setCursor(0,1); 
  lcd.print(41-sonar.ping_cm());
lcd.print(" cm");
  lcd.print(" ");
}

Tidak ada komentar:

Posting Komentar