Arduino - Sensor Ultrasonik dengan LED dan bel

Arduino - Sensor Ultrasonik dengan LED dan bel

Pada kesempatan ini saya akan berbagi pengetahuan mengenai penggunaan arduino dan sensor ultrasonik. sebelum kita memulai melakukan pemograman arduino kita harus menyiapkan beberapa alat yang dibutuhkan diantaranya:



1. Arduino

2. Sensor ultrasonik 

3. LED

4. Bel

5. Kabel jumper

6. resistor 220 Ohm

Pada dasarnya sensor Ultrasonik digunakan untuk mendeteksi adanya benda didepan sensor dengan cara mengirimkan gelombang ultrasonik melalui transmiter kemudian gelombang tersebut akan memantul, hasil pantulannya akan diterima oleh receiver sensor. selang waktu tersebut yang akan diukur sehingga bisa menentukan jarak benda tersebut. jika kondisi tersebut  LED akan menyala sesuai dengan jarak yang ditentukan ,dan bel berbunyi bip dengan cara yang berbeda. Sirkuit ini bisa berfungsi sebagai sensor parkir! Mudah dan murah. 

Rangkaian Skematik


Code program

/*
 
*/
int tonePin = 4;    //Tone - Red Jumper
int trigPin = 9;    //Trig - violet Jumper
int echoPin = 10;   //Echo - yellow Jumper
int clockPin = 11;  //IC Pin 11 - white Jumper
int latchPin = 12;  //IC Pin 12 - Blue Jumper
int dataPin = 13;   //IC Pin 14 - Green Jumper
 
byte possible_patterns[9] = {
B00000000, 
B00000001,
B00000011,
B00000111,
B00001111,
B00011111,
B00111111, 
B01111111, 
B11111111,
};
int proximity=0;
int duration;
int distance;
 
void setup() {
  //Serial Port
  Serial.begin (9600);
  
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  pinMode(tonePin, OUTPUT);
}
 
void loop() {
  digitalWrite(latchPin, LOW);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;
  
  /*if (distance >= 45 || distance <= 0){
    Serial.println("Out of range");
  }
  else {
    Serial.print(distance);
    Serial.println(" cm");
  }*/
  
  proximity=map(distance, 0, 45, 8, 0);
  //Serial.println(proximity);
  
  if (proximity <= 0){
    proximity=0;
  }
  else if (proximity >= 3 && proximity <= 4){
    tone(tonePin, 200000, 200);
  }
  else if (proximity >= 5 && proximity <= 6){
     tone(tonePin,5000, 200);
  }
  else if (proximity >= 7 && proximity <= 8){
    tone(tonePin, 1000, 200);
  }
  shiftOut(dataPin, clockPin, MSBFIRST, possible_patterns[proximity]);
  digitalWrite(latchPin, HIGH);
 
  
  delay(600);
  noTone(tonePin);
}

Selamat Mencoba




Post a Comment

Previous Post Next Post

Contact Form