Anda di halaman 1dari 32

BAB I

PENDAHULUAN

1.1 Latar Belakang

Elektronika adalah suatu ilmu yang tidak pernah ada batas akhir dalam suatu

perkembangannya. Teknologi di dunia elektronika telah banyak menciptakan

berbagai inovasi dalam menciptakan sebuah mesin ,alat atau robot yang membantu

meringankan tugas manusia sehingga membuat kualitas kehidupan manusia semakin

tinggi. Alat–alat yang dibuat tersebut memiliki berbagai macam kegunaannya sesuai

dengan kebutuhan dari manusia itu sendiri. Salah satu contoh alat yang meringankan

tugas manusia dalam hal ini berhubungan dalam kehidupan manusia adalah Rancang

bangun alat pembuka dan penutup tong sampah otomatis. Metode yang digunakan

untuk mendeteksi keberadaan obyek ini adalah metode rancang bangun yang terdiri

dari beberapa tahap yaitu, (1)Analisa kebutuhan, (2) Perancangan, (3) Implementasi

rangkaian. Alat ini memiliki pembacaan data jarak sensor ultrasonik didapat rata-rata

tingkat ketelitian sebesar 99,55%. Alat ini mendeteksi objek pada tong sampah

maksimal 25 cm dan untuk medeteksi keberadaan manusia.

Permasalah yang terjadi sekarang khusus nya di kampus Politeknik Negeri

lhokseumawe ialah masalah persampahan yang masih belum terlayani dengan

maksimal. Sedangkan produksi sampah mengalami peningkatan dari sebelumnya

,sebagian besar sampah tersebut berasal dari kampus Politeknik Negeri

1
Lhokseumawe. Itu dikarenakan peningkatan mahasiswa terlalu banyak dan terjadi

penumpukan sampah yang tidak bisa diatasi oleh petugas kebersihan .

Terinspirasi dari alat pembuka dan penutup tong sampah otomatis dan

permasalahan yang ada penulis ingin merancang suatu alat untuk penelitian proyek

akhir dengan judul “Rancang bangun sistem monitoring tempat penampungan

sampah pintar menggunakan telemetri berbasis mikrokontroler AT Mega 32. ”.

Monitoring tersebut dilakukan apabila sampah di dalam penampungan sudah

terindikasi penuh, maka akan ada pemberitahuan kepada penanggung jawab atau

otoritas agar sampah segera di angkat oleh petugas kebersihan Politeknik Negeri

Lhokseumawe . Pemberitahuan tersebut akan disampaikan melalui modul GSM

berupa Short Message Service (SMS).

1.2 Rumusan Masalah

Menanggapi dari permasalahan tersebut muncul sebuah pemikiran dan ide

untuk menciptakan sebuah alat yang dapat membantu dan mengatasi permasalahan,

yaitu:

1. Bagaimana cara merancang suatu program sistem monitoring pada

penampungan sampah.

2. Bagaimana proses komunikasi dalam sistem yang dirancang.

2
1.3 Batasan Masalah

Berdasarkan uraian yang terdapat dalam latar belakang, maka dapat dibatasi

permasalahannya sebagai berikut :

1. Perancangan sistem menggunakan program AVR.

2. Program sistem digunakan untuk mendeteksi sensor pendeteksi asap untuk

mendeteksi adanya unsur api.

3. Membahas perancangan software pada alat sistem monitoring tempat

penampungan sampah pintar

1.4 Tujuan Penulisan

Dari latar belakang dan perumusan masalah yang ada, maka tujuan penulisan

tugas akhir ini adalah menghasilkan sebuah Rancang bangun system monitoring

tempat penampungan sampah pintar menggunakan telemetri berbasis

mikrokontroler AT Mega 32.

1.5 Manfaat Penulisan

Manfaat dari penulisan ini adalah sebagai berikut :

1. Menanamkan kebiasaan membuang sampah pada tempatnya melalui

informasi edukasi.

2. Mendapat informasi ketika sampah sudah penuh.

3
3. Memberikan efesiensi petugas apabila terjadi kebakaran kepada petugas

apabila terjadi kebakaran pada penampungan sampah.

1.6 Metode Penulisan

Metode yang digunakan dalam melakukan pembuatan alat ini adalah

sebagai berikut:

1. Metode literatur yaitu studi literatur bagaimana melakukan

pengumpulan data-data yang membantu penyelesaian proyek ini pada

perpustakaan,internet dan buku-buku tentang pemograman Bahasa C

dan lain-lain.

2. Eksperimen yaitu melakukan percobaan membuat percobaan membuat

source code program.

1.7 Sistematika Penulisan

Agar pembahas pada tugas akhir ini terperinci dan terarah maka penulisan

disusun dengen sistematika sebagai berikut:

BAB I : PENDAHULUAN

4
Bab ini menjelaskan tentang latar belakang, Rumusa Masalah,

Tujuan Penelitian, Batasan Masalah, Mamfaat Penulisan, Metode

Penulisan dan Sistematika Penulisan.

BAB II : :DASAR TEORI

Bab ini menyajikan teori-teori dasar yang mendukung dalam

perancangan dan pembuatan tugas akhir ini, diantaranya: penjelasan

tentang Mikrokontroller serta pemograman pada Mikrokontroller

Atmega 32.

BAB III : PERANCANGAN DAN PEMBUATAN

Bab ini menjelaskan tentang perancangan dan pembuatan software

pada alat penyortiran ikan otomatis berbasis mikrokontroler atmega

32.

5
BAB II

TINJAUAN PUSTAKA

2.1 Kajian Pustaka

Gading Anggawijoyono dan Januar Fajaruddin (2012). Dalam bentuk

jurnal ilmiah dengan judul Tempat Sampah Pintar (Smart Trash Bin). Pada penelitian

ini sensor yang digunakan adalah sensor ultrasonik dan penelitian ini juga dilengkapi

dengan modul perekam suara ISD 1760 yang di kontrol oleh Arduino Uno.

Febyan Dimas Pramanta (2016). Dalam bentuk jurnal ilmiah dengan judul

Tempat Sampah Pembentuk Karakter Anak Bangsa. Pada penelitian ini sensor yang

digunakan adalah sensor ultrasonik dan di kontrol oleh Mikrokontroller ATmega2560

(Arduino Mega).Pada proyek akhir ini, penulis ingin mengembangkan suatu alat

plester otomatis menjadi alat pengecat dinding, hal ini penulis ingin membuat alat

yang berjudul “

Yoreza hamit butar butar (2017).Dalam bentuk jurnal ilmiah dengan judul

rancang bangun tempat sampah otomatis menggunakan sensor HC-SR04 berbasis

6
mikrokontroler AT mega 328. Pada penelitian ini sensor yang digunakan adalah

sensor HC-SR04 (ultrasonik), berguna untuk membuka dan menutup tong sampah

secara otomatis pada saat objek terdeteksi .

Maka dari itu kami ingin mengembangkan hasil proyek sebelumnya dengan

judul “Rancang bangun system monitoring tempat bak penampungan sampah

pintar menggunakan telemetri berbasis mikrokontroler AT Mega 32”.

2.2 Landasan Teori

2.2.1 Mikrokontroler AVR ATMega 32

Atmel AVR adalah salah satu jenis mikrikontroller yang sering digunakan

dalam bidang elektronik dan instrumentasi. Mikrokontroller ini memiliki arsitektur

RISC (Reduce Instructiion set Computing) delapan bit, dimana semua instruksi

dikemas dalam kode 16-bit (16 bits word) dan sebagai besar instruksi dieksekusi

dalam siklus clock.

Nama AVR sendiri berasal dari “Alf (Egil Bogen) and Vegard (wollan)’s

Riscprocessor” dimana Alf Egil Bogen dan Vegard Wollan adalah adalah dua penemu

berkebangsaan Norwegia yang menemukan mikrokontroller AVR yang kemudian di

produksi oleh atmel. Mikrokontroller adalah piranti elektronik berupa IC (Integrated

Circuit) yang memiliki kemampuan manipulasi data (informasi) bedasarkan suatu

urutan intruksi (program).

7
Salah satu arsitektur mikrokontroller yang terdapat di pasaran adalah jenis

AVR(Advanced Virtual RISC). Arsitektur mikrokontroller jenis AVR ini pertama kali

dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of

Technology yaitu Alf-Egil Bogen dan Vegard Wollan. Dalam perkembangannya, AVR

dibagi menjadi beberapa varian yaitu AT90Sxx,Atmega, dan AT86RFxx. Pada

dasarnya yang membedakan masing-masing varian adalah kapasitas memory dan

beberapa fitur tambahan saja.

Pemograman mikrokontroller AVR dapat mengunakan low level language

(assembly) dan high level language (C, Basic, Pascal, JAVA, dan lain-lain) tergantung

compiler yang digunakan. Salah satu yang banyak di jumpai pasaran adalah AVR tipe

Atmega, yang terdiri dari beberapa versi,

yaitu:ATmega8535,ATmega16,ATmega162,ATmega32,ATmega324P,ATmega644,AT

mega 644P dan ATmega merupakan sebuah mikrokontroller low power CMOS 8 bit

bedasarkan arsitektur AVR RISC. Mikrokontroler ini memiliki karakteristik sebagai

berikut

 Menggunakan arsitektur AVR RISC

 131 perintah dengen satu clock cycle

 32 x 8 register umum

 Data dan program memori

 32 Kb In-System programmable Flash

8
 Kb SRAM

 1 Kb In-System EEPROM

 8 channel 10 – bit ADC

 Two Wire Interface

 USART Serial Communication

 Master/Slave Serial Interface

 On – Chip Oscillator

 Watch – Dog Timer

 32 Bi-directional I/O

 Tegangan operasi 2,7-5,5V

Gambar 2.1 konfigurasi Pin ATmega32

(Sumber:Data sheet ATmega 32)

9
Arsitektur AVR ini menggabungkan perintah secara efektif dengan 32 register

umum. Semua register tersebut langsung terhubung dengan Arithmetic logic Unit

(ALU) yang memungkinkan 2 register terpisah diproses dengan satu perintah tunggal

dalam satu clock cycle. Hal ini meghasilkan kode yang efektif dan kecepatan

prosesnya 10 kali cepat dari pada mikrokontroller CISC biasa.

Penjelasan konfigurasi pin pada milrokontroller AVR ATmega32 secara umum:

a) Pin 1 sampai 8 (port B) merupakan port paralel 8 bit dua arah

(bidirectional),yang dapat digunakan untuk general purpose dan

special feature.

b) Pin 9 (riset) jika terdapat minimum pulse pada saat active low.

c) Pin 10 (VCC) di hubungkan ke Vcc (2,7-5,5 Volt).

d) Pin 11dan 31 (GND di hubungkan ke Vss atau ground.

e) Pin 12 (XTAL 2) adalah pin masukan ke rangkaian osilator internal.

Sebuah osilator kristal atau sumber osilator luar dapat digunakan.

f) Pin 13 (XTAL 1) adalah pin keluaran ke rangkaian osilator internal. Pin

ini di pakai bila menggunakan osilator kristal.

g) Pin 14 sampai 21 (port D) adalah 8 bit dua arah (bi-directional I/O)

port dengan internal pull-up resistor di gunakan untuk general purpose

dan special feature.

10
h) Pin 22 sampai 29 (port C) adalah 8 bit arah (bi-directional I/O) port

dengan internal pull-up resistor di gunakan untuk general purpose dan

spesial feature.

i) Pin 30 adalah Avcc pin penyuplai daya untuk port A dan A/D converter

dan di hubungkan ke Vcc. Jika ADC di gunakan maka pin ini di

hubungkan ke Vcc.

j) Pin 32 adalah A REF pin yanag berfungsi sebagai referensi untuk pin

analog jika A/D converter di gunakan.

k) Pin 33 sampai 40 (port A) adalah 8 bit dua arah (bi-directional I/O) port

dengen internal pull-up resistors digunakan untuk general purpose. Blok

Diagram ATmega 32 sebagai berikut :

11
Gambar 2.2 Blok Diagram ATmega 32

Sumber: Data sheet ATmega 32

Untuk memprogram mikrokrontroller dapat mengunakan bahasa assambler atau

bahasa tingkat tinggi yaitu bahasa C. Bahasa yang digunakan memiliki keunggulan

tersendiri, untuk bahasa assembler dapat diminimalisasi penggunaan memori program

sedangkan bahasa C menawarkan kecepatan dalam pembuatan program. Untuk

bahasa assembler dapat ditulis dengen mengunakan text editor setelah itu dapat di

kompilasi dengen tool tertentu misalnya asm51 untuk MCS51 dan AVR studio untuk

AVR.

12
Mikrokontroller AVR didesain mengunakan arsitektur Harvard, dimana ruang

atau jalur bus bagi memori program dipisahkan dengen memori data. Memori

program diakses dengen single-level pipelining, dimana ketika sebuah instruksi

dijalankan, intruksi berikut akan di –prefetch dari ,e,ori program.

Gambar 2.3 Interupsi Memori ATmega 32

Sumber: Data sheet ATmega 32

2.2.2 Peta Memori ATmega 32

ATmega 32 memiliki ruang pengalamatan memori data dan memori program

yang terpisah. Memori data terbagi menjadi 3 bagian yaitu 32 register umum, 62 buah

register I/O,dan 512 byte SRAM internal. Register untuk keperluan umum menempati

space data pada alamat terbawah yaitu $00 sampai $5F. Register merupakan register

yang khusus digunakan untuk mengatur fungsi terhadap berbagai mikrokontroller

berbagai peripheral mikrokontroller, seperti kontrol register, time/couenter,fungsi I/O

13
dan sebagainya. Register khususnya alamat memori secara lengkap dapat dilihat pada

tabel dibawah. Alamat memori berikut digunakan untuk SRAM 512 byte, yaitu pada

lokasi $60 sampai dengen $25F.

Gambar 2.4 Memori Data AVR ATmega 32

Sumber :Data sheet ATmega 32

Memori program yang terletak pada flas perom tersusun dalam word atau 2

byte karena setiap instruksi memiliki lebar 16 bit atau 32. AVR ATmega memiliki 4

Kbyte x 16 bit flash perom dengen alamat mulai dari $000 sampai $FFF. AVR

tersebut memiliki 12 bit program Counter (PC) sehingga mampu mengalamati isi

Flash.

14
Gambar 2.5 Memori program AVR ATMega 32

Sumber :Data sheet ATmega 32

Selaian itu AVR ATmega 32 juga memiliki memeori data berupa EEPROM 8-

bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF.

2.3 Status Register

Status register adalah register berisi status yang dihasilkan pada setiap

operasi yang di lakukan ketika suatu intruksi dieksekusi. SREG merupakan bagian

dari inti CPU mikrokontroller.

15
1. Bit 7 → I (Global Interrup Enable),Bit harus diset untuk mengeble semua

jenis interupsi.

2. Bit 6 → T (Bit Copy Storage),Interuksi BLD dan BST mengunakan Bit T

sebagai sumber atau tujuan operasi bit. Suatau register GPR dapat disalin ke bit T

mengunakan intruksi BST, dan sebaliknya bit T dapat di salin kembali kesuatu bit

dalam register GPR dengen mengunakan BLD.

3. Bit 5 →H(Half Cary Flag)

4. Bit 4→ S (Sing Bit) merupakan hasil operasi EOR antara flag-N

(negatif) dan Flag V (Komponen Dua Overlow)

5. Bit 3→V (two’s Componet Overlow Flag). Bit ini berfungsi untuk

mendukung operasi matematis

6. Bit 2→N (Negative Flag) Flag N akan menjadi set, jika suatu operasi

matematis menghasilkan bilangan negative

7. Bit 1→ Z (Zero Flag) bit akan menjadi set apabila hasil operasi

matematis menghasilakan bilangan 0.

8. Bit 0→ (Cary Flag) bit akan menjadi set apabila hasil suatu operasi

menghasilkan carrry

2.4 Struktur Bahasa C pada miktrokontroller ATmega 32

Pengunaan mikrokontroller yang diterapkan di berbagai alat rumah tangga,

otomatis, sampai dengen kendali, membuat mikrokontroller mulai masuk di dunia

pendidikan. Banyak varian dan type dari mikrokontroller yang dipelajari dan

16
digunakan di dunia pendidikan. Salah satu varian yang banyak di pelajari dan

digunakan adalah produk dari ATMEL dengen type AVR. Banyak software yang

software yang dapat digunakan untuk memprogram mikrokontroller AVR ATmega

32, dengen bahasa pemograman masing-masing. Salah satu bahasa pemograman yang

dikembangkan atau digunakan dunia pendidikan adalah bahasa C dengen struktur dan

kemudahan yang dimilikinya.

Perkembangan bahasa pemograman yang dimulai dari bahasa tingkat rendah

(bahasa assembly/bahasa mesin) sampai dengen bahasa tingkat tinggi (salah satunya

bahasa C). Bagi mikrokontroller bahasa yang mudah untuk di terjemahkan bagi

prosesornya, sehingga dikatakan sebagai bahasa tingkat rendah. Sedangkan bahasa

tingkat tinggi merupakan bahasa yang sulit diterjemahkan oleh prosesor yang ada di

dalam mikrokontroller. Pemilihan bahasa C sebagai bahasa pemograman untuk

mikrokontroller dikarenakan mudah di pahami dan diterjemahkan bagi user atau

programmer. Bahasa C memiliki struktur pemograman yang khusus, selain itu bahasa

C memiliki sifat case sensitive. Artinya tersebut adalah bahwa penulisan kata/word

program sangat sensitif dengen mendeteksi perbedaan pada suatu kata yang

diulang,menyebabkan software tidak akan bisa meng-compile seluruh program yang

dibuat.

Setiap bahasa pemograman memiliki type data masing-masing. Type data

merupakan jangkauan suatau data yang mampu/dapat dikerjakan oleh mikroprosesor

dalam program yang dibuat. Pengunaan type data ini juga harus sesuai kebutuhan

dan disesuaikan dengen fungsi setiap data. Pemilih penguna type data dapat

17
mempengaruhi besarnya memory file yang dibuat. Berikut daftar type data yang

dapat digunakan dalam pemograman bahasa C:

Tabel 2.1 Daftar type data yang dapat digunakan dalam pemograman bahasa C

Type Size Range (jangkauan)


Bit 1 0,1
Bool,bool 8 0,1
Char 8 -128 sampai 127
Unsigned char 8 0 sampai 255
Int 8 -128 sampai 127
Short int 16 -32768 sampai 32767
Unsigned int 16 0 sampai 65535
Signed int 16 -32768 sampai 32767
Long int 32 -2147483648 sampai 2147483648
Unsigned long int 32 0 sampai 4294967295
Signed long int 32 -2147483648 samapai 2147483648
Float 32 ±1.175e-38 sampai 3.402e38
Doouble 32 ±1.175e-38 samapai 3.402e38

Penggunaan type data bersama dengen variable data yang akan digunakan.

Penulisan type data sesuai struktur dapat dilihat sebagai berikut:

 Bit data_1; terdapat variabel dengen nama data_1 dengen type data bit

 Bit data_2; terdapat variable dengen nama data_2 dengen type data integer

Selain tipe data, bahasa C memiliki struktur penulisan akan simbol–simbol

operasi arimatik. Setiap penggunaan simbol-simbol arimatik memiliki fungsi masing-

masing. Berikut tabel syimbol-syimbol arimatik yang digunakan dalam bahasa C

Tabel 2. 2 Daftar simbol arimatika yang dapat digunakan dalam pemograman

bahasa C

18
Operator Keterangan Operator Keterangan
+ Penjumblahan _ Pengurangan
* Perkalian / Pembagian
% Modulus ++ Penjumblahan

berkelanjutan
-- Pengurangan = Sama

dengen/memberika

n nilai
== Nilai sama dengen NOT
᷉᷉
! !! Hasil tidak sama

dengen
< Lebih kecil > Lebih besar
<= Hasil lebih kecil >= Hasi lebih besar

sama dengan sama dengan


& Dan/AND && AND(dua kondisi)
I OR II OR(dua kondisi)
᷉̂ Faktor pangkat ?:

<< Geser bit kekiri >> Geser bit kekanan


-= Hasil pengurangan += Hasil penjumlahan

sama dengan sama dengen


/= Hasil pembagian %= Hasil modulus sama

sama dengen dengen


&= Hasil peg-AND-an *= Hasil perkalian

sama dengen sama dengen


᷉̂= Hasil pangkat I= Hasil perkalian –

sama dengan OR-an sama dengen


>>= Hasil pergeseran <<= Hasil pergeseran bit

bit kekanan kekiri sama dengen

19
Intruksi-intruksi bahasa programan yang ada pada bahasa C tidak semuanya

digunakan dalam mikrokontroller. Struktur bahasa C memiliki kepala program, dan

tubuh program, sedangkan tubuh program bisa terdiri dari induk program dan anak

program. Berikut struktur sederhana dari pemograman bahasa C.

#include <stdio.h> Kepala Program

#include <conio.h>

Int data1();

void main ()

{ Induk program

……

……Induk Program tubuh program

}Tubuh Program

int data1()

{Anak Program anak program

….

Penggunaan struktur penulisan bahasa pemrograman bahasa C dapat terusun

dari sebuah tubuh program yang dapat terdiri dari sebuah induk program dan satu

atau lebih anak program. Anak program memiliki fungsi untuk mengerjakan satu blok

20
program yang sering digunakansecara berulang-ulang. Anak program akan diakses

oleh induk program sesuai dengankebutuhan akan sub bagian program tersebut.

Sedangkan kepala program berfungsi untukmenyertakan file acuan/library guna

mengolah (Compile/Build) program yang telah dibuat. Penulisan struktur bahasa C

didalam CVAVR dapat dilihat seperti dibawah ini:

#include <mega Penyertaan file Kepala Program

int data1();Deklarasi global variabel

void main ()

int data2(); Deklarasi lokal variabel

……

PORTC=0xFF; Inialisasi Port

DDRC=0x00; tubuh program

…… Induk Program

while(1)

….. Sub Rutin

…..

21
Deklarasi sebuah variable dapat digolongkan menjadi dua, yaitu local variable

dan global variable Local variable dipakai dan hanya dapat diakses pada sub program

tempatmendeklarasikannya, sedangkan global variable dipakai dan dapat diakses

seluruh bagianprogram. Inisialisasi PORT digunakan untuk memfungsikan PORT

yang dituju sebagaimasukan/keluaran serta nilai defaultnya. Sedangkan bagian sub

rutin adalah blok program yangakan selalu dikerjakan terus-menerus oleh

mikroprosesor selama mikrokontroler hidup.Beberapa Instruksi-instruksi dalam

bahasa C yang sering digunakan dapat ditulis sebagai berikut:

Tabel 2.3 Instruksi-intruksi dalam bahasa C

No Fungsi Bahasa Pemrograman


if (kondisi )
{
1 ………(aksi yang dikerjakan)
Syarat
};

2 Percabangan if (kodisi)
{
……(aksi yang dikerjakan)
}
else if(kondisi)
{
…..(aksi yang dikerjakan)
}
…..

22
lse
{
…..(aksi yang dikerjakan)};

switch (variable)
{
case nilai_variabel_ke-1:
{
….. (aksi yang dikerjakan)
}
case nilai_variabel_ke-2:
{
….. (aksi yang dikerjakan)
3 Percabangan
}
…………
………..
default:
{
…. (aksi yang dikerjakan)
}
}

23
goto alamat_tujuan;
…………….
…………….
Melompat
4 alamat_tujuan:
…….............

Melompat keluar dari break;


5
Perulangan
while (kondisi)
{
Perulangan ……(aksi yang dikerjakan)
6
}

Do
{
…..(aksi yang dikerjakan)
Perulangan
7 }
while (syarat);

8 Perulangan for
(nilai_awal,syarat,operasi+
+/ --)
{
…..(aksi yang dikerjakan)
};

24
2.5 Perangkat Lunak Pemograman CodeVision AVR

Ada beberapa program yang dapat digunakan sebagai editor dan compiler untuk

mikrokontroller, salah satunya adalah mengunakan program CodeVisionAVR.

CodeVisionAVR adalah salah satu alat bantu pemograman (programming tool) yang

bekerja dalam lingkungan pengembangan perangkat lunak yang terintegrasi

(Integrated Development Environment IDE).

Gambar 2.6 Tampilan awal program Code Vision AVR

25
Sumber :software CodeVision AVR

Seperti aplikasi IDE lainya, CodeVisionAVR dilengkapi dengen source code editor,

complier, linker, dapat memangil Atmel AVR Studio untuk debugger nya. Tampilan

awal pada program CodeVisionAVR dapat dilihat pada gambar 2.

BAB III

PERANCANGAN DAN PEMBUATAN

1.1 Blok Diagram

Sebelum membuat dan merancang flowchart program maka terlebih dahulu di

buat suatu blok diagram agar dapat di ketahui prinsip kerja dari alat yang di buat

nanti.perancangan blok diagram di gambarkan pada blok diagram di bawah ini.

26
Gambar 3.1 Diagram Blok Keseluruhan

1.2 Perancangan Algoritma


Sebelum memulai membuat program, maka terlebih dahulu penulis membuat

Algoritma dan flowchart sistem untuk memudahkan dalam perencanaan program

yang akan di buat.

Algoritma yang dibuat sebagai berikut:

1. Start

2. Menginialisasi Sensor

27
3. Baca Sensor

4. Apakah Sensor SRF-04 terdeteksi ?

5. Jika ya sensor SRF-04 terbaca

6. Apakah sensor MQ-2 terdeteksi ?

7. Jika tidak sensor MQ-02 terdeteksi

8. Jika ya sensor MQ-02 terbaca

9. Baca sensor SRF-04 untuk mendeteksi manusia

10. Kemudian tong sampah terbuka

11. Selanjutnya ada informasi edukasi

12. Baca sensor SRF-04 dan MQ-02

13. Jika ya ultrasonic mendeteksi level sampah

14. Jika tidak MQ-2 terdeteksi

15. Jika ya alarm berbunyi

16. Apakah sampah penuh ?

17. Jika tidak baca sensor SRF-04

18. Jika ya kirim SMS

19. Selesai

3.3 Flowchart Block Diagram

Setelah membuat block diagram,hal yang di lakukan agar sistem yang di

rancang dapat berjalan dengan baik dan sesuai dengan harapan maka langkah yang

28
harus di lakukan adalah membuat sebuah flowchar tuntuk dapat menggambar kan

dengan jelas bagaimana sistem akan di buat.

29
Gambar 3.2 flowchart

3.4 Perancangan Input dan Output (I/O)

Port I/O pada mikrokrontroller ATmega 32 dapat difungsikan sebagai input

dan juga sebagai output dengen keluaran high low. Untuk mengatur fungsi port I/O

sebagai input atau pun output, perlu dilakukan setting pada DDR dan port. Logika

port I/O dapat di ubaha-ubah dalam program secara byte atau hanya bit tertentu.

Mengubah sebuah keluaran bit I/O dapat di lakukan menggunakan perintah cbi (clesr

30
bit I/O) untuk menghasilkan output high. Pengubahan secara byte di lakukan dengen

perintah in atau out yang mengunakan register bantu. I/O merupakan bagian yang

paling menarik dan penting untuk di amati karena I/O merupakan bagian yang

bersangkutan dengen komunikasi mikrokontroller dengen dunia luar. Selain port I/O,

bagian ini juga menyediakan informasi mengenai berbagai peripheral mikrokontroller

yang lain,seperti ADC, EEPROM, USART, dan Timer. Untuk perencanaan port pada

mikrokontroller dapat di lihat pada tabel 3.1.

Tabel 3.1 Tabel Perencanaan Port Pada Mikrokontroller

Port Pin Fungsi Keterangan


PA0-PA2 Input
Port A
PA3-PA5 Input

PBO Input
Port B
PB4-PB7 Input

Port C PC0-PC7 Input

Alat akan berkerja jika power dinyalakan, kemudian alat penyortiran ikan

otomatis akan bekerja sesuai dengen keinginan si user tergantung bagaimana perintah

programnya.

DAFTAR PUSTAKA

31
Ubaidillah, D. 2015. “Perancangan Sistem Smart Trash Can Menggunakan Arduino
Dengan Sensor Ultrasonik HC-SR04”, Naskah Publikasi Sekolah Tinggi
Manajemen Informatika dan Komputer Amikom Yogyakarta.

Setiawan, dkk. 2014. “Rancang Bangun Alat Pembuka dan Penutup Tong Sampah
Otomatis Berbasis Mikrokontroller”, Jurnal Teknologi dan Sistem Informasi,
Volume 1, Nomor 1, hlm 55-62.

Pramanta, Febyan, D. 2016. “Smile Trash (Smart Learning Trash) Tempat Sampah
Pembentuk Karakter Anak Bangsa”, KaryaTulis Ilmiah Universitas Negeri
Malang.
.

Anggawijoyono, G. Dan Fajaruddin, J. 2014. “Tempat Sampah Pintar (Smart Trash


Bin)”, KaryaTulis Ilmiah Universitas Negeri Malang.

32

Anda mungkin juga menyukai