Sabtu, 18 April 2020

Softskill/APE/2
Jose Geraldo
16417425  3IB04

Salam Sejahtera bagi kita semua, pada saat ini, penulis akan mempublikasikan tugas dari dosen pengajar ANTONIUS IRIANTO SUKOWATI dengan mata kuliah “ALGORITMA DAN PEMROGRAMAN KASUS TEK. ELEKTRO”, dengan judul

“SENSOR PARKIR MOBIL DENGAN INDIKATOR BERBASIS ARDUINO UNO"

Pada perencangan kali ini menggunakan software genuino UNO sebagai script koding dan compiler disertai dengan software proteus sebagai simulasi percobaan. Perancangan dimulai dengan mencari skematik program dikarenakan penulis mencari referensi untuk simulasi proteus berbasis sesnsor ultrasonic.Pada perancangan kali ini, proyek yang dirancang ditujukan kepada kendaraan bermotor pada kasus ini mobil, dimana sebagai penanda agar menghindari kejadian yang tidak diinginkan baik pada saat mundnur ataupun pada saat parkir.

Cara kerja Alat:

Melalui sensor ultrasonic dengan jangkauan yang telah dicoba dengan jangkauan 1117 cm berfungsi memberikan penanda berupa sinyal analog melalui waktu suatu gelombang datang yang dipancarkan  dan kembali oleh penerima karena terpantul oleh objek. Karena nilai waktu yang tercatat berupa analog, maka harus dikonfigurasi menjadi digital terhadap mikrokontroler agar dapat menampilkan kondisi sesuai dengan indikator. Kemudian nilai analog yang telah berubah menjadi digital dikoneksikan ke komponen peripheral indikator  yang ada berupa yaitu LCD 16x2 dan juga LED 3 buah (merah, kuning, hijau) dilengkapi speaker(buzzer). Dengan Kondisi  dipaparkan pada tabel uji.

Sensor Ultrasonic - Data Waktu Analog - Mikrokontroler - Data digital - Indikator 


"Seperti yang telah kami jelaskan sebelumnya bahwa cara kerja dari sensor ultrasonik adalah dengan menggunakan pantulan suara. Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui alat yang disebut dengan piezoelektrik. Gelombang yang dibandingkan tersebut memiliki frekuensi tertentu (umumnya sekitar 40 kHz). Secara sederhana, sensor ultrasonik akan menembakkan gelombang ultrasonik menuju objek tertentu. Setelah gelombang menyentuh objek, maka gelombang akan dipantulkan kembali ke sensor tersebut, lalu sensor akan menghitung selisih antara waktu pengiriman dan waktu penerimaan gelombang pantul. Untuk lebih jelasnya bisa anda lihat pada gambar berikut."
gambar cara kerja referensi

Berikut dipaparkan cara kerja yang penulis lakukan untuk tugas ini:
  • Langkah pertama, penulis memulai penentuan ide konsep program sehingga tercetuslah judul tersebut, dan dicari referensi – referensi yang berhubungan dengan judul tersebut pada tugas ini menggunakan mikrokontroler arduino jenis UNO rev 3
  • Langkah kedua, merancang skematik berupa pemasangan komponen yang digunakan termasuk koneksi pin di komponen terhadap arduino. Semuanya menggunakan software simulasi Proteus 8.
    L(2). perancangan skematik
  • Langkah ketiga, mengetik kodingan pada software Genuino Uno sampai sesuai dengan keinginan penulis dan compiler berhasil menbcompile shingga didapatka file hex untuk sumber kodingan terhadap arduino di software proteus 8
  • #include <LiquidCrystal.h> //Memasukkan library pengenal LCD 
    #define echopin 2 // Inisialisasi pin echo pada sensor ulltrasonic 
    #define trigpin 3 // Inisialisasi pin trig pada sensor ultraosnic
    #define speaker 13 // Inisialisasi pin speaker 
    
    long duration, distance, ultraSensor; // penamaan variabel bersifat long
    LiquidCrystal lcd(12, 11, 7, 6, 5, 4); // Inisialisasi pin tersambung pada LCD
    int ledmer = 10;
    int ledkun = 9;
    int ledhi = 8;
    int sound = 450; // Inisialisasi nilai PWM yang terkoneksi dengan speaker
    
    void setup()
    {
      Serial.begin(9600); // komunikasi serial dengan baud rate 9600bps
      pinMode(trigpin, OUTPUT);
      pinMode(echopin, OUTPUT);
      pinMode(ledmer, OUTPUT);
      pinMode(ledkun, OUTPUT);
      pinMode(ledhi, OUTPUT);
      pinMode(speaker, OUTPUT);
    
      lcd.begin(16, 2); //Menyatakan bahwa skema LCD terdiri dari 16 baris dan 12 kolom
      lcd.setCursor(0, 0);// menyatakan kondisi pada saat dimana program ditulis yaitu pada kolom pertama baris pertama LCD 16x2
      lcd.print("Mikrokontroler");
      delay(2000);// mencetak karakter saat arduino dan LCD aktif selama 2 detik disusul dengan blank pada layar LCD 16x2
      lcd.clear();
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      sensorUltrasonic(trigpin, echopin); //penandaan pin yang terhubung baik pada sensor maupun arduino
      ultraSensor = distance;
      Serial.println(ultraSensor); // mencetak karakter pada LCD 16x2 jarak yang dideteksi pada sensor
    }
    
    void sensorUltrasonic(int pinTrigger, int pinEcho)// pemanggilan nama fungsi variabel
    {
      digitalWrite(pinTrigger, LOW);
      delayMicroseconds(2);
      digitalWrite(pinTrigger, HIGH);
      delayMicroseconds(10);
      digitalWrite(pinTrigger, LOW); // memberi isyarat untuk keadaan pada sensor selama waktu dengan satuan milisekon
      duration = pulseIn(pinEcho, HIGH);// pada variabel durasi berdasarkan nilai tegangan yang diterima baik oleh sensor dengan keadaan aktif
      distance = (duration / 2) / 29.1; // nilai distance berdasar fungsi yang akan dicetak dengan jarak setiap pencetakan karakter selama delay(100)
      delay(100);
    
      if (distance > 150) //Jika jarak lebih dari 150cm
      { digitalWrite(ledkun, LOW); //lampu kuning kondisi mati
        digitalWrite(ledmer, LOW); //lampu merah kondisi mati
        digitalWrite(ledhi, HIGH);// lampu hijau kondisi mati
      }
    
      if (distance < 125) //Jika kurang dari 125cm
      {
        digitalWrite(ledhi, LOW);
        digitalWrite(ledkun, HIGH);
        digitalWrite(ledmer, LOW);
      }
      if (distance < 90) //Jika kurang dari 90cm
      {
        digitalWrite(ledhi, LOW);
        digitalWrite(ledkun, LOW);
        digitalWrite(ledmer, HIGH);
        tone(speaker, 450); // memasukkan nilai sifat PWM pada inisialisasi pin speaker sebesar 450 dengan delay 200
        delay(200);
        noTone(speaker);// menonaktifkan speaker
      }// tanda akhir program berulang
    
      lcd.setCursor(0, 0);// setelah konfigurasi pertama selama 2 detik maka mencetak karakter kembali dengan tulisan program baris 1 kolom 1
      lcd.print("program");
      lcd.setCursor(0, 1);// mencetak karakter dengan nilai dari variabel distance pada baris 2 kolom 1
      lcd.print(distance);
    }
    https://handhikadsa.blogspot.com/2017/10/tutorial-simulasi-mengukur-jarak-dengan.html
  • Langkah keempat, disinilah penulis merasa kurang tepat karena membuat flowchart dimana, harusnya sudah dilakukan di langkah kesatu.
    L(4). Flowchart Program
Persiapan data penulisan  hingga pembuatan video simulasi untuk bahan tugas di blog.
Berikut, ditampilkan video simulasi dikarenakan penulis tidak melakukan simulasi secara langsung. Terimakasih
Penulis mohon maaf, apabila ada kesalahan kata bagi para pembaca. Terimakasih atas perhatiannya.


https://youtu.be/OOSdhAonR14

Softskill/APE/4 Jose Geraldo 16417425  3IB04 Salam Sejahtera bagi kita semua, pada saat ini, penulis akan mempublikasikan tugas dari...