Skip to main content

arduino & sensor ultrasonik

 

 gambar rangkaian


RANGKAIAN BISA DI KOMBINASIKAN DENGAN BREADBOARD 

RANGKAIAN BISA DI KOMBINASIKAN DENGAN LED

KOMPOSISI :

ArduinoUltrasonik
Pin 2TRIG
Pin 3ECHO
5VVCC
GNDGND



SCRIPT:

----------------------------------------------


int trigPin = 2;

int echoPin = 3;

long waktu;

int jarak;


void setup() {

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

Serial.begin(9600);

}


void loop() {

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);


waktu = pulseIn(echoPin, HIGH);

jarak= waktu*0.034/2;

Serial.print("Jarak: ");

Serial.println(jarak);

delay(200);

}

---------------------------------------------

 DI KOMBINASIKAN DENGAN LED



 kita akan menambahkan komponen seperti LED dan resistor (220Ohm) masing masing 3 buah. Untuk gambar rangkaian keseluruhan adalah sebagai berikut.

gmbr rangk.JPG

Pada tutorial ini kita akan memasang LED di pin 4, 5 dan 6 pada board Arduino. Sehingga kita akan menambahkan kode untuk deklarasi pin LED seperti berikut.

const int LED1 = 4;
const int LED2 = 5;
const int LED3 = 6;

Lalu pada void setup kita akan membuat LED tersebut sebagai OUTPUT, sehingga pada void setup akan ketambahan potongan kode seperti berikut.

pinMode(LED1, OUTPUT); 
pinMode(LED2, OUTPUT); 
pinMode(LED3, OUTPUT);

Pada funsi void loop kita akan membuat fungsi percabangan dimana ketika jarak lebih dari 50cm maka lampu LED1 akan menyala, namun ketika jarak berada pada range 50cm dan 20cm maka LED2 akan menyala dan yang terakhir ketika jarak terpaut kurang dari 20cm maka LED3 akan menyala, sehingga potongan kode keseluruhan akan menjadi seperti ini.

const int triggerPin = 2;
const int echoPin = 3;
const int LED1 = 4;
const int LED2 = 5;
const int LED3 = 6;

long durasi;
int jarak;

void setup() {
pinMode(triggerPin, OUTPUT); 
pinMode(LED1, OUTPUT); 
pinMode(LED2, OUTPUT); 
pinMode(LED3, OUTPUT); 
pinMode(echoPin, INPUT);
  
Serial.begin(9600); 
}

void loop() {
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  durasi = pulseIn(echoPin, HIGH);
  jarak = durasi*0.034/2;
  
  if(jarak > 50){
    Serial.println("Jarak lebih dari 50cm");
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
  }else if(jarak <= 50 && jarak >= 20){
    Serial.println("Jarak berada diantara 20cm hingga 50cm");
    digitalWrite(LED2, HIGH);
    digitalWrite(LED1, LOW);
    digitalWrite(LED3, LOW);
  }else if(jarak < 20){
    Serial.println("Jarak kurang dari 20cm");
    digitalWrite(LED3, HIGH);
    digitalWrite(LED2, LOW);
    digitalWrite(LED1, LOW);
  }
}

Comments