Selasa, 26 April 2016

Ultrasonic HC-SR04

ULTRASONIC HC-SR04
VIA ARDUINO 


Salam elektro,apa kabar kalian semua,mudah mudahan selalu diberi kesehatan,agar dapat terus belajar untuk meraih masa depan yang lebih indah,nah pada kesempatan kali ini aruselektronika akan sedikit memberi tutorial cara akses sensor ultrasonic,apa kalian sebelumnya sudah mengetahui apa sih sensor ultrasonic ? ,singkatnya sih sensor ultrasonic bisa kalian gunakan untuk mengukur jarak,jadi kalian tidak perlu repot repot menggunakan penggaris,tapi ke sentitifan sensor ini belum se sensitif penggaris,tapi ada juga sensor yang lebih sensitif yaitu sensor PING PARALAX,tapi harganya juga mantap,beda jauh harganya dengan HC-SR04,untuk materi lebih jelasnya kalian baca baca lagi di mbah g**gle,dibawah ini aruselektronika akan mencoba menggunakan sensor ultrasonic hc-sr04. 

TOLONG BACA DENGAN DETAIL !

Siapkan alat dan bahan :
  • Arduino Uno/Nano/Mega (sama saja)  
  • Sensor ultrasonic HC-SR04
  • Breadboard 
  • Kabel jumper disesuaikan
  • Led (bebas)
  • Resistor 220 ohm
  • Laptop
  • Software arduino ide
  • Kabel usb
  • Download Library <NewPing.h> (tutorial instal library klik disini)
  • Download datasheet pdf atau baca disini 
  • Download skematik pdf
1. Sambungkan board arduino & sensor ultrasonic

                           
CATATAN !
a. agar lebih mudah kalian bisa gunakan yang menggunakan library <NewPing.h>
b. kalian bisa ganti pin echo dan trig dengan cara merubah program 

2. Copy paste sketch/program di bawah ini  ke dalam software arduino 


Tanpa library
/*
 * Ultrasonic range sr-04
 * By Fickry Muhammad
 */

#define trigPin 7

#define echoPin 6

#define greenLED 13

#define redLED 10

void setup() {

Serial.begin (9600);
Serial.println("Aruselektonika.blogspot.co.id");

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(greenLED, OUTPUT);

pinMode(redLED, OUTPUT);

}

void loop() {

long duration, distance;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = (duration/2) / 29.1;

if (distance < 4)
{ 

digitalWrite(greenLED,HIGH);

} else {

digitalWrite(greenLED,LOW); digitalWrite(redLED,HIGH);

}

if (distance >= 200 || distance <= 0){

Serial.println("Out of range");

} else {

Serial.print(distance); Serial.println(" cm");

} delay(500);

}
Dengan library
// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------

#include 

#define TRIGGER_PIN  7  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     6  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // 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(9600); // Open serial monitor at 115200 baud to see ping results.
  Serial.println("Aruselektonika.blogspot.co.id");
}

void loop() {
  delay(500);                     // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  Serial.print("Ping: ");
  Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
  Serial.println("cm");
}
3. Verify program arduino,apabila tidak terjadi error lanjut dengan proses upload

4. Upload program,apabila succes akan muncul tulisan done uploading,apabila ada yang belum tahu bagaimana cara upload code/sketch ke board arduino bisa baca disini

5. Sekarang kalian coba buka serial monitor pada software arduino,dan coba dekatkan benda yang dapat menghalangi sensor ultrasonic,coba kalian lihat perubahan nilai CM pada serial monitor,apabila berhasil maka tampilan akan seperti dibawah ini



MATERI GAMBAR 


hc-sr04-timing-chart.png (600×264)

FUNGSI FUNGSI LIBRARY 
  • ·      sonar.ping(); - Send a ping, returns the echo time in microseconds or 0 (zero) if no ping echo within set distance limit
    ·      sonar.ping_in(); - Send a ping, returns the distance in inches or 0 (zero) if no ping echo within set distance limit
    ·      sonar.ping_cm(); - Send a ping, returns the distance in centimeters or 0 (zero) if no ping echo within set distance limit
    ·      sonar.ping_median(iterations); - Do multiple pings (default=5), discard out of range pings and return median in microseconds
    ·      sonar.convert_in(echoTime); - Converts microseconds to distance in inches
    ·      sonar.convert_cm(echoTime); - Converts microseconds to distance in centimeters
    ·      sonar.ping_timer(function); - Send a ping and call function to test if ping is complete.
    ·      sonar.check_timer(); - Check if ping has returned within the set distance limit.
    ·      timer_us(frequency, function); - Call function every frequency microseconds.
    ·      timer_ms(frequency, function); - Call function every frequency milliseconds.
    ·      timer_stop(); - Stop the timer.

Share:

0 comments:

Posting Komentar

Copyright © FILAB | Powered by FILAB
Design by Fickry Muhammad | Technology by Filab.id