• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN DAN PEMBUATAN

3.4 Flow Chart Alat

Gambar 3.2 Flow Chart Alat Port

3.5 Rangkaian Mikrokontroller ATMega8

Rangkaian sistem minimum mikrokontroler ATMEGA8 dapat dilihat pada gambar 3.2 di bawah ini :

Gambar 3.3 Rangkaian sistem minimum Mikrokontroler ATMEGA8

Rangkaian mikrokontroller merupakan pusat pengendalian dari bagian input dan keluaran serta pengolahan data. Pada sistem ini digunakan mikrokontroller jenis Atmega8 yang memiliki spesifikasi sebagai berikut:

 Kristal 8 MHz, yang berfungsi sebagai pembangkit clock.

 Kapasitor 22 pF pada pin XTAL1 dan XTAL2.

 Resistor 10 kΩ dan kapasitor 10 nF pada pin reset.

 Port masukan dan keluaran yang digunakan yaitu :

1. PortC.0 digunakan sebagai Penerima data dari remote (receiver)

2. Port A.1, Port B.1 –Port B.4 digunakan sebagai data input basis transistor pada driver relay.

3.6 Rangkaian Motor Servo

Gambar 3.4 Rangkaian Motor Servo

Motor servo adalah sebuah motor dengan sistem closed feedback di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer dan rangkaian kontrol. Motor servo biasanya hanya bergerak mencapai sudut tertentu saja dan tidak kontinyu seperti motor DC maupun motor stepper. Walau demikian, untuk beberapa keperluan tertentu, motor servo dapat dimodifikasi agar bergerak kontinyu. Pada robot, motor ini sering digunakan untuk bagian kaki, lengan atau bagianbagian lain yang mempunyai gerakan terbatas dan membutuhkan torsi cukup besar. Motor servo adalah motor yang berputar lambat, dimana biasanya ditunjukkan oleh rate putarannya yang lambat, namun demikian memiliki torsi yang kuat karena internal gearnya.

Lebih dalam dapat digambarkan bahwa sebuah motor servo memiliki :

 3 jalur kabel : power, ground, dan control

 Sinyal control mengendalikan posisi

 Operasional dari servo motor dikendalikan oleh sebuah pulsa selebar ± 20 ms, dimana lebar pulsa antara 0.5 ms dan 2 ms menyatakan akhir dari range sudut maksimum.

 Konstruksi didalamnya meliputi internal gear, potensiometer, dan feedback control.

3.7 Rangkaian IC Receiver

Gambar 3.5 Rangkaian ic receiver

Receiver pada remote memiliki 3 pin, di antaranya Vcc, Gnd, dan data, pin data dihubungkan ke PORTC.0. data dari ic receiver akan diterima dan dibandingkan oleh mikrokontroler

3.8 Rangkaian sensor suara

Gambar 3.6 Rangkaian sensor suara

Sensor suara memiliki 3 pin, di antaranya Vcc, Gnd, dan data, pin data dihubungkan ke PORTC.1. data dari sensor suara akan diterima dan dibandingkan oleh

mikrokontroler.

3.9 Rangkaian power supply

Gambar 3.7 Rangkaian Power Supply

Arduino dapat diberikan koneksi USB atau power supply. Power supply dapat menggunakan adaptor DC atau baterai. Adaptor dapat dikoneksi port input supply. Board arduino dapat dioperasikan menggunakan supply dari luar sebesar 6-20 volt. Jika supply kurang dari 7V, kadangkala pin 5V akan menyuplai kurang dari 5V dan board bisa menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi sangat panas dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada pada 7 – 12 volt.

` `Penjelasan pada pin power adalah sebagai berikut :

a. Vin tegangan input ke board arduino ketika menggunakan tegangan dari luar (seperti yang disebutkan 5 volt dari koneksi USB atau tegangan yang diregulasikan). Penggunaan dapat memberikan tegangan melalui pin ini, atau jika tegangan suplai menggunakan poer jack, aksesnya menggunakan pin ini.

b. 5V regulasi power supply digunakan untuk power mikrokontroller dan kompnen lainnya pada board. 5V dapat melalui Vin menggunakan regulator pada board, atau supply oleh USB atau supply 5V lainnya.

c. 3V suplai 3.3 volt didapat oleh FTDI chip yang ada di board. Arus maksimumnya adalah 50mA.

d. Pin Ground berfungsi sebagai jalur ground pada arduino

4.1 Rangkaian kipas

Melalui data dari Atmega 8 dihubungkan ke transistor sebagai saklar untuk menghidupkan kipas. Driver kipas sebagai untuk mengaktifkan kipas melalui driver kipas , Kipas aktif dan sebagai untuk menghasilkan angin ,pendingin udara, dan penyegar udara.

BAB IV

HASIL DAN PEMBAHASAN

4.1 Program pengujian Mikrokontroller ATMega8

Pemrograman menggunakan mode ISP (In System Programming) mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian ini berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader yaitu Atmega8.

Gambar 4.1. Informasi Signature Mikrokontroler.

Tabel dibawah ini merupakan hasil pengukuran pada IC Mikrokontroler ATMega8, pengukuran dilakukan dengan tujuan untuk mengetahui apakah mikrokontroler bekerja dengan baik atau tidak

NO PIN TEGANGAN (V)

1 4,95

2 5

3 4,5

4 0,19

5 0,10

Tabel 4.1 Pengukuran Pin IC Mikrokontroler Atmega8

ATMega8 menggunakan kristal dengan frekuensi 8 MHz, apabila Chip Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan

4.2 Program pengujian IC receiver

Pada bagian ini data dari remote akan di tampilkan ke serial monitor dengan program sebagai berikut:

#include <Servo.h>

#include <IRremote.h>

int RECV_PIN = 12;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup() {

irrecv.enableIRIn();

Serial.begin(9600);

}

void loop() {

if (irrecv.decode(&results)){data=(results.value);

Serial.println(results.value);

irrecv.resume();

}

}

Ketika remot ditekan dan data terkirim akan terlihat pada serial monitor pada computer, dan data akan dibandingkan dimikrokontroler untuk memprogram data.

4.3 Program pengujian motor Servo

Dalam pengujian ini digunakan motor servo standar 1800 dimana, motor servo jenis ini hanya bergerak dua arah (CW dan CCW) dengan defleksi masing-masing sudut mencapai 900 sehingga total defleksi sudut dari kanan-tengah-kiri adalah 1800. Berikut adalah programnya:

#include <Servo.h>

Servo myservo; // create servo object to control a servo int pos = 0; // variable to store the servo position void setup() {

myservo.attach(9); // attaches the servo on pin 9 to the servo object }

4.4 Program pengujian Sensor Suara

Dalam pengujian ini dilakukan untuk sensor suara ini untuk mengetahui apakah sensor suara ini dapat mendeteksi suara tangisan bayi. Untuk pengujian sensor yang diukur pada sensor ini yaitu berupa menggunakan mikrofon kondesor yang ada pada sensor. Data yamg akan diukur pada sensor ini berupa tegangan dan data ADC yang dihasilkan oleh output sensor ini yaitu ketika ada atau tidaknya suara tangisan bayi.

Berikut adalah programnya:

void setup() {

4.5 Program pengujian Remote Control

Pada bagian ini data dari remot akan di tampilkan ke serial monitor dengan program sebagai berikut:

Ketika remot ditekan dan data terkirim akan terlihat pada serial monitor pada computer, dan data akan dibandingkan dimikrokontroler untuk memprogram data

#include <Servo.h>

if (irrecv.decode(&results)){data=(results.value);

Serial.println(results.value);

irrecv.resume();

}

}

4.6 Program pengujian Kipas

Pada bagian ini data dari mikrokontroler di kirim ke transistor kemudian diterimaoleh driver kipas yang berguna untuk menghidupkan kipas. Data akan di tampilkan ke serial monitor dengan program sebagai berikut:

void fan(){

if (pwm<0){pwm=0;}

else if (pwm>255){pwm=255;}

analogWrite(kipas,pwm);

}

4.7 Gambar Percobaan

Gambar 3.9 Percobaan Keseluruhan

BAB V PENUTUP 5.1 Kesimpulan

Setelah melakukan tahap perancangan dan pembuatan system yang kemudian dilanjutkan dengan tahap pengujian dan analisa maka dapat diambil kesimpulan sebagai berikut :

1. Sensor suara adalah sensor yang cara kerjanya merubah besaran suara menjadi besaran listrik, dan dipasaran sudah begitu luas penggunaannya.

Komponen yang termasuk dalam Sensor suara yaitu electric condenser microphone atau mic kondenser.

2. Cara kerja remote control : cara kerja seperti ini mirip dengan cara kerja sandi morse yang dikirim melalui mesin telegraf. Seorang operator pengirim mengirimkan pesan teks singkat kepada operator penerima pada jarak tertentu. Namun pesan tersebut dikirimkan dalam bentuk pola kode-kode morse yang melambangkan huruf-huruf dalam pesan yang dikirimkannya.

Mesin telegraf menggunakan kode tertentu karena tidak dapat mengirimkan arus listrik yang terhubung ke sebuah bel pada bagian penerima, sehingga operator penerima akan menerima suara bel pada pola-pola tertentu yang apabila dirangkai akan dapat diterjemahkan sebagai pesan singkat.

5.2 Saran

Dari Tugas Akhir ini masih terdapat beberapa kekurangan dan dimungkinkan untuk pengembangan lebih lanjut. Oleh karenanya penulis merasa perlu untuk memberi saran sebagai berikut :

1. Sebaiknya alat yang telah dirancang dapat lebih dikembangkan lagi mendekteksi air kecing bayi pada ayunan, agar alat dapat berfungsi lebih baik lagi.

2. Sebaiknya alat tidak hanya dapat lebih dikembangkan lagi dalam beberapa fungsi lagi.

3. Perlu pemahaman yang tepat mengenai cara kerja servo

DAFTAR PUSTAKA

Eko Putra, Agfianto. 2002. “Belajar Mikrokontroler AT 89C51/52/55 ( Teori dan Aplikasi)”. Yogyakarta: Pt Gava Media

Sari, N Afrita. 2017 “Rancang Bangun Alat Pengayun bayi Menggunakan Sensor Suara Berbasis Mikrokontroler”. Politeknik Negeri Padang: Padang

Sutaya, Wayan .20142. “Sistem Mikroprosesor ”. Yogyakarta: Graha Ilmu

Syahwil, Muhammad. 2003.”Mikrokontroler Arduino”.Yogyakarta: ANDI

http://repo.polinpdg.ac.id/1789/1/Afrita_Nilam_Sari_EC-D4.pdf Diakses pada tanggal 20 April 2018

https://www.scribd.com/doc/148467765/Dasar-Teori-Ayunan Diakses pada tanggal 25 April 2018

http://trikueni-desain-sistem.blogspot.co.id/2014/03/Pengertian-Motor-Servo.html Diakses pada tanggal 01 April 2018

LAMPIRAN RANGKAIAN SKEMATIK LENGKAP

LAMPIRAN RANGKAIAN LENGKAP

LAMPIRAN PROGRAM IC RECEIVER

#include <Servo.h>

#include <IRremote.h>

int RECV_PIN = 12;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup() {

irrecv.enableIRIn();

Serial.begin(9600);

}

void loop() {

if (irrecv.decode(&results)){data=(results.value);

Serial.println(results.value);

irrecv.resume();

}

}

LAMPIRAN PROGRAM SERVO

#include <Servo.h>

Servo myservo; // create servo object to control a servo int pos = 0; // variable to store the servo position void setup() {

myservo.attach(9); // attaches the servo on pin 9 to the servo object }

void loop() {

for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position }

for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position }

}

LAMPIRAN PROGRAM REMOTE

#include <Servo.h>

#include <IRremote.h>

int RECV_PIN = 12;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup() {

irrecv.enableIRIn();

Serial.begin(9600);

}

void loop() {

if (irrecv.decode(&results)){data=(results.value);

Serial.println(results.value);

irrecv.resume();

}

}

LAMPIRAN PROGRAM LENGKAP

}

void loop() { while (state==0){

awal:

suara=analogRead(A0);

// Serial.println(suara);

if (suara<390){state=1;}

if (irrecv.decode(&results)){data=(results.value);Serial.println(results.value);

irrecv.resume(); }

if (tunda>20){tunda=20;}

else if (tunda<5){tunda=5;}

switch (data) {

case 2784179983:

state=1;

counter=0;

break;

case 299973458:

pwm++;

break;

case 836562187:

pwm--;

case 2603912422:

tunda--;

Serial.println(tunda);

break;

case 3599718031:

tunda++;

Serial.println(tunda);

break;

}

delay(1);

fan();

}

while(state==1){

while(1) { back:

if (tunda>20){tunda=20;}

else if (tunda<5){tunda=5;}

if (irrecv.decode(&results)){data=(results.value);Serial.println(results.value);

irrecv.resume(); }

switch (data) {

case 597852739:

state=0;

counter=0;

goto awal;

break;

case 2603912422:

tunda--;

delay(10);

Serial.println(tunda);

break;

case 3599718031:

tunda++;

delay(10);

Serial.println(tunda);

break;

case 299973458:

pwm++;

break;

case 836562187:

pwm--;

break;

}

if(counter>ulangayun){counter=0;state=0;goto awal;delay(1000);}

counter++;

if (irrecv.decode(&results)){data=(results.value);Serial.println(results.value);

irrecv.resume(); }

case 2603912422:

tunda--;

Serial.println(tunda);

delay(10);

break;

case 3599718031:

tunda++;

delay(10);

Serial.println(tunda);

break;

case 299973458:

pwm++;

break;

case 836562187:

pwm--;

break;

}

if(counter>ulangayun){counter=0;state=0;goto awal;delay(1000);}

counter++;

kanan++;

kiri--;

if (kanan>145 || kiri < 55){goto back;delay(100);}

myservo1.write(kanan-5); //100 - myservo2.write(kiri); //100 + delay(tunda);

fan();

} } }

void fan(){

if (pwm<0){pwm=0;}

else if (pwm>255){pwm=255;}

analogWrite(kipas,pwm);

}

LAMPIRAN GAMBAR

Dokumen terkait