Pada kesempatan yang berbahagia kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang fungsinya untuk membantu kaum difabel dalam kehidupan sehari-hari, alat ini bertujuan untuk menentukan objek atau benda yang berada di depan, samping kiri dan kanannya, alat ini menggunakan output suara atau buzzer dengan nada yang berbeda untuk tiap halangan yang terbaca, misal ada halangan didepan maka akan berbunyi intonasi nada 1, jika ada halangan di samping kiri atau kanan maka akan mengeluarkan bunyi intonasi nada 2 dan seterusnya, jarak deteksi sensor agar dia berbunyi adalah 1 meter, jadi jika kurang dari satu meter maka buzzer akan berbunyi sesuai intonasi nada yang terkait. alat ini menggunakan sensor jarak SRF05 atau bisa juga menggunakan SRF04, mikrokontroller yang dipakai adalah Arduino. untuk lebih jelasnya berikut adalah skema dan programnya.
a. Arduino Uno
b. Sensor Jarak SRF04
c. BUZZER
d. Program Arduino IDE
#include <Wire.h>
#define trigPin 2
#define echoPin 3
#define trigPin1 4
#define echoPin1 5
#define trigPin2 6
#define echoPin2 7
long duration, distance;
long duration1, distance1;
long duration2, distance2;
void setup(){
pinMode(8,OUTPUT);
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
digitalWrite(8,HIGH);
}
void loop(){
delay(200);
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;
// Serial.print(distance);
// Serial.println(" cm");
digitalWrite(trigPin1, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin1, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = (duration1/2) / 29.1;
// Serial.print(distance1);
// Serial.println(" cm");
digitalWrite(trigPin2, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin2, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = (duration2/2) / 29.1;
// Serial.print(distance2);
// Serial.println(" cm");
if(distance < 100){
digitalWrite(8,LOW);
delay(200);
digitalWrite(8,HIGH);
delay(200);
}
if(distance1 < 100){
digitalWrite(8,LOW);
delay(100);
digitalWrite(8,HIGH);
delay(100);
digitalWrite(8,LOW);
delay(100);
digitalWrite(8,HIGH);
delay(500);
}
if(distance2 < 100){
digitalWrite(8,LOW);
delay(50);
digitalWrite(8,HIGH);
delay(50);
digitalWrite(8,LOW);
delay(50);
digitalWrite(8,HIGH);
delay(50);
digitalWrite(8,LOW);
delay(50);
digitalWrite(8,HIGH);
delay(500);
}
if((distance < 100)&&(distance1 < 100)&&(distance2 < 100)){
digitalWrite(8,LOW);
}
if((distance > 100)&&(distance1 < 100)&&(distance2 < 100)){
digitalWrite(8,LOW);
}
if((distance < 100)&&(distance1 > 100)&&(distance2 < 100)){
digitalWrite(8,LOW);
}
if((distance < 100)&&(distance1 < 100)&&(distance2 > 100)){
digitalWrite(8,LOW);
}
}
e. VIDEO HASILNYA
No comments:
Post a Comment