Translate

Membuat Alat Pengukur Jarak Benda dan Pengukur Kecepatan Gerakan Benda sensor HC-SRF04 dan HB100 ARDUINO

Membuat Alat Pengukur Jarak Benda dan Pengukur Kecepatan Gerakan Benda sensor HC-SRF04 dan HB100 ARDUINO


        Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang menggunakan Arduino untuk mengukur jarak benda dan kecepatan gerakan benda, alat ini menggunakan dua buah sensor yaitu HC-SRF04 dan HB100. alat ini dilengkapi dengan LCD untuk penampilnya atau interface. untuk aplikasi dari alat ini sangatlah banyak salah satunya untuk mengukur kecepatan mobil dan sensor jarak saat mundur parkir. untuk lebih jelasnya berikut adalah skema dan programnya.



a. Arduino Mega




b. Sensor Jarak HC-SRF04




c. Sensor HB100




d. LCD + I2C






e. Program Arduino IDE

#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 
#include "FreqMeasure.h"
LiquidCrystal_I2C lcd(0x3F, 16, 2);

#define trigPin 2
#define echoPin 3


void setup()
{
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  lcd.begin();
  lcd.clear();
  Serial.begin(9600);
  lcd.print("Dist:");
  lcd.setCursor(10,0);
  lcd.print("Speed:");
  FreqMeasure.begin();
}

double sum=0;
int count=0;

void loop(){
 
    long duration, distance;
  digitalWrite(trigPin, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trigPin, HIGH);
//  delayMicroseconds(1000); - Removed this line
  delayMicroseconds(10); // Added this line
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;

   
  if (FreqMeasure.available()) {
    // average 30 readings together
    sum = sum + FreqMeasure.read();
    count = count + 1;
    if (count > 30) {
      float frequency = FreqMeasure.countToFrequency(sum / count);
      float spd = frequency / 19.49; //conversion from frequency to kilometers per hour (sorry, imperial guys :)
      //to improve speed, we update only the bottom row of the LCD

if(spd > 2.5){
spd = 0;
}
      lcd.setCursor(0, 1);
      lcd.print("                ");
      lcd.setCursor(0, 1);
      lcd.print(distance);
      lcd.print("cm");
      //lcd.print("       ");    
      lcd.setCursor(8,1);
      lcd.print(spd);
      lcd.print("km/h");
     
//      Serial.println(distance);
//      Serial.println(spd);
          
      sum = 0;
      count = 0;
    }
  }
}





f. VIDEO HASILNYA










No comments:

Post a Comment