Senin, 29 Juni 2020

PERULANGAN PADA MIKROKONTROLER

PERULANGAN PADA MIKROKONTROLER

Simulasi Arduino dengan keluaran 4 LED merupakan pengembangan dari simulasi Arduino dengan Output LED Berkedip menggunakan Proteus yang hanya mengendalikan satu buah LED. Dalam tulisan ini, kita akan mencoba menggunakan 4 (empat) pin Arduino sebagai digital output yang berbeda untuk mengendalikan empat LED berkedip secara bergantian. Prinsip dasar algoritmanya adalah: setelah LED pertama berkedip akan dilanjutkan pada LED kedua, kemudian dilanjutkan pada LED ketiga, dan LED keempat; demikian seterusnya secara berulang-ulang.
Dalam mengedipkan keempat LED tersebut, akan digunakan fungsi blok dari struktur Arduino sehingga kita tidak perlu terlalu banyak menggunakan instruksi digitalWrite() dan delay pada masing-masing LED, akan tetapi yang kita perlukan hanyalah memanggil instruksi dari fungsi blok yang ada. Mari kita lihat kode program/Sletchnya pada bagian berikutini.

Berikut adalah program dari Lampu LED Berjalan (Running LED) Menggunakan Arduino dengan WHILE. 
int led1 = 2;
int led2 = 4;
int led3 = 6;
int led4 = 8;
void setup() {
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);
}
void loop() {
kedipkanLED(led1, 100);
kedipkanLED(led2, 100);
kedipkanLED(led3, 100);
kedipkanLED(led4, 100);
}
void kedipkanLED(int pin, int durasi){
digitalWrite(pin, HIGH);
delay(durasi)
digitalWrite(pin, LOW);
delay(durasi)
}



Penjelasan Program

1. Baris 3 – 6 (int led1 = 2;, int led2 = 4;, int led3 = 6;, dan int led4 = 8;) menggunakan variabel int atau integer, di mana variabel integer led1 menyimpan nilai 2 yang menandai lampu LED pertama ditempatkan pada pin 2 di papan Arduino. Demikian halnya dengan LED kedua, ketiga, dan keempat yang diinisialisasikan sebagai pin 4, pin 6, dan pin 8 pada papan Arduino.
2. Pada baris berikutnya menggunakan fungsi void setup() yang diikuti perintah pinMode(led1, OUTPUT); dan seterusnya. Ini berarti kita mengatur pin 2, pin 4, pin 6, dan pin 8 sebagai keluaran digital atau output digital.
3. Pada baris berikutnya, digunakan fungsi void loop() yang diikuti perintah,

kedipkanLED (led1, 100);
kedlpkanLED (led2, 100);
kedipkanLED (led3, 100);
kedipkanLED (led4, 100);

Fungsi loop memanggil fungsi blok void kedipkanLED(int pin, int durasi), di mana dalam fungsi blok tersebut terdapat perintah digitalWrite untuk menghidupkan (on) dan mematikan (off) setiap LED dengan durasi kedipan 100 milisekon. Dengan demikian, keempat lampu LED akan berkedip secara bergantian. Kita dapat merubah nilai 100 sesuai dengan keinginan misalnya menjadi 2000 (2 detik), 11000 (11 detik), dan seterusnya. Senakin besar nilainya naka kedipan menjadi lebih lambat.

Minggu, 19 April 2020

SISTEM KONTROL JARAK PARKIR KENDARAAN BERBASIS MIKROKONTROLER MENGGUNAKAN SENSOR ULTRASONIK HC-SR04

Nama  : AHMAD KURNIA
NPM.   : 10417334
KELAS : 3IB04



Latar Belakang  Masalah

Sistem kontrol jarak parkir kendaraan dimaksudkan untuk memberi kemudahan pengemudi mobil yang seringkali mengalami kesulitan untuk memparkir mobilnya di lokasi sempit, disebabkan lahan parkir yang semakin berkurang. Beberapa permasalahan yang sering muncul dalam hal pemparkiran mobil adalah dapat menabrak tiang listrik atau menggores tembok ketika memparkir mobilnya, maka dari itu alat ini dibangun dengan tujuan untuk membantu pengemudi yang kurang berpengalaman dapat memparkirkan kendaraan dengan aman. Berdasarkan penelitian terdahulu penulis mencoba mengembangkan penelitian sistem kontrol jarak parkir kendaraan berbasis mikrokontroler menggunakan sensor HC-SR04, alat ini nantinya akan dipasang di dalam rangkaian mobil dan alat ini juga dibuat secara real dan untuk memfungsikan alat ini yaitu dengan menekan tombol on/off lalu akan menyala dan siap untuk difungsikan, deteksi jarak akan tampil melalui LCD dan bunyi beep pada buzzer akan menyala berdasarkan range jarak yang ditentukan.

Blokdiagram

Flowchart
Tes fungsional dilakukan terhadap integrasi sistem mikrokontroler dan software yang telah didesain. Test ini dilakukan untuk meningkatkan performa dari perangkat lunak untuk mengetahui apakah desain mikrokontroller tidak error. Tahap awal test fungsional adalah kelengkapan komponen input output yang benar. Pada tahap awal ini, komponen yang telah terpasang diuji satu persatu sebelum akhirnya alat dapat digunakan secara maksimal. Setelah komponen terpasang dengan benar, maka tahap selanjutnya dari test fungsional dapat dilakukan. Tahap selanjutnya adalah test fungsional tanpa menggunakan komponen output yang akan di rancang, tetapi memakai switch sebagai button bahwa pin mikrokontroler bekerja dengan baik, bila LED menyala maka pin mikrokontroler sudah dapat dipakai untuk komponen output lainnya. Setelah test fungsional menggunakan LED berhasil, tahap selanjutnya adalah mencoba menyalakan komponen output seperti LCD dengan Codevision AVR. Jika test yang dilakukan pada komponen output dan input selesai dan dinyatakan berhasil.

Software

Software yang digunakan untuk SISTEM KONTROL JARAK PARKIR KENDARAAN BERBASIS MIKROKONTROLER MENGGUNAKAN SENSOR ULTRASONIK HC-SR04 menggunakan software Arduino IDE dan proteus aplikasi ini dapat memudahkan kita untuk mendesain rangkaian yang ingin kita buat.

Cara Kerja Alat

Prinsip kerja sistem meliputi inputan yang diterima mikrokontroler Arduino  berupa hasil dari pembacaan jarak yang terdeteksi pada objek penghalang yang dideteksi oleh sensor HC-SR04 kemudian akan diproses pada mikrokontroler dan output-nya menampilkan keterangan deteksi jarak pada LCD, lampu LED dan bunyi beep pada buzzer. Sensor HC-SR04 merupakan modul sensor jarak ultrasonik nonkontak mempunyai fungsi penginderaan yang dapat digunakan untuk mengukur jarak kisaran 2cm-400cm. Modul meliputi pemancar ultrasonik, penerima dan rangkaian kontrol.

SKEMATIK




Senin, 23 Maret 2020

AUTOMATIC WATER LEVEL CONTROL BERBASIS MIKROCONTROLLER DENGAN SENSOR ULTRASONIK

 AUTOMATIC  WATER LEVEL  CONTROL  BERBASIS MIKROCONTROLLER DENGAN SENSOR ULTRASONIK.

1.1 Latar  Belakang  Masalah 

          Air  mempunyai  peranan  penting  dalam  kelangsungan  makhluk  hidup  di bumi.  Air  akan  sangat  bermanfaat  bagi  kehidupan  di  bumi  dalam  jumlah  yang proporsional.  Manusia  memanfaatkan  air  untuk  berbagai  kebutuhan,  pada  rumah tangga  misalnya  untuk dikonsumsi, mandi, mencuci dan sebagainya.  Selain itu, air juga  digunakan  pada  industri  untuk  pembangkit  listrik  tenaga  air,  transportasi, irigasi dan lain-lain. 
        Seiring  dengan perkembangan  teknologi, dibuatlah  suatu  alat penampung  air berupa  tandon  yang  digunakan  untuk  mengantisipasi  jika  suplai  air  mati  akibat gangguan  air  bersih.  Gangguan  air  bersih  bisa  terjadi  karena  beberapa  hal,    yaitu  hal-hal  yang  terencana  seperti  pemeliharaan  instalasi  pengolahan  air  bersih  dan perbaikan  pipa  distribusi.  Bisa  juga  terjadi  karena  hal-hal  darurat  yang  bersifat mendadak,  seperti  kebocoran  pipa  distribusi  yang  harus  segera  diperbaiki, matinya  aliran  listrik  atau  pembangkit  tenaga  listrik  secara  tiba-tiba.  Masalah yang  muncul  ketika  level  ketinggian  air  dalam  tandon  penampung  air  tidak diketahui,  dimungkinkan  bisa  terjadi  keadaan  tandon  yang  meluap  atau  kosong dikarenakan  kurangnya  pengontrolan  terhadap  tandon  tersebut,  sehingga  perlu dibuat suatu alat  yang  dapat melakukan pengontrolan  tandon secara  otomatis.   
       Berdasarkan  uraian  tersebut,  dibutuhkan  suatu  mekanis  pengontrolan  tinggi permukaan  air.  Salah  satu  alternatif  pengontrol  tinggi  permukaan  air  adalahautomatic  water  level  control.  Automatic  water  level  control  dapat  menggunakan berbagai  teknik,  diantaranya  dapat  menggunakan  kawat  resistansi,  tahanan  geser, dan  sensor  ultrasonik.  Penggunaan  teknik  kawat  resistansi,  dengan  asumsi senyawa  yang  terdapat  dalam  air  dapat  mempengaruhi  nilai  resistivitasnya. Kelemahannya  kawat  resistansi  dapat  terkorosi  dikarenakan  kawat  tersebut dimasukkan  kedalam  air  sewaktu  mengukur  ketinggian  air.  Begitu  juga  dengan menggunakan  teknik  tahanan  geser,  untuk  mengukur  ketinggian  air  alat  ukur bersentuhan  dengan  air  sehingga  hasil  pengukurannya  kurang  presisi  dan  alat cenderung  lebih  mudah  rusak.  Berbeda  dengan  menggunakan  teknik  sensor ultrasonik,  untuk  mengukur  ketinggian  air  tidak  perlu  bersentuhan  dengan  airnya sehingga  hasil  pengukuran  lebih  presisi  dan  tidak  menimbulkan  korosi  pada sensor  tersebut.  Sensor  ultrasonik    bekerja  dengan  memanfaatkan  cepat  rambat gelombang  ultrasonik pada  udara.  
       Dari  ketiga  metode  tersebut  yang  paling  baik  untuk  mengatur  ketinggian permukaan  air  pada  tandon    penampung  air  adalah  dengan  menggunakan  teknik sensor  ultrasonik.  Berdasarkan  pertimbangan  tersebut  dapat  dibuat  alat  automatic water level control  berbasis  mikrocontroller dengan sensor ultrasonik.






1.2 Flowchart

Program  diawali  dengan  mulai  yang  berarti  rangkaian  dihidupkan, Program  melakukan  inisialisasi  awal  yang  terhubung  ke  rangkaian  sensor ultrasonik.  Setelah  itu  sensor  ultrasonik  digunakan  untuk  mengukur  ketinggian level  air.  Pada  saat  keadaan  tandon  penampungan  air  kosong  maka  pompa  akan hidup  dan  mengisi  tandon.  Jika  ketinggian  air  mancapai  15  cm  maka  pompa  akan mati dan hasil  ketinggian  air pada  tandon penampungan  akan ditampilkan  di  LCD. Kemudian  sensor  ultrasonik  akan  terus  bekerja  dan  bila  ketinggian  air  3 cm  maka  pompa  akan  hidup  dan  hasil  ketinggian  air  pada  tandon  penampungan akan  ditampilkan  di  LCD.  Jadi,  tandon  penampungan  air  yang  kita  gunakan otomatis  tidak  akan  kosong  sebab  sebelum  tandon  berada  pada  level  dibawah  3 cm, maka  pompa air  akan hidup secara  otomatis.   

1.3 Software 

Software yang di gunakan untuk merancang automatic water level control berbasis mikrokontroller dengan ultrasonik menggunakan aplikasi proteus dan Arduino IDE aplikasi ini dapat memudahkan kita untuk mendesain rangkaian yang ingin kita buat.

1.4 Cara Kerja Alat

1.  Push  button  berfungsi  untuk  mengatur  setting  pengukuran  batas  bawah  pompa on untuk mengisi  tandon.
 2.  LCD  berfungsi  untuk  menampilkan  level  ketinggian  air,  dimana  LCD  akan menampilkan level ketinggian  air dengan jarak  yang  berbeda-beda.
 3.  Mikrokontroler  ATmega  328  merupakan  pusat  kendali  dari  seluruh  rangkaian, dimana  mikrokontroler  akan  mengambil  data  yang  dikirimkan  oleh  sensor ultrasonik kemudian  membandingkannya  dengan  nilai  yang  benar danditampilkan oleh  LCD, kemudian mengendalikan pengisian tandon.
 4.  Relay  berfungsi  untuk  menghidup  atau  mematikan  pompa  air  yang dikendalikan mikrokontroler. 
5. Pompa air berfungsi untuk mengisi  air pada  tempat penampungan air. 
6.  Sensor  ultrasonik  berfungsi  sebagai  pengendali  ketinggian  air.  Sinyal  yang dipancarkan  kedalam  air  kemudian  akan  merambat  sebagai  sinyal.  Sinyal tersebut  kemudian  akan  dipantulkan  dan  akan  diterima  kembali  oleh  bagian penerima  ultrasonik.  Setelah  sinyal  tersebut  sampai  di  penerima  ultrasonik,
kemudian  sinyal  tersebut  akan  diproses  untuk  menghitung  jarak  level ketinggian  air pada  penampungan. 
7.  Tandon  penampungan  air  berfungsi  untuk  menampung  air  yang  dikirim  dari pompa air.

1.5 Hasil Simulasi

pada  penelitian  ini  menggunakan  teknik pengukuran,  yaitu  mengukur  tiap-tiap  variabel  penelitian  pada  automatic  water level  control  menggunakan  sensor  ultrasonik.  Variabel  penelitian  yang  penulis ukur  berupa  jarak  air terhadap sensor ultrasonik tersebut.
1.6 Kesimpulan 


Berdasarkanhasilperancangan  dan  pengujian  alat  yang  telah  dilakukan dapat disimpulkan : 1.  Sistem  automatic  water  level  controlterbukti  dapat  digunakan  sebagai  salah satu alternatif pengontrol level ketinggian air pada  tandon penampungan. 2.  Dari  pengujian  yang  dilakukan,  kerja  dari  rangkaian  kontrol  pengendali  pompa berfungsi  dengan  baik  dalam  mengontrol  level  ketinggian  air  pada  tandon penampungan dengan ketepatan 99,50 %  dan kesalahan 0,50 %.