distance= duration0&02/;
// Prints the distance on the %erial Monitor %erial&print(34istance5 3); %erial&println(distance);
If you want to display the results from the HC-SR04 Ultrasonic Sensor on an LCD you can use the following source code
6include 7*i8uidr+stal&h //
*i8uidr+stal lcd(1, , 2, :, ', ); // reates an *4 ob
const int trigPin = 9; const int echoPin = 10;
long duration; int distance, distance#nch;
void setup() { lcd&begin(1',); //
pinMode(trigPin, !"P!"); pinMode(echoPin, #$P!");
void loop() { digitalrite(trigPin, *);
dela+Microseconds();
digitalrite(trigPin, -#.-); dela+Microseconds(10); digitalrite(trigPin, *);
duration = pulse#n(echoPin, -#.-); distance= duration0&02/; distance#nch = duration0&01/;
lcd&setursor(0,0); // lcd&print(3>ara?5 3); // lcd&print(>ara?); // Prints the distance value fro the sensor lcd&print(3c3); dela+(10); lcd&setursor(0,1); lcd&print(3>ara?5 3); lcd&print(>ara?#nch); lcd&print(3 inch3); dela+(10);
Deskripsi Sensor Ultrasonic HC-SR04 HC-SR04 sensor ultrasonik menggunakan sonar untuk menentukan jarak ke objek seperti pada kelelawar lakukan saat terbang. sensor ini memiliki kemampuan deteksi yang sangat baik dengan akurasi tinggi dan pembacaan stabil dalam paket yang mudah digunakan. Dari cm - 400 cm atau ! inci sampai 4 meter. dalam pengoperasiannya tidak terpengaruh oleh sinar matahari atau bahan hitam seperti pengukur jarak Sharp "# in$rared %meskipun akustik bahan lembut seperti kain bisa sulit untuk mendeteksi&.
Fitur sensor HC-SR04 #ower Supply
'() DC
*uiescent Current
+m,
orking Current
!(m,
$$ectual ,ngle
+!(/
Ranging Distance
cm 400 cm1!2 - !3$t
Resolution
0.3 cm
easuring ,ngle
30 degree
5rigger 6nput #ulse width
!0uS
Dimension
4(mm 7 0mm 7 !(mm
Pin pada Sensor HC-SR04 )CC
'()DC
5rig
5rigger %68#95&
cho
cho %:95#95&
"8D
"8D
Sekema rangkaian Arduino dengan Sensor HC-SR04 #ada poyek kali ini menggunakan board arduino uno; #in 5riger sensor terkoneksi ke #in !! arduino dan #in cho sensor terkoneksi ke #in ! ,rduino; seperti biasa menggunakan tegangan '(
Langkah emprogram ke Arduino Silahkan buka program 6D arduino; kemudian kopikan salah satu program di bawah yang sudah saya siapkan; jangan lupa menyimpan nya; pilih menu tools silahkan seting board arduino uno dan pastikan board arduino anda sudah terkoneksi dengan 9S= komputer1>,ptop sehingga port com akan akti$ dan bisa anda pilih; kemudian anda klik upload program dan biarkanlah kabel 9S= dalam keadaan terpasang karena kita akan melihat hasil pengukuran melalui serial monitor. setelah itu pada 6D silahkan anda pilih tools dan kemudian buka Serial monitor yang akan menampilkan hasil pengukuran dari sensor ultrasonik tersebut.
Program Sensor !arak HC-SR04 Arduino
1?
[email protected] 9ltrasonic sensor #ins@ )CC@ '()DC 5rig @ 5rigger %68#95& - #in!! cho @ cho %:95#95& - #in ! "8D @ "8D ?1 int trig#in A !!B 115rig - green umper int echo#in A !B 11cho - yellow umper long duration; cm; meterB
: pendek terlebih dahulu untuk memastikan pulsa H6"H bersih@ digitalrite%trig#in; >:&B delayicroseconds%(&B digitalrite%trig#in; H6"H&B delayicroseconds%!0&B digitalrite%trig#in; >:&B 11 =aca sinyal dari sensor@ pulsa H6"H yang 11 duration adalah waktu %dalam mikrodetik& dari pengirim
11 Dari ping untuk penerimaan cho o$$ dari sebuah objek. pinode%echo#in; 68#95&B duration A pulse6n%echo#in; H6"H&B 11 con
Program "e# Ping Sensor !arak HC-SR04 Arduino 1? [email protected] 9ltrasonic sensor #ins@ )CC@ '()DC 5rig @ 5rigger %68#95& - #in!! cho @ cho %:95#95& - #in ! "8D @ "8D ?1 include +8ew#ing.hI de$ine 5R6""RJ#68 ! de$ine CH:J#68 !! de$ine ,KJD6S5,8C 00 8ew#ing sonar%5R6""RJ#68; CH:J#68; ,KJD6S5,8C&B 11 8ew#ing seting pin and ma7imum distance.
:. ika ,nda menggunakan pulsin seperti di atas maka dengan tidak kembali echo program akan menggantung selama ! detik yang merupakan batas waktu de$ault untuk pulsin yang artinya program anda akan berhenti sejenak tidak membaca nilai sensor secara realtime selama ! detik dan ,nda perlu menggunakan parameter timeout pada program sebagai pembatasan maksimum. HC-SR04 hampir tidak bekerja sampai 3 meter memberikan panjang jalur total F meter dan waktu tempuh sekitar 0ms sehingga mengatur batas waktu untuk sesuatu di atas itu; mengatakan ( atau 30ms.
Sebelumnya siapkan terlebih dahulu komponen yang dibutuhkan; yaitu@ !7 ,rduino 9no !7 =readboard 47 Nabel umper !K HC-SR04 9ltrasonic Sensor Nemudian rangkailah seperti penampakan dibawah ini...
Klik gambar untuk memperbesar.
Catatan@
1. 2. 3. 4.
Pasang Pasang Pasang Pasang
pin VCC HC-SR04 ke pin 5V Arduino pin Trig HC-SR04 ke pin 11 Arduino pin Echo HC-SR04 ke pin 12 Arduino pin GND HC-SR04 ke pin GND Arduino
ika sudah; sekarang silahkan salin atau ketik ulang sketch program dibawah ini...
int trig= 11; // membuat varibel trig yang di set ke-pin 3 int echo= 12; // membuat variabel echo yang di set ke-pin 2 long durasi, jarak; // membuat variabel durasi dan jarak void setup() { pinMode(trig, OUTPUT); // set pin trig menjadi OUTPUT pinMode(echo, INPUT); // set pin echo menjadi !PUT Serial "begin(96); // digunakan untuk komunikasi #erial dengan komputer ! void loop() { // program diba$ah ini agar trigger memancarakan suara ultrasonic ); digital%rite(trig, &O% delayMicroseconds("); digital%rite' trig, ()( ); delayMicroseconds("); ); digital%rite(trig, &O% delayMicroseconds("); durasi= pulsen(echo, ()( ); // menerima suara ultrasonic jarak= (durasi#2) # 29$1; // mengubah durasi menjadi jarak 'cm* #erial"println(jarak); // menampilkan jarak pada #erial Monitor ! Nalau sudah Done Uploading; kamu bisa buka Serial onitor untuk melihat nilai jarak dari sensornya; coba untuk mendekatkan dan menjauhkan tangan dari sensor; dan lihat angkanya.
Membaca Jarak Sensor Ultrasonic ditampilkan ke LCD 16X2 dengan Arduino uno Membaca Jarak Sensor Ultrasonic ditamilkan ke !CD dengan "rd#ino
Prinsip ker!a sensor ultrasonik Sensor "ltrasonik dapat ber#ungsi sebagai peman$ar maupun penerima gelombang ultrasonik. Sensor %ang ada di pasaran berbentuk silinder dengan &arna sil'er.
Satu paket sensor ultrasonik terdiri dari 2 sensor. (ikemas dalam satu board. Satu sensor sebagai peman$ar dan satu sensor lagi sebagai penerima.
Sensor "ltrasonik SR)04. Ada beberapa ma$am sensor ultrasonik.ping sensor*sr#04 sr# 0+*sr# 0, dan sebagain%a ipe SR)04 sala satun%a* %ang akan kita pakai pada aplikasi ini. Kemampuan /range ukur !arak antara 3 $m sd 400 $m. lebi dari $ukup untuk mengukur tinggi orang tertinggi didunia sekalipun pada taun taun ini. mungkin berbeda !ika sensor ini mau dipakai mengukur ketinggian kaum Ad.
ari kita peratikan. Ada 4 pinkaki pada sensor SR)04.
erikut keterangann%a - Pin rig /riger 55 sebagai pinkaki untuk memi$u /mentrigger peman$aran ngelombang ultrasonik. Cukup dengan membuat logika 6H78H 9 :;<= maka sensor akan meman$arkan gelombang ultrasonik. - Pin >$o 55 sebagai pinkaki untuk mendeteksi ultrasonik* apaka suda diterima atau belum. Selama gelombang ultrasonik belum diterima* maka logika pin >CH; akan 6:;<=. Setela gelombang ultrasonik diterima maka pin >CH; berlogika 6H78H=. - Pin ?$$ 55 sebagai pin koneksi ke po&er suppl% @ , ?d$. (apat !uga diubungkan langsung ke pin ?$$ mikrokontroler. - Pin 8nd /8round 55 adala pin koneksi ke po&er suppl% 8round. (apat !uga diubungkan ke pin 8nd mikrokontroler.
Prinsip dasar dari sensor ultrasonik SR)04 dapat kita !elaskan dengan mulai memperatikan gambar berikut
iming diagram /diagram &aktu merupakan gambaran sin%al /H78H :;< %ang ter!adi pada masing 9 masing pin /rig >$o berdasarkan &aktu. 8ambarn%a kita potong satu persatu %a.. Kita mulai dari bagian atas. agian sin%al pin rig.
Pin rig ber#ungsi sebagai pemi$u /trigger. Pin ini arus diberi sin%al 6H78H= kemudian 6:;<=. Siapa %ang memberin%a B a tentu sa!a mikrokontroler. erapa lama B Seperti pada gambar %aitu minimal 10 Ds /mi$ro se$onds. egitu mendapat trigger* sensor ultrasonik /bagian peman$ar akan meman$arkan gelombang ultrasonik seban%ak + siklus dengan #rekuensi 40 KE. 8elombang ultrasonik akan terus merambat* bergerak dengan ke$epatan 344 ms.
Fa* selama gelombang ultrasonik masi merambat /belum mengenai pengalangdinding* logika pin >$o adala 6H78H=.
egitu ultrasonik mengenai pengalangdinding* sebagian gelombang akan diteruskan ke media %ang ditabrak* sebagian lagi memantul dan kembali menu!u ara sensor. Pada saat ultrasonik diterima kembali ole sensor* maka otomatis pin >CH; akan beruba logikan%a men!adi 6:;<=.
8imana* suda mulai ada gambaran B ;K* neGt :ebar pulsa atau 6laman%a= pin >CH; berlogika 6H78H= I &aktu tempu ultrasonik.
Paam B aik* kita per!elas - Ketika gel.ultrasonik meman$ar /pergi maka logika pin >$o I 1. - Selama gel.ultrasonik masi merambat /belum kembali logika pin >$o I 1. - Setela gel.ultrasonik memantul dan kembali trus terdeteksi ole sensor penerima* maka pin >CH; I 0. Jelas B Selesai... Selan!utn%a tinggal kita panggil guru matematika kita dulu &aktu SP untuk nga!ari $ara ngitungn%a. ups betul* !arak tempun%a %ang akan diitung seingga kita tau berapa !arak antara sensor ultrasonik dengan dinding %ang diukur. Fi resepn%a Ke$epatan /$epat rambat gelombang ultrasonik di udara I 344 ms /meter perdetik. Artin%a untuk menempu !arak 344 m dibutukan &aktu1 detik. Atau untuk menempu !arak 1 m butu &aktu 1344 s atau 0*002 s. Jika menempu !arak 1 $m / 1 $m I 0*01 m maka butu &aktu 0*01 G 0*002 s I 0*00002 s /2 Ds.
Fa karena gelombang ultrasonik melakukan per!alanan pergi 9 pulang /pan$ar 9 terima seingga &aktu %ang dibutukan men!adi 2G. Hal ini berpengaru pada peritungan !arakn%a.
untuk menempu !arak 1 $m diperlukan &aktu 2 Ds G 2 I ,+ Ds.
7ngat %a* ini kesimpulann%a untuk menempu !arak 1 $m 7ngat %a* ini kesimpulann%a untuk menempu !arak 1 $m 7ngat %a* ini kesimpulann%a untuk menempu !arak 1 $m 7ngat %a* ini kesimpulann%a untuk menempu !arak 1 $m dibutukan &aktu ,+ Ds. (engan kata lain* dibutukan &aktu ,+ Ds. (engan kata lain*
untuk mengitung !arak tempu I &aktu tempu,+ /$m.
tempu I &aktu tempu,+ /dalam satuan $m.
Rangkaian emba$a Jarak Sensor "ltrasoni$ ditampilkan ke :C( 1LM2 dengan Arduino
Jarak Sensor "ltrasoni$ ditampilkan ke :C( 1LM2 dengan Arduino
Sket$ emba$a Jarak Sensor "ltrasoni$ ditampilkan ke Serial onitor dan :C( dengan Arduino
N
N ??C @,? N 8F( ground N R78 digital pin 12 N >CH; digital pin 11 N
Oin$lude :iQuidCr%stal.5 :iQuidCr%stal l$d/2* 3* 4*,* L* $onst int R78TP7F I 12 pin triger sensor ultrasoni$ di koneksikan ke pin 12 pada arduino $onst int >CH;TP7F I 11 pin e$o sensor ultrasoni$ di koneksikan ke pin 11 pada arduino
'oid setup/ U initialiEe serial $ommuni$ation Serial.begin/L00
pinode/R78TP7F*;"P" pinode/>CH;TP7F*7FP" l$d.begin/1L* 2 l$d.setCursor/0* 0 l$d.print/VArduino ?S SensorV l$d.setCursor/0* 1 l$d.print/V"ltrasoni$ V dela%/3000
W
'oid loop/ U long duration* distan$eCm
8i'e a sort :;< pulse be#oreand to ensure a $lean H78H pulse digital
duration I pulse7n/>CH;TP7F*H78H
$on'ert te time into a distan$e 340 ms--5 dalam satu detik !arak tempu adala 340 meter* 110 detik untuk 34 meter* 1100 detik /10 1000 detik /ba$a 10 mili detikuntuk 3*4 meter 11000 detik ba$a 1 mili detik untuk !arak 0*34 meter /34$m
!adi untuk menempu !arak 1 $m --5 /1100 meter diperlukan &aktu seban%ak 2.1 Xs$m distan$eCm I duration 2.41 2
i# /distan$eCm I 0U Serial.println/V;ut o# rangeV W else U Serial.print/distan$eCm Serial.println/VCV l$d.$lear/ l$d.setCursor/0* 0 l$d.print/VJarakV l$d.setCursor/0* 1 l$d.print/distan$eCm l$d.print/V Cm V
W dela%/1000 W
Catatan upload sket$ ke arduino maka data !arak asil pemba$aan sensor ultrasoni$ akan ditampilkan :C( %ang terpasang di arduino uno* !ika anda buka serial monitor pada so#t&are arduino* !arak !uga akan ditampilkan ke serial monitor karenan ada n%a sket$
Serial.print/distan$eCm Serial.println/VCV
Selamat ela!ar
F !ika :C( blank*silakan atur $ontrast :C( dengan memutar trimport /'aribale resistor untuk mendapatkan displa% %ang bagus.