Académique Documents
Professionnel Documents
Culture Documents
Ultrasonic Sensor adalah projek yang menggunakan sensor ultrasonic HC-SR04 bagi
mengesan objek atau halangan di hadapan. Objek yang dimaksudkan ialah ikan di
dsasar laut khususnya baagi menangkap ikan di kawasan laut dalam. Apabila sensor
mengesan objek atau halangan berdekatan, alat ini akan mengeluarkan bunyi buzzer
dan gerakan vibrator. Mini projek ini menggunakan asas seperti botol dan minuman
tin. Kedua-dua objek ini digabungkan untuk membentuk replika Bot menangkap ikan.
LAYOUT LITAR :
Senarai komponen nya adalah seperti berikut.
Arduino Source Code
/*
Project: Ultrasonic for Blind
Programmer: Shahrulnizam Mat Rejab
Board: Arduino UNO
Last Modified: 20 May 2015
Website: http://shahrulnizam.com
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(5,6,11,7,10,8);
#define buzzer 9
#define vibrator 12
#define trigPin1 A0
#define echoPin1 A1
#define trigPin2 A2
#define echoPin2 A3
int counter,min,count;
long duration1,distance1,duration2,distance2;
void setup()
{
pinMode(vibrator, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
Serial.begin(9600);
lcd.begin(8,2);
lcd.print("Distance");
}
void loop()
{
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
// digitalWrite(trigPin2, LOW);
// delayMicroseconds(2);
// digitalWrite(trigPin2, HIGH);
// delayMicroseconds(10);
// digitalWrite(trigPin2, LOW);
// duration2 = pulseIn(echoPin2, HIGH);
distance1=microsecondsToCentimeters(duration1);
if(distance1>1000) distance1=distance1/1000+100;
else if(distance1==6) distance1=100;
distance2=200;//microsecondsToCentimeters(duration2);
if(distance2>1000) distance2=distance2/1000+100;
if(distance1<distance2) min=distance1;
else min=distance2;
if(min>=70) count=0;
else count=map(min,0,70,1,10);
if(counter<5*count) counter++;
else counter=1;
if((counter<=5)&&(count>0))
{
digitalWrite(buzzer,HIGH);
digitalWrite(vibrator,HIGH);
}
else
{
digitalWrite(buzzer,LOW);
digitalWrite(vibrator,LOW);
}
lcd.setCursor(0,1);
if(distance1<10) lcd.print(" ");
else if(distance1<100) lcd.print(" ");
lcd.print(distance1);
lcd.print(" ");
if(distance2<10) lcd.print(" ");
else if(distance2<100) lcd.print(" ");
lcd.print(distance2);
}