Minggu, 23 Juni 2019

TUGAS SOFTSKILL ( ALGORITMA DAN PEMROGRAMAN KASUS TEKNIK ELEKTRO# )


PERANCANGAN ALAT PENGUKUR KETINGGIAN AIR BERBASIS MINI KOMPUTER RASBERRY PI ZERO V1.3


Disusun oleh :

Nama   : Muhamad Robi Yamin
Npm     : 14416642
Kelas    : 3IB04A
Jurusan : Teknik Elektro









FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK ELEKTRO
UNIVERSITAS GUNADARMA
2019


BAB 1
PENDAHULUAN
1.1  Latar Belakang Masalah
      Di dunia ini perkembangan teknologi semakin hari semakin maju. Dalam bidang industri, teknologi berperan penting proses produksi suatu perusahaan. Seiring dengan lajunya percepatan teknologi informasi,dewasa ini banyak orang berlomba-lomba membuat inovasi dalam perkembangan teknologi, sesuatu yang dapat dikendalikan secara otomatis dengan menggunakan suatu sistem yang mudah dioperasikan dan berbasis internet merupakan teknologi yang sedang populer untuk dikembangkan saat ini. Dilain pihak, kenyataannya  informatika juga dapat mengurangi beban pemerintah dalam hal penghematan energi listrik, dengan dipadu padankan alat-alat yang dapat menghemat listrik ataupun sumber daya lainnya seperti penghematan air bila dipadukan dengan sedikit rangkaian elektronika.
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 adalah  automatic water level control. Dengan alat ini, intensitas penggunaan air dapat dikurangi dan membantu mencegah terbuangnya air bersih.Saat alat mulai dioperasikan,sensor ketinggian air akan membaca level- level tertentu yang sudah ditentukan dan dengan adanya komponen-komponen lainnya dapat membantu alat berjalan dengan baik,sehingga penggunaan intensitas air dapat menjadi lebih hemat dengan meminimalisir air yang terbuang.
1.2 Rumusan Masalah
Permasalahan yang akan dibahas dalam proyek ini adalah :
1. Bagaimana membuat alat automatic water level control berbasis mikrocontroller.
2. Bagaimana unjuk kerja alat automatic water level control berbasis mikrocontroller.

1.3 Batasan Masalah
            Masalah-masalah yang dibahas dalam perancangan proyek water level dibuat agar tidak menyimpang dari pembahasan,sehingga diperlukan suatu batasan-batasan. Pembatasan masalah yang dibahas adalah sebagai berikut :

1.3.1 Proyek water level ini menggunakan mini komputer Raspberry Pi Zero V1.3

1.3.2 Raspberry sebagai mini komputer,yaitu otak dari kerja sistem yang sudah diberi program, sensor ketinggian air sebagai pembaca tingkat ketinggain air, buzzer sebagai penanda audio ketinggain air, dan LCD sebagai penanda visual ketinggian dan status air.


BAB 2
LANDASAN TEORI



2.1.1 Input
Water Level Control memiliki input berupa alat sensor air. Sensor air ini menggunakan panel detector untuk mendeteksi inputan berupa air yang mengenai panel sensor tersebut. Cara kerja dari sensor air ini pada saat air pada bak penampung air mencapai ketinggian tertentu dan mengenai panel sensor, maka akan terjadi proses elektrolisasi oleh air tersebut karena air termasuk kedalam cairan elektrolit yaitu cairan yang dapat menghantarkan arus listrik yang sangat kecil dan proses ini akan menyebabkan keadaan aktif yang akan mengaktifkan relay.
Sensor air dibuat susunannya secara manual sehingga jalur terhubung dan saat terkena air akan mendeteksi level air dengan 3 level ketinggian (3 x sensor air) yang berbeda. Input ini kemudian diteruskan ke Raspberry PI Zero V1.3 untuk diproses sesuai dengan program yang dibuat.
2.1.2 Proses
Segala input yang terlah dikirimkan oleh alat input sensor air akan diteruskan dan diproses oleh Raspberry PI Zero V1.3 sesuai dengan program yang telah dibuat. Sinyal input dari sensor air akan masuk ke masing-masing pin GPIO yang sudah ditentukan dari 40 pin pada Raspberry PI Zero V1.3 yang ada. Kemudian diproses agar menghasilkan output yang diinginkan sesuai program. Setelah selesai diproses oleh program pada Raspberry, sinyal akan diteruskan ke LCD dan  buzzer agar menghasilkan output sesuai yang diinginkan dan sesuai dengan program yang telah dibuat.
2.1.3 Output
Output pada rangakaian water level adalah alarm, pemberitahuan dari buzzer dan LCD yang menerangkan atau menampilkan situasi tingkat ketinggian air, melalui perintah yang sudah diinput. Output berupa text pada LCD diikuti bunyi buzzer pada kondisi tertentu.

ALGORITMA DAN PEMROGRAMAN

import time
import RPi.GPIO as GPIO
import lcddriver

display = lcddriver.lcd()

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

sensor1=36
sensor2=38
sensor3=40

GPIO.setup(15,GPIO.OUT)
GPIO.setup(sensor1,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(sensor2,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(sensor3,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)

display.lcd_display_string(" MULAI… ",1)
time.sleep(1)
display.lcd_clear()

while True:
    display.lcd_display_string(“Water Level :”,1)
    if GPIO.input(sensor1)==1:
        if GPIO.input(sensor2)==1:
            if GPIO.input(sensor3)==1:
                display.lcd_display_string("DANGER PENUH",             2)
                GPIO.output(15,True)
                time.sleep(0.5)
                GPIO.output(15,False)
                time.sleep(0.5)

    if GPIO.input(sensor1)==1:
        if GPIO.input(sensor2)==1:
            if GPIO.input(sensor3)==0:
                display.lcd_display_string("SIAGA 1",                 2)
   
if GPIO.input(sensor1)==1:
        if GPIO.input(sensor2)==0:
            if GPIO.input(sensor3)==0:
                display.lcd_display_string("AIR NORMAL",                   2)

    if GPIO.input(sensor1)==0:
        if GPIO.input(sensor2)==0:
            if GPIO.input(sensor3)==0:
                display.lcd_display_string("AIR KERING",           



Daftar Pustaka : 








Jumat, 10 Mei 2019

Tugas Algoritma dan Pemrograman Kasus Teknik Elektro (Simulasi Parkir dengan Ultrasonik dan Led berbasis Mikrokontroler Arduino)



void setup() { 

 Serial.begin (9600);
 pinMode(7, OUTPUT);
 pinMode(6, INPUT);
 pinMode(3, OUTPUT);
 pinMode(4, OUTPUT);
 pinMode(5, OUTPUT);
}
void loop() {

 long duration, distance;
 digitalWrite(7, LOW);
 delayMicroseconds(2);
 digitalWrite(7, HIGH);
 delayMicroseconds(10);
 digitalWrite(7, LOW);
 duration = pulseIn(6, HIGH);
 distance = (duration/2) / 29.1;
 if (distance > 30) //Jika jarak lebih dari 30cm
{
 digitalWrite(3, HIGH); //Menyala
digitalWrite(4, LOW); //Mati
 digitalWrite(5, LOW); //Mati
 }
 if (distance < 20) //Jika kurang dari 20cm
{
 digitalWrite(3, LOW);
 digitalWrite(4, HIGH);
 digitalWrite(5, LOW);
 }
 if (distance < 10) //Jika kurang dari 10cm
{
 digitalWrite(3, LOW);
 digitalWrite(4, LOW);
 digitalWrite(5, HIGH);
}
Serial.print("Jarak :");
Serial.print(distance);
Serial.println("cm");
delay(100);
}

Sabtu, 30 Maret 2019

ALGORITMA DAN PEMROGRAMAN KASUS TEKNIK ELEKTRO


TUGAS MATA KULIAH ALGORITMA DAN PEMROGRAMAN KASUS TEKNIK ELEKTRO
“KENDALI KURSI RODA BERBASIS MIKROKONTROLER”


Disusun oleh :

Nama   : Muhamad Robi Yamin
Npm    : 14416642
Kelas   : 3IB04A






FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK ELEKTRO
UNIVERSITAS GUNADARMA
2019

1.1 Deskripsi Umum

”Kendali Kursi Roda Berbasis Mikrokontroler” ini merupakan sebuah Prototype yang bergerak berdasarkan input empat kondisi yang masuk ke mikrokontroler dan menghasilkan pergerakan pada motor DC yang menggerakan kursi roda, sistem ini terdiri atas lima komponen penting yaitu joystick (Input), mikrokontroler (ATMega8535L), driver relay, motor DC 12 volt, batre 12 volt dan LCD (Liquid Cristal Display). Diagram blok rangkaian Kendali Kursi Roda Berbasis Mikrokontroler adalah sebagai berikut :


Sebagai sumber tegangan pada prototype ini digunakan bateray 12 Volt, dan tegangan untuk mengaktifkan mikrokontroler adalah 5 Volt. Joystick berfungsi sebagai input mikrokontroler dan driver relay berfungsi sebagai output yang mengaktifkan motor DC dan pergerakan motor ditampilkan dalam LCD. Motor bekerja sesuai dari input yang diberikan dari joystick. Joystick disini bekerja dengan empat kondisi yaitu kondisi maju untuk menggerakan motor kanan dan kiri dalam keadaan motor forward, kondisi mundur untuk menggerakan motor kanan dan kiri dalam keadaan motor revers, kondisi arah kanan untuk menggerakan motor sebelah kanan dalam kondisi motor kanan forward, kondisi arah kiri untuk mengger akan motor sebalah kiri dalam keadaan motor kiri forward. Input joystick yang telah diterima mikrokontroler, akan dirubah dalam bentuk bahasa mikrokontroler agar dapat di baca oleh ATMega8535L. dan tiaptiap perubahan kondisi input mempengaruhi perintah yang akan dikeluarkan ke motor. Untuk menampilkan output dan motor mana yang aktif dalam aksi kursi roda , maka digunakan komponen LCD (liquid Cristal Display). Sebagai penjelas maupun pemberi informasi bahwa output atau motor yang sedang berkerja dan aktif.
Tampilan dalam LCD atau (Liquid Cristal Display) hanya sebagai pemberi informasi kepada user kursi roda, jika kondisi kursi roda maju maka tampilan di LCD memberi informasi bahwa motor kiri dan kana n maju, saat kondisi kursi roda belok kanan maka informasi yang akan ditampilkan adalah motor kanan maju dan sebaliknya jika kondisi kursi roda belok kiri maka informasi yang ditampilkan adalah motor kiri maju . Disaat kondisi kursi roda mundur maka informasi yang di tampilkan kebalikan dari kondisi kursi roda maju yaitu motor kiri dan kanan mundur.

1.2 Karakteristik

Perancangan pada prototype ”Kendali Kursi Roda Berbasis Mikrokontroler” ini memiliki              beberapa karakteristik diantaranya adalah sebagai berikut :
a)  Input yang digunakan adalah joystick dimana user hanya menggerakan dengan empat kondisi.
b)   Untuk menampilkan kondisi yang bekerja atau aktif , menggunakan komponen LCD 2x16.
c)      Motor yang digunakan adalah motor DC 12 Volt power window.
d)   Driver Motor DC menggunakan TIP122 yang berfungsi sebagai switching untuk mengaktifkan relay 12 volt.
e)    prototype ini menggunakan konversi gear, jika dilihat dari sisi kanan menggunakan dua gear yang dihubungkan dengan rantai. yang mana gear kecil diposisi kopel dan gear besar diposisi ban belakang.
f)    Bateray yang di pake pada prototype ini menggunakan dua pcs bateray 12 volt untuk dua motor dan 1 bateray 12 volt untuk suplay tegangan ke rangkaian minimum sistem atau komponen ATMega8535L.

 1.3 Lingkungan operasi dan Pengembangan
Lingkungan operasi pengembangan prototype ini adalah untuk penelitian dalam bidang kesehatan, yang berfungsi untuk mempermudah user penderita cacat kaki. Pada prototype ini masih menggunakan sistem pengontrol sederhana dimana menggun akan tangan untuk proses pengoperas ian alat dengan empat kondisi. komponen yang digunakan masih sangat sederhana . Dimana sist em kerja penggerak dari motor masih menggunakan motor DC power window 12 Volt yang masih menggunakan Driver Relay, Untuk pengembangan selanjutnya. Sistem yang digunakan bisa lebih bagus lagi, Seperti sistem pengontrol dan penggunaan Driver motor. Untuk tampilan menggunakan LCD ukuran 2x16, dan relay yang digunakan relay 12 Volt. Cakupan yang luas dalam pembuatan sistem yang sangat sederhana ini, dapat dijadikan sistem yang lebih bagus lagi untuk meneliti cara kerja motor DC yang menggunakan beban dalam torsi yang dapatdiangkut oleh motor DC itu sendiri. Dan penulis berharap kedepannya prototype ini .
1.4 PERANCANGAN SISTEM 
Perancangan dan pembuatan prototype ini terbagi menjadi dua yaitu : perancangan perangkat keras dan perancangan perangkat lunak sedangkan perancangan perangkat keras terbagi lagi diantaranya perancangan rangkaian elektronik dan perancangan mekanik. Perancangan rangkaian elektronik terdiri dari :
1 Rangkaian minimum sistem mikrokontroler ATMega8535L.
2 Rangkaian Driver relay.
3 Rangkaian LCD (Liquid Crystal Display).
Adapun perancangan pembuatan mekanik terdiri dari memodifikasi kursi roda manual atau yang sudah jadi, untuk membuat tata letak konversi gear maupun kopelnya dan membuat tata letak rangkaian elektronik. Sedangkan perancangan pada software, prototype ini menggunakan program codevision dengan menggunakan bahasa C yang telah di download ke dalam IC ATMega8535L . dari perancangan sistem di atas perancangan perangkat keras atau mekanik merupakan perancangan dan pembuatan yang paling awal, dilanjutkan dengan perancangan rangkaian elektronik dan perancangan softwere.
A.       PERANCANGAN RANGKAIAN
1)      Mikrokontroler ATMega8535L
Mikrokontroler yang digunakan pada perancangan sistem prototype ini adalah ATMega8535L, yang mana pada rangkai an ini input pada joystick masuk pada port A (pinA0-pinA3). Dan untuk output yang digunakan pada motor menggunakan port B dan LCD pada port C. Dalam mikrokontroler ATMega8535L terdapat empat port yang dapat digunakan sebagai jalur data input dan output seperti yang dijelaskan pada BAB III (3.1) . Dibawah ini adalah table koneksi dari keluaran kondisi pada joystick ke port input pada ATMega8535L:


Berikut adalah gambar rangkain mikrokontroler ATMega 8535L:


2)      Driver Motor
Driver motor yang digunakan dalam pembuatan prototype ini sangat sederhana yang menggunakan komponen TIP122 dan relay 12 volt , yang berfungsi sebagai switching. Untuk mengontrol dua buah motor DC power window 12 volt yang dapat berputar secara forward dan reverse. pada portB yang terhubung dengan PORTB.0, PORTB.1, PORTB. 2, dan PORTB.3 mikrokontroler digunakan sebagai output untuk input pada driver relay.


3)      LCD ( Liquid Cristal Display )
Pengoperasian pada LCD menggunakan 4 bit. Yang mana menggunakan PORT.C sebagai output pada mikrokontroler untuk input pada rangkaian LCD. Pada LCD ada empat kondisi yang ditampilkan pada joystic, adapun dibawah ini empat tampilan dalam LCD saat motor bekerja atau aktif dan gambar skematik rangkaian LCD:
a.       Kondisi motor kiri dan kanan aktif secara forward dengan tampilan pada LCD ”MAJU”.
b.      Kondisi motor kanan aktif secara forward dengan tampilan LCD ”KANAN”.
c.       Kondisi motor kiri aktif secara forward dengan tampilan LCD ”KIRI”.
d.      Kondisi motor kiri dan kanan aktif secara reverse dengan tampilan LCD ”MUNDUR”.

4)      Motor DC power window
Motor DC yang digunakan pada prototype ini adalah motor DC power window, dimana konstruksi dalam motor ini terdapat konversi gear worm, yang membuat motor ini mempunyai torsi yang besar. Karena dalam pembuatan prototype ini penulis membutuhkan torsi yang cukup besar untuk dapat mengangkut beban. Keuntungan dalam penggunaan konversi gea worm
antara lain adalah sebagai berikut:
1 Digunakan untuk poros yang saling tegak lurus
2 Biasa digunakan untuk beban yang berat

B.       PERANCANGAN MEKANIK
Perancangan mekanik pada prototype ini dengan cara memodifikasi kursi roda manual atau yang sudah jadi , yang terbagi antara lain:
a.       Pembuatan tata letak atau dudukan konversi gear.
b.      Pembuatan konversi gear.
c.       Pembuatan dudukan motordc.
d.      Pembuatan kopel antara gear dan motor.
e.       Pembuatan tata letak rangkain elektronik
Perbandingan antara Jumlah gigi dengan Kecepatan dan antara Kecepatan dengan Torsi adalah Berbanding terbalik. perbandingan antara kecepatan dengan torsi pada prototype ini adalah 2 : 1. dimana jumlah gigi pada gear besar 32 dan jumlah gigi pada gear kecil 16.


C.       PERANCANGAN SOFTWARE
Perancangan software menggunakan pemograman bahasa C yang digunakan untuk pemrograman mikrokontroler. Adapun yang dikendalikan dalam sistem ini adalah motor dan LCD. Motor di gunakan untuk menggerakan kursi roda. Sedangkan LCD untuk menampilkan pergerakan prototype atau motor yang sedang aktif dan bekerja.
1)      FLOWCHART PEMROGRAMAN

2)      PROGRAM