PUPUK KOMPOS
TUGAS AKHIR
ROSDIANA MAWARTAULI SIMAMORA 182408056
PROGRAM STUDI D-III FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2021
SISTEM MONITORING pH, KELEMBABAN, DAN TEMPERATUR BERBASIS MIKROKONTROLER ARDUINO NANO PADA PEMBUATAN
PUPUK KOMPOS
TUGAS AKHIR
Diajukan Untuk Melengkapi Tugas Dan Memenuhi Syarat Memperoleh Gelar Ahli Madya
ROSDIANA MAWARTAULI SIMAMORA 182408056
PROGRAM STUDI D-III FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATRA UTARA
MEDAN 2021
i
ii
PERNYATAAN ORISINALITAS
SISTEM MONITORING pH, KELEMBABAN, DAN TEMPERATUR BERBASIS MIKROKONTROLER ARDUINO NANO PADA PEMBUATAN
PUPUK KOMPOS
LAPORAN TUGAS AKHIR
Saya menyatakan bahwa laporan proyek ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2021
Rosdiana Mawartauli Simamora NIM 182408056
iii
SISTEM MONITORING pH, KELEMBABAN, DAN TEMPERATUR BERBASIS MIKROKONTROLER ARDUINO NANO PADA PEMBUATAN
PUPUK KOMPOS
ABSTRAK
Sistem monitoring kompos perlu mendapatkan hasil yang maksimal terutama untuk pertanian. Beberapa aspek yang perlu diperhatikan adalah kelembaban, temperatur dan pH. Alat ini merupakan salah satu alat yang dibuat untuk membantu memantau temperatur dan kelembaban serta nilai pH proses produksi kompos.
Selama proses pengomposan, pengguna dapat memantau status pengomposan setiap saat meskipun berada jauh dari lokasi pengomposan. Alat ini menggabungkan fungsi mikrokontroler Arduino Nano sebagai pengolah data, dan dibantu dengan modul wifi yang mengirimkan data melalui internet, sensor SHT31-D yang menentukan kelembaban dan temperatur, sensor pH, dan Blynk Android aplikasi sebagai alat pemantauan. Berdasarkan pengujian yang dilakukan didapatkan bahwa setiap modul dapat bekerja dengan normal sesuai fungsinya, dan tidak jauh berbeda dengan hasil yang ditampilkan oleh serial monitor pada aplikasi blynk.
Kata kunci: Internet of Things, Pupuk kompos, Sensor pH, SHT31-D
iv
MONITORING SYSTEM OF pH, HUMIDITY, AND TEMPERATURE BASED ON ARDUINO NANO MICROCONTROLLER IN MANUFACTURING
FERTILIZER COMPOST
ABSTRACT
Compost monitoring system needs to get maximum results, especially for agriculture. Some aspects that need to be considered are humidity, temperature and pH. This tool is one of the tools made to help monitor the temperature and humidity as well as the pH value of the compost production process. During the composting process, users can monitor the status of composting at any time even though they are far from the composting location. This tool combines the functions of the Arduino Nano microcontroller as a data processor, and is assisted by a wifi module that sends data via the internet, an SHT31-D sensor that determines humidity and temperature, a pH sensor, and the Blynk Android application as a monitoring tool.
Based on the tests carried out, it was found that each module can work normally according to its function, and is not much different from the results displayed by the serial monitor on the blynk application.
Keywords: Compost, Internet of Things, pH sensor, SHT31-D
v
PENGHARGAAN
Segala Puji dan Syukur kehadirat Tuhan Yang Maha Esa dan Maha Kuasa, atas berkat dan anugerah-Nya sehingga penulis dapat menyelesaikan penyusunan Tugas Akhir dengan judul “Sistem Monitoring Ph, Kelembaban, Dan Temperatur Berbasis Mikrokontroler Arduino Nano Pada Pembuatan Pupuk Kompos” sebagai syarat mencapai gelar Ahli Madya di Program Studi Diploma Tiga Fisika Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Penulis menyadari bahwa penyusunan Tugas Akhir ini tidak akan dapat selesai oleh penulis sendiri tanpa adanya bantuan, bimbingan, masukan, arahan dan semangat dari berbagai pihak.
Oleh karena itu, pada kesempatan ini dengan keikhlasan dan kerendahan hati penulis ingin mengucapkan terima kasih kepada:
1. Ibu Dr.Nursahara Pasaribu, M.Sc, selaku Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
2. Bapak Drs. Takdir Tamba, M.Eng.Sc, selaku Ketua Program Studi D-3 Fisika Fakultas Matematika Dan Ilmu Pengetahuan Alam,serta sebagai Dosen Pembimbing.
3. Bapak Drs. Aditia Warman, M.Si, selaku Sekretaris Program Studi D-3 Fisika Fakultas Matematika Dan Ilmu Pengetahuan Alam.
4. Seluruh Dosen dan Karyawan Program Studi D-3 Fisika Departemen Fisika Fakultas Matematika Dan Ilmu Pengetahuan Alam.
5. Orang tua penulis (Dorhatina Lumban Gaol) serta saudara kandung yang telah memberikan bantuan moril dan materi, semangat dan doa yang begitu besar kepada penulis.
6. Rekan D-3 Fisika yang mendukung penulis menyelesaikan Tugas Akhir ini 7. Seluruh pihak yang telah banyak membantu penulis dalam menyelesaikan
Tugas Proyek yang namanya tidak dapat penulis sebutkan satu persatu.
Penulis menyadari sepenuhnya bahwa penyusunan Tugas Akhir ini masih terdapat banyak kekurangan dan jauh dari kesempurnaan, oleh karena itu penulis mengharapkan kritik dan saran yang bersifat membangun dari pembaca dan
vi
semoga laporan Tugas Akhir ini dapat menambah pengetahuan pembaca. Akhir kata saya mengucapkan terima kasih.
Medan, Juli 2021 Penulis
Rosdiana Mawartauli Simamora NIM. 182408056
vii DAFTAR ISI
PENGESAHAN LAPORAN TUGAS AKHIR ... i
PERNYATAAN ORISINALITAS ... ii
ABSTRAK ... iii
ABSTRACT ... iv
PENGHARGAAN ... v
DAFTAR ISI ... vii
DAFTAR TABEL ... ix
DAFTAR GAMBAR ... x
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan ... 2
1.5 Manfaat ... 3
1.6 Sistematika Penulisan... 3
BAB II LANDASAN TEORI ... 4
2.1 Pupuk Kompos ... 4
2.2 Mikrokontroler ... 5
2.2.1 Mikrokontroler AVR ... 10
2.3 Arduino ... 14
2.3.1 Arduino Nano ... 17
2.4 LCD 16 x 2 ... 20
2.5 Sensor SHT31-D ... 22
2.6 Sensor pH ... 23
2.7 Power Supply ... 24
2.8 Internet of Things ... 25
2.9 Esp8266 ... 26
viii
BAB III PERANCANGAN DAN PEMBUATAN PROYEK ... 28
3.1 Diagram Blok dan Cara Kerja Sistem ... 28
3.1.1 Diagram Blok ... 28
3.1.2 Cara Kerja Sistem ... 28
3.2 Perancangan Antar Muka Setiap Blok Diagram ... 29
3.2.1 Perancangan Antar Muka Power Supply dengan ATMega328 ... 29
3.2.2 Perancangan Antar Muka ATMega328 dengan LCD ... 30
3.2.3 Perancangan Antar Muka Sensor pH Tanah dengan ATMega328 ... 31
3.2.4 Perancangan Antar Muka Sensor SHT31-D dengan ATMega328 .... 32
3.2.5 Perancangan Antar Muka ESP8266 ... 33
3.2.6 Rangkaian Keseluruhan Sistem ... 34
3.3 Pengujian Komponen ... 34
3.3.1 Pengujian Rangkaian Mikrokontroler ... 34
3.3.2 Pengujian Rangkaian LCD ... 35
3.3.3 Pengujian Rangkaian Power Supply ... 36
3.3.4 Pengujian ESP8266-01 ... 37
3.3.5 Pengujian Sensor ... 38
3.4 Pengujian Keseluruhan Sistem ... 39
3.6 Flowchart Sistem ... 44
BAB IV HASIL DAN PEMBAHASAN ... 45
4.1 Pengukuran dan Hasil Pengukuran Sistem ... 45
4.2 Analisis dan Pemahasan ... 46
4.3 Gambar Fisik Keseluruhan Sistem ... 49
BAB V PENUTUP ... 50
5.1 Kesimpulan ... 50
5.2 Saran ... 50
DAFTAR PUSTAKA ... 51
ix
DAFTAR TABEL
Tabel 2.1 Spesifikasi Arduino Nano ... 18
Tabel 3.1 Pengujian Mikrokontroler ... 32
Tabel 3.2 Pengujian power supply ... 33
Tabel 3.3 Hasil Pengukuran Alat yang dibuat ... 43
Tabel 4.1 Hasil pengukuran pH,Kelembaban dan temperatur alat dengan alat pembanding ... 45
x
DAFTAR GAMBAR
Gambar 2.1 IC Mikrokontroler ... 6
Gambar 2.2 Mikrokontroler AVR ... 11
Gambar 2.3 Arduino Board ... 15
Gambar 2.4 Arduino Nano depan ... 17
Gambar 2.5 Arduino Nano Belakang ... 17
Gambar 2.6 LCD 16x2 ... 21
Gambar 2.7 Datasheet LCD 16x2 ... 21
Gambar 2.8 Sensor SHT31-D ... 23
Gambar 2.9 Sensor pH Tanah ... 23
Gambar 2.10 Chip ESP8266-01 ... 27
Gambar 3.1 Diagram Blok Alat ... 28
Gambar 3.2 Rangkaian Power supply dengan ATMega328 ... 29
Gambar 3.3 Rangkaian ATMega328 dengan LCD ... 30
Gambar 3.4 Rangkaian sensor pH tanah dengan ATMega328 ... 31
Gambar 3.5 Rangkaian Sensor SHT31-D dengan ATMega328 ... 32
Gambar 3.6 Rangkaian ESP8266-01 ... 33
Gambar 3.7 Rangkaian Keseluruhan Sistem ... 34
Gambar 3.8 Hasil Pengujian Rangkaiaan LCD ... 36
Gambar 3.9 Hasil Pengujian Sensor ... 38
Gambar 3.10 Flowchart Sistem ... 44
Gambar 4.1 Grafik data nilai hasil pengukuran pH ... 47
Gambar 4.2 Grafik data nilai hasil pengukuran Temperatur ... 48
Gambar 4.3 Grafik data nilai hasil pengukuran Kelembaban ... 49
Gambar 4.4 Fisik Keseluruhan Sistem ... 49
1 BAB I PENDAHULUAN
1.1 Latar Belakang
Dalam bidang pertanian, kompos memegang peranan yang sangat penting dalam pertumbuhan tanaman, kompos merupakan pemasok unsur hara tambahan dan penambah unsur hara bagi pertumbuhan tanaman. Penggunaan kompos atau bahan organik lainnya dirancang untuk mengurangi masalah yang disebabkan oleh penggunaan bahan kimia yang terbukti merusak tanah dan lingkungan. Jika pupuk kimia digunakan, keseimbangan unsur hara dalam tanah akan rusak dan kualitas tanah akan berkurang. Maka pupuk organik sangat dibutuhkan untuk membantu mengembalikan kesuburan tanah. Aktivitas manusia yang intensif membuat sampah sering diabaikan, yang berujung pada penumpukan sampah.
Sampah yang dihasilkan berupa sampah organik dan anorganik. Sampah organik memiliki banyak manfaat, salah satunya adalah pembuatan kompos. Kompos adalah pupuk organik buatan yang dibuat melalui proses penguraian bahan organik seperti tumbuhan dan hewan. Dalam pembuatan pupuk organik, bakteri merupakan salah satu mikroorganisme yang berperan penting dalam pembuatannya. Bakteri atau mikroorganisme digunakan sebagai akselerator penguraian bahan pengomposan dan menghasilkan unsur hara yang baik yang bermanfaat bagi tanaman. Selama proses pengomposan, pH, temperatur dan kelembaban memiliki pengaruh yang besar terhadap kompos yang dihasilkan.
Tingkat kelembaban yang perlu dijaga berada pada kisaran 40% hingga 60%.
Suhu optimal untuk proses pengomposan adalah 30℃ sampai 60℃. Nilai pH optimum kompos adalah antara 6,6-7,5. Jika suhu terlalu tinggi, mikroorganisme akan mati, sebaliknya jika suhu terlalu rendah, mikroorganisme akan berhenti bekerja. Kelembaban yang tidak sesuai dapat menyebabkan mikroba tidak berkembang atau bahkan mati, dan berdampak pada proses pembuatannya yang memakan waktu lebih lama, sehingga diperlukan sebuah alat monitoring untuk dapat memonitoring pH, kelembaban dan temperatur pada proses pembuatan kompos. Alat ini dibuat menggunakan mikrokontroler Arduino Nano sebagai pembaca data sensor dan pengolah data. Sensor yang digunakan sebagai
2
pengindera temperatur dan kelembaban adalah sensor SHT31-D, dan sensor sebagai pengindera pH adalah sensor pH tanah. Kemudian data pH, kelembaban dan temperatur pada proses pembuatan pupuk kompos akan diolah dan ditampilkan di LCD 16x2. Dengan demikian, pH, kelembaban dan temperatur dapat dipantau setiap saat.
1.2 Rumusan Masalah
Berdasarkan uraian diatas, penulis tertarik untuk mengangkat dan merancang sebuah alat Sistem Monitoring pH, Kelembaban dan Temperatur Berbasis Mikrokontroler Arduino Nano Pada Pembuatan Pupuk Kompos. Dimana pada perancangan ini akan digunakan sebuah mikrokontroler Arduino Nano. Adapun rumusan masalah dalam penelitian ini adalah:
1. Bagaimana merancang sebuah alat untuk monitoring pH, kelembaban dan temperatur pada pembuatan kompos?
2. Bagaimana cara kerja alat monitoring pH, kelembaban dan temperatur pada pembuatan kompos?
1.3 Batasan Masalah
Mengingat keterbatasan waktu dan untuk menghindari topik yang tidak perlu maka penulis membatasi pembahasan pembuatan alat ini. Adapun permasalahan ini adalah:
1. Alat ini hanya dapat digunakan sebagai monitoring atau memantau pH, kelembaban dan temperatur.
2. Alat ini menggunakan sensor pH sebagai pengindera pH tanah dan sensor SHT31-D
sebagai pengindera kelembaban dan temperatur.
3. Alat ini menggunakan mikrokontroler Arduino Nano.
4. Sampah yang digunakan adalah sampah rumah tangga.
1.4 Tujuan
1. Mengetahui dan memahami mikrokontroler dan sensor yang digunakan, serta komponen yang terdapat pada pembuatan alat.
2. Mengetahui cara kerja dari alat yang dirancang.
1.5 Manfaat
Manfaat dari penulisan tugas akhir ini adalah :
1. Untuk mengetahui guna sensor pH, kelembaban dan temperatur pada pembuatan kompos
2. Untuk mempermudah memantau pH, kelembaban dan suhu pada pembuatan kompos.
1.6 Sistematika Penulisan
Untuk mempermudah penulisan tugas akhir ini, penulis membuat suatu sistematika penulisan yang terdiri dari :
1. BAB I: PENDAHULUAN
Bab ini akan membahas latar belakang tugas akhir, rumusan masalah, batasan masalah, tujuan, manfaat dan sistematika penulisan.
2. BAB II: LANDASAN TEORI
Bab ini akan menjelaskan tentang teori pendukung yang digunakan untuk pembahasan.
3. BAB III: PERANCANGAN ALAT
Bab ini membahas tentang perencanaan dan pembuatan sistem secara keseluruhan.
4. BAB IV: HASIL DAN PEMBAHASAN
Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat dan lain-lain.
5. BAB V: KESIMPULAN DAN SARAN
Sebagai bab terakhir penulis akan menguraikan beberapa kesimpulan dari uraian bab-bab sebelumnya, dan penulis akan berusaha memberikan saran yang mungkin bermanfaat.
4 BAB II
TINJAUAN PUSTAKA
2.1 Pupuk Kompos
Kompos merupakan pupuk campuran yang terdiri atas bahan organik, seperti daun dan limbah rumah tangga yang membusuk. Pembusukan bahan-bahan organik ini disebut dengan proses dekomposisi. Sejak abad ke 17 M jauh sebelum manusia menemukan pupuk kimia, masyarakat sudah mengenal kompos yakni pemanfaatan limbah untuk dijadikan sebagai penyubur alami tumbuhan. Proses pelapukan secara alami pada umumnya terjadi dalam jangka waktu 100 hari. Namun saat ini telah banyak dipublikasikan mengenai cara agar mempercepat proses pelapukan dari bahan-bahan organik ini menjadi dua bulan bahkan tiga minggu saja tergantung pada bahan dan teknik pengomposan yang dilakukan.
Susanto (2007: 19) menjelaskan bahwa pengomposan merupakan proses dekomposisi terkendali secara biologis terhadap limbah padat organik dalam kondisi aerobik atau anaerobik. Aerobik sendiri berarti pengolahan limbah dengan kondisi pengomposan secara terbuka (dengan oksigen) atau mengandalkan bakteri aerob.
Sedangkan anaerob merupakan pengolahan limbah dengan kondisi pengomposan secara tertutup yaitu kedap udara (tanpa oksigen). Untuk bahan-bahan seperti ikan busuk, daging, dan sejenisnya sebaiknya menggunakan proses pengomposan dengan cara anaerob agar terhindar dari bau tidak sedap yang tercium selama proses penguraian berlangsung. Pada proses pengomposan waktu yang dibutuhkan berkisar tiga minggu hingga dua bulan tergantung pada bahan bahan dasar yang digunakan, apakah mudah terurai atau tidak. Pada umumnya pengomposan dilakukan di tempat yang teduh yaitu tempat yang tidak terkena matahari secara langsung dan tidak terkena air hujan. Agar hasil pupuk optimal dilakukan pengecekan setiap satu minggu. Pengecekan meliputi pengecekan suhu, kelembaban, apakah kering atau terlalu basah, berbau atau tidak, serta dilakukan pembalikan pupuk agar proses pengomposan merata. Kelembaban, suhu dan ph memegang peranan penting dalam mempengaruhi proses pembuatan kompos. Salah satu masa lah yang sering terjadi pada pembuatan kompos adalah tingkat kematangan pupuk yang tidak sempurna. Ini diakibatkan oleh tingkat kelembaban dan suhu yang kurang stabil. Tingkat
kelembaban yang perlu dijaga adalah berkisar 40% sampai 60%. Dan Suhu optimal selama proses pengomposan adalah 30 ̊ C sampai 60 ̊ C. pH pengomposan yang optimum antara 6.6-7.5. Pengomposan dilakukan untuk meningkatkan sifat fisik tanah, sifat kimia tanah, mengembalikan sifat biologi tanah dan mempengaruhi kondisi sosial.
2.2 Mikrokontroler
Mikrokontroler adalah sebuah chip mikrokomputer secara fisik berupa IC (Integrated Circuit), yang berisi CPU, memori, timer, saluran komunikasi serial dan paralel, port input/output, dan ADC. Mikrokontroler digunakan untuk tugas dan menjalankan program. Mikrokontroler biasanya digunakan dalam sistem yang kecil, murah, dan tidak memerlukan perhitungan yang sangat rumit seperti aplikasi PC.
Mikrokontroler ada di perangkat seperti oven microwave, oven, keyboard, pemutar CD, VCR, remote control, dan robot. Mikrokontroler berisi bagian-bagian utama yaitu CPU (central processing unit), RAM (random access memory), ROM (read only memory) dan port I/0 (input/output). Selain bagian-bagian utama tersebut, ada beberapa perangkat keras yang dapat digunakan untuk berbagai keperluan, seperti pencacahan, komunikasi serial, interupsi, dan sebagainya. Beberapa mikrokontroler bahkan menyertakan ADC (Analog to Digital Converter), USB controller, CAN (Controller Area Network) dll. Mikrokontroler bekerja berdasarkan program (perangkat lunak) yang ditanamkan di dalamnya, dan program tersebut dibuat sesuai dengan aplikasi yang diinginkan. Aplikasi mikrokontrol er normalnya terkait pembacaan data dari luar dan atau pengontrolan peralatan di luarnya. Contoh aplikasi yang sangat sederhana adalah melakukan pengendalian untuk menyalakan dan mematikan LED yang terhubung ke kaki mikrokontroler. Mikrokontroler memiliki jalur-jalur masukan (port masukan) serta jalur-jalur keluaran (port keluaran) yang memungkinkan mikrokontroler tersebut untuk bisa digunakan dalam aplikasi pembacaan data, pengontrolan serta penyajian informasi. Port masukan digunakan untuk memasukkan informasi atau data dari luar ke mikrokontroler. Contoh informasi yang dimasukkan ke mikrokontroler ini adalah informasi kondisi saklar yang dihubungkan ke kaki mikrokontroler, apakah sedang terbuka atau tertutup. Jalur masukan umumnya berupa jalur digital, dimana jalur ini digunakan oleh
6
mikrokontroler untuk membaca keadaan digital (apakah logika 0 atau 1) yang diberikan oleh perangkat di luar mikrokontroler. Mikrokontroler tertentu berisikan ADC dengan sebagian dari jalur-jalur 1/0-nya yang digunakan sebagai masukan analog. Jalur-jalur ini selanjutnya bisa digunakan untuk keperluan seperti pembacaan tegangan dari suhu analog. Port keluaran digunakan untuk mengeluarkan data atau informasi dari mikrokontroler. Adanya port keluaran ini memungkinkan mikrokontroler untuk mengendalikan perangkat seperti LED, motor, relay dan menyajikan informasi melalui perangkat seperti seven-segment dan LCD. Untuk bisa bekerja, mikrokontroler perlu diberikan tegangan dari luar. Umumnya IC mikrokontroler dapat bekerja pada tegangan 5V, namun demikian, sebagian IC mikrokontroler seperti ATMEGA16 dapat dioperasikan dengan tegangan 3V.
Mikrokontroler tersusun dari beberapa komponen, antara lain : CPU, ROM, RAM, Timer/Counter, Unit I/O (Serial dan Paralel). Keuntungan menggunakan mikrokontroler yaitu harganya murah, dapat diprogram berulang kali, dan dapat kita program sesuai dengan keinginan kita. Kegunaan dari mikrokontroler pada umumnya banyak digunakan untuk aplikasi sistem kendali atau monitoring, otomasi industri, akuisisi data, telekomunikasi, dan lain-lain.
Gambar 2.1 IC Mikrokontroler
Sejarah mikrokontroler tidak terlepas dari sejarah mikroprosesor dan komputer. Diawali dengan ditemukannya mikroprosesor,kemudian ditemukan komputer, setelah itu ditemukan mikrokontroler. Tahun 1617, john napier menemukan sistem untuk melakukan perkalian dan pembagian berdasarkan logaritma. Tahun 1694, Gottfried Wilhelm Leibniz membuat mesin mekanik yang dapat melakukan operasi +, -, * , / dan akar kuadrat. Tahun 1835, Charles Babbage mengusulkan komputer digital (Digital Computer ) pertama didunia menggunakan punched card untuk data dan instruksi, serta program control (looping
and branching) dengan unit aritmatik dan unik penyimpanan. Tahun 1850, George Boole mengembangkan symbolic logic termasuk operasi binary ( AND, OR, dll ).
Tahun 1946, Von Neumann menyarankan bahwa instruksi menjadi kode numerik yang disimpan pada memori. Komputer dan semua mikrokontroler didasarkan pada komputer Von neumann. Tahun 1948, ditemukannya transistor, dengan dikembangkannya konsep software ,pada tahun 1948 mulai adanya perkembangan hardware penting seperti transistor. Tahun 1959, pertama kali dibuatnya IC (Integrated Circuit). Tahun 1971,intel membuat mikroprosesor intel 4004.
Mikroprosesor ini merupakan mikroprosesor pertama yang dikembangkan oleh intel (Integrated Electronics ). Mikroprosesor ini terdiri dari 2250 transistor. Intel 4004 merupakan mikroprosesor 4 bit. Kemudian pada tahun 1974, intel membuat mikroprosesor generasi kedua ( intel 8008), intel 8008 merupakan mikroprosesor 8 bit, semakin besar ukuran bit berarti mikroprosesor dapat memproses lebih banyak data. IC mikroprosesor intel 4004 dan intel 8008 ini dikemas dalam bentuk DIP (Dual Inline Package). Tahun 1972, Mikrokontroler yang dibuat adalah TMS 1000.
TMS 1000 merupakan mikrokontroler 4-bit buatan Texas Instrument (TI).
Mikrokontroler TMS 1000 dibuat oleh Gary Boone dari Texas Instrument. Boone merancang IC yang dapat menampung hampir semua komponen yang membentuk kalkulator, hanya layar dan keypad yang tidak dimasukkan. Tahun 1974, beberapa pabrikan IC menawarkan mikroprosesor dan pengendali menggunakan mikroprosesor. Mikroprosesor yang ditawarkan pada saat itu yaitu Intel 8080, 8085, Motorola 6800, Signetics 6502, Zilog Z80, Texas Instrument 9900 (16 bit). Tahun 1975, mikrokontroler PIC dikembangkan dan dibuat pertama kali di Universitas Harvard. PIC (Peripheral Interface Controller atau Programmable Intelligent Computer) mulai diperkenalkan kepada publik oleh Microchip pada tahun 1985.
Tahun 1976, dibuat Intel 8048, yang merupakan mikrokontroler intel pertama. Tahun 1978, mikroprosesor 16 bit menjadi lebih umum digunakan yaitu Intel 8086, Motorola 68000 dan Zilog Z8000. Sejak saat itu pabrikan mikroprosesor terus mengembangkan mikroprosesor dengan berbagai keistimewaan dan arsitektur.
Mikroprosesor yang dikembangkan termasuk mikroprosesor 32 bit seperti Intel Pentium, Motorola DragonBall, dan beberapa mikrokontroler yang menggunakan ARM (Advanced RISC Machine Ltd) core. ARM hanya menjual desain
8
arsitektur mikrokontroler/mikroprosesor. Saat ini sedang dipromosikan penggunaan mikrokontroler 32 bit yang berbasis prosesor ARM dari keluarga seri Cortex M (ARM Cortex-MO, ARM Cortex-MO, ARM Cortex-M3, ARM Cortex-M4, ARM Cortex-M7, ARM Cortex-R4, dan ARM Cortex A5). Tahun 1980, Intel 8051 atau lebih dikenal dengan keluarga mikrokontroler yang paling populer. Vendor lain yang mengadopsi mikrokontroler Intel 8051 yaitu: Philips, Siemens, Atmel. ATMEL juga membuat Mikrokontroler MCS 51 yaitu mikrokontroler Atmel seri AT89xxx, misalnya: AT89S51 dan AT89S52. Tahun 1996, Atmel AVR adalah salah satu keluarga mikrokontroler pertama yang menggunakan on-chip flash memory untuk penyimpanan program.
Program yang ditanamkan pada mikrokontroler merupakan instruksi- instruksi, dalam bentuk kode-kode, yang dibuat dengan menggunakan bahasa pemrograman tertentu. Program ini biasanya dibuat di komputer sampai dihasilkan kode programnya dan selanjutnya dituliskan ke mikrokontroler menggunakan bantuan perangkat keras pemrogram sesuai dengan jenis mikrokontroler yang digunakan. Program mikrokontroler bahkan dapat ditempatkan di luar IC mikrokontroler itu sendiri, contohnya di IC EPROM dan ini biasanya dilakukan bila tempat menampung program di dalam IC mikrokontroler tersebut masih dirasa tidak mencukupi. Pemrograman mikrokontroler dapat dilakukan dengan menggunakan bahasa tingkat rendah (Assembly) ataupun bahasa tingkat tinggi (Basic, Pascal, C dan lainnya). Bahasa tingkat rendah dan tingkat tinggi mempunyai kelebihan serta kekurangannya masing-masing. Bila dibandingkan dalam beberapa sisi, kelebihan dan kekurangan penggunaan bahasa tingkat rendah dan tingkat tinggi untuk membuat program mikrokontroler, adalah sebagai berikut:
a. Bahasa Tingkat Rendah (Assembly)
Murah (program assembler banyak yang gratis, tidak memerlukan compiler).
Kode instruksi yang dihasilkan cepat & berukuran kecil. Menggunakan bahasa yang lebih sulit dimengerti. Perlu pengetahuan yang lebih dalam tentang register, organisasi memori dll. Butuh waktu lebih lama dalam menuliskan program. Lebih sulit untuk menangani listing program, terutama untuk program yang berukuran besar. Instruksi assembler bisa berbeda untuk jenis mikrokontroler yang berbeda. Ini
dapat menyulitkan penggunaan program yang telah dibuat sebelumnya pada mikrokontroler dengan jenis yang lain.
b. Bahasa Tingkat Tinggi
Bahasa pemrograman tingkat tinggi (high level programming language) memiliki sintaks yang lebih mendekati bahasa manusia. Hal ini menyebabkan bahasa tingkat tinggi lebih mudah untuk dipelajari. Meski demikian bahasa tingkat tinggi umumnya menghasilkan ukuran kode yang lebih besar dibandingkan bahasa Assembly. Bahasa tingkat tinggi memerlukan perangkat lunak kompilator (compiler) untuk menerjemahkan kode menjadi bahasa mesin. Contoh compiler atau bahasa pemrograman yang berada pada tingkat tinggi adalah Bahasa C dan Bahasa Basic. Waktu menuliskan program menjadi lebih cepat karena sebagian besar instruksi yang digunakan, mewakili sekumpulan kode instruksi dalam bahasa Assembly. Bisa dilakukan tanpa sepengetahuan yang dalam tentang register, organisasi memori dll. Listing program berukuran lebih kecil dan mudah untuk ditangani. Memudahkan penggunaan program atau fungsi yang telah dibuat sebelumnya pada mikrokontroler dengan jenis yang lain.
Berdasarkan arsitekturnya, mikrokontroler dibagi menjadi : a. CISC (Complex Instruction Set Computer)
Mikroprosesor CISC merupakan jenis mikrokontroler yang memiliki jumlah instruksi yang kompleks dan lengkap. Contoh Mikrokontroler CISC yaitu Intel 80C51 (MCS51) dan Motorola 68HC11 mengikuti arsitektur CISC.
b. RISC (Reduced Instruction Set Computer)
Mikroprosesor RISC merupakan jenis mikrokontroler yang memiliki jumlah instruksi yang terbatas dan sedikit. Pada arsitektur RISC jumlah instruksi lebih sedikit, tetapi memiliki banyak register dibandingkan dengan CISC. Selain itu pada arsitektur RISC kebanyakan instruksi dieksekusi hanya dalam satu clock cycle dan mode addressing memory yang sederhana. Contoh mikrokontroler RISC:
ATMEL AVR, Microchip PIC 2/16CXX dan National Semiconductor COP8.
Program assembly dengan prosesor RISC menjadi lebih kompleks dibandingkan dengan program assembly prosesor CISC. Hal ini disebabkan hampir semua instruksi prosesor RISC adalah instruksi dasar, instruksi-instruksi ini umumnya hanya memerlukan 1 siklus mesin untuk menjalankannya. Sebagai
10
contoh misalnya karena tidak ada instruksi untuk perkalian pada arsitektur RISC sehingga harus dibuat program perkalian dengan menggunakan instruksi-instruksi dasar seperti instruksi penjumlahan, dan lain-lain. Namun pada arsitektur RISC tidak diperlukan hardware yang kompleks, prosesor yang tidak rumit akan cepat dan andal. Untuk merealisasikan instruksi dasar yang jumlahnya tidak banyak ini, mikroprosesor RISC tidak memerlukan gerbang logika yang banyak. Karena itu dimensi IC dan konsumsi daya prosesor RISC umumnya lebih kecil dibanding prosesor CISC. Akan tetapi, program assembly pada prosesor CISC menjadi lebih sederhana karena sudah ada instruksi yang kompleks. Untuk membuat instruksi yang kompleks seperti instruksi perkalian , pembagian, dan instruksi lain yang rumit pada prosesor CISC, diperlukan hardware yang kompleks juga. Dibutuhkan ribuan gerbang lojik (logic gates) transistor untuk membuat prosesor CISC. Instruksi yang kompleks juga membutuhkan jumlah siklus mesin (machine cycle) yang lebih panjang untuk dapat menyelesaikan eksekusinya.
2.2.1 Mikrokontroler AVR
Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (reduce instruction set compute) 8 bit berdasarkan arsitektur Harvard, yang dibuat oleh Atmel pada tahun 1996. AVR mempunyai kepanjangan Advanced versatile RISC atau Alf and Vegard's Risc Processor yang berasal dari nama dua mahasiswa Norwegian institute of technology (NTH), yaitu Alf-Egil Bogen dan Vegard Wollan. AVR memiliki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan mikrokontroler AVR yaitu AVR memiliki kecepatan eksekusi program yang lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan dengan mikrokontroler MCS51 yang memiliki arsitektur CISC (complex instruction set computer ) di mana mikrokontroler MSC51 membutuhkan 12 siklus clock untuk mengeksekusi 1 instruksi. Selain itu, mikrokontroler AVR memiliki fitur yang lengkap (ADC internal, EEPROM internal, Timer/counter,Watchdog Timer, PWM, Port I/O, Komunikasi serial, komparator, I2C,dll.), sehingga dengan fasilitas yang lengkap ini, programmer dan desainer dapat menggunakan untuk berbagai aplikasi sistem elektronika seperti robot, otomatis
instruksi, peralatan telekomunikasi,dan berbagai keperluan lain. Mikrokontroler AVR (Alf and Vegard's Risc processor) dari Atmel ini menggunakan arsitektur RISC (Reduced Instruction Set Computer) yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur CISC (Complex Instruction Set Computer) artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan arsitektur CISC (Complex Instruction Set Computer).
Gambar 2.2 Mikrokontroler AVR
Hampir semua instruksi prosesor RISC adalah instruksi dasar (belum tentu sederhana), sehingga instruksi-instruksi ini umumnya hanya memerlukan 1 siklus mesin untuk menjalankannya. Kecuali instruksi percabangan yang membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini yang memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan dalam satu atau dua siklus mesin, sehingga akan semakin cepat dan handal. Proses downloading programnya relatif lebih mudah karena dapat dilakukan langsung pada sistemnya. Sekarang ini, AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya, sedangkan dari segi arsitektur dan instruksi yang digunakan hampir sama.
Secara umum mikrokontroler AVR dapat dikelompokkan menjadi 5 kelompok yaitu:
1. Mikrokontroler TinyAVR (ATTiny) adalah mikrokontroler 8 bit. ATTiny merupakan mikrokontroler avr kecil dan memiliki peripheral yang terbatas.
12
2. Mikrokontroler AT90S adalah mikrokontroler 8 bit jenis lama,merupakan mikrokontroler avr klasik.
3. Mikrokontroler Atmega adalah mikrokontroler 8 bit. Atmega memiliki peripheral lebih banyak dibandingkan dengan seri ATTiny.
4. Mikrokontroler Xmega adalah mikrokontroler 8/16 bit. Xmega memiliki peripheral baru dan canggih dengan unjuk kerja, sistem monitoring event dan DMA yang ditingkatkan,serta merupakan pengembangan keluarga AVR untuk pasar low power dan high performance. Dengan adanya tur DMA(direct memory access) dapat mengurangi kemungkinan terjadinya kemacetan pada saat transfer data. Xmega mendukung kriptografi AES dan DES.
5. Mikrokontroler AVR32 adalah mikrokontroler 32 bit, mikrokontroler ini pertama kali dibuat oleh atmel pada tahun 2006. AVR32 menggunakan arsitektur RISC 32 bit, mikrokontroler ini ditujukan untuk bersaing dengan mikrokontroler yang berbasis prosesor ARM mikrokontroler AVR32 tidak memiliki EEPROM internal, sebagai pengganti EEPROM , AVR32 dapat menggunakan SD Card dan MMC.
Mikrokontroler AVR RISC (Reduced instruction set computing atau Komputasi set instruksi yang disederhanakan pertama kali digagas oleh John Locke) adalah perangkat yang didesain untuk berjalan dengan cepat, dengan menggunakan instruksi mesin yang disederhanakan sehingga dapat meningkatkan kinerja dari mikrokontroler.
Sebelum ada RISC, namanya CISC (Complex Instruction Set Computers). Dengan penggunaan instruksi yang lebih sederhana memberikan kontribusi pada kecepatan dengan instruksi mesin yang terbatas. Mikrokontroler AVR RISC dapat berjalan pada single cycle dari prosesor clock, yang berarti Mikrokontroler AVR dengan clock 8 MHz, dapat mengeksekusi sekitar 8 juta instruksi per detiknya atau 8 MIPS (million instruction per second). Bagian memori dari mikrokontroler Atmel RISC AVR berbasis Harvard Model, yang mana memorinya terbagi sehingga dapat meningkatkan kecepatan akses dan meningkatkan kapasitas. CPU membagi antarmuka untuk bagian kode memori FLASH, bagian memori data , dan memori EEPROM.
a. Memori FLASH merupakan blok dari memori FLASH yang dimulai dari lokasi 0x000 dan ukurannya tergantung dari mikrokontroler yang digunakan.
Memori FLASH merupakan memori non-volatile dan digunakan untuk
menyimpan kode eksekusi dan konstanta, karena kode-kode tersebut akan digunakan kembali meskipun mikrokontroler tidak terhubung ke catu daya, non-volatile yaitu kode yang disimpan dalam memori tidak hilang meskipun mikrokontrol tidak dialiri listrik, ruang memori antara 16 bit pada setiap lokasi untuk menangani instruksi mesin yang khususnya single-16 bit word.
b. Memori Data Atmel AVR khasnya terdiri dari tiga bagian memori baca/tulis terpisah .bagian terendah terdiri dari 32 register kerja umum, yang diikuti oleh 64 register I/O, yang diikuti oleh internal SRAM. Register kerja umum hanya : digunakan untuk menyimpan variabel lokal dan data temporal yang digunakan oleh program saat dieksekusi dan dapat juga digunakan untuk penyimpanan data variabel global, 64 register I/O digunakan sebagai antarmuka untuk perangkat I/O dan peripheral yang berada di papan mikrokontroler dan internal SRAM digunakan sebagai area penyimpanan variabel umum dan juga untuk processor stack.
c. Register-register, Register kerja umum menempati 32 sel terendah dalam data memori. register ini kebanyakan digunakan seperti data penyimpanan dalam kalkulator yang mana hanya disimpan sementaram terkadang digunakan untuk menyimpan variable lokal, dan terkadang variabel global, dan terkadang sebagai pengarah ke memori yang digunakan oleh processor.
Prosesor menggunakan 32 register bekerja sebagaimana program dieksekusi.
d. Register I/O, Setiap register memberikan akses ke register kontrol atau ke register data I/O peripheral yang berada dalam mikrokontroler.
Programer lebih sering menggunakan I/O register untuk mengantarmuka ke peripheral I/O dari mikrokontroler. ukuran Register I/O tergantung dari perangkat. setiap register I/O memiliki nama, sebuah alamat I/O, dan alamat SRAM.
e. SERAM, Bagian SRAM dari memori digunakan untuk menyimpan variabel yang tidak dapat disimpan kedalam register dan untuk menyimpan processor stack.
f. Memori EEPROM, bagian memori EEPROM adalah area memori baca/tulis yang non volatile. ini biasanya digunakan untuk menyimpan data
14
yang tidak boleh hilang saat catu daya dilepas (mikrokontroler dimatikan) dan dipasang kembali (mikrokontroler dinyalakan). Ruang EEPROM dimulai dari 0x000 dan ke nilai maksimum tergantung spesifikasi mikrokontroler yang digunakan.
2.3 Arduino
Arduino adalah sebuah rangkaian elektronik yang memiliki suatu komponen utama chip mikrokontroler. Mikrokontroler yang disebutkan disini adalah sebagai sebuah chip atau IC yang dapat diprogram melalui komputer. Arduino juga adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Tujuan dari adanya mikrokontroler untuk membaca input dengan memprosesnya hingga menimbulkan Output. Dari adanya Mikrokontroler, ini dapat ditemukan pada berbagai alat seperti handphone, MP3 player, DVD, televisi, AC dan masih banyak lagi. Selain itu, Mikrokontroler juga berguna sebagai pengendali robot baik mainan atau dari industri. Disini juga menyebutkan bahwa komponen utama Arduino adalah mikrokontroler. Selain dari pengertian diatas, ada juga pengertian lain yang menyatakan bahwa Arduino merupakan pengendali tunggal yang disebut sebagai mikro board dengan sifat terbuka atau open source. Alat ini dirancang dengan tujuan untuk memudahkan penggunaan berbagai macam alat elektronik yang salah-satunya adalah komputer. Dalam penggunaannya, arduino memiliki prosesor Atmel AVR serta program bahasa tersendiri.
Sekitar tahun 2005, penciptaan Arduino berasal dari teori oleh Hernando Barragan di Italia. Dari adanya teori tersebut, kemudian ini dikembangkan oleh Massimo Banzi dan David Cuartielles yang menamainya sebagai Arduin of Ivrea.
Kemudian, alat tersebut berganti nama yang diambil dari bahasa Italia menjadi Arduino. Berdasarkan dari sifat yang dimilikinya, perkembangan Arduino sangat cepat. Dari perkembangan tersebut, banyak penciptaan sejenis Arduino seperti DFRDuino atau Freeduino, CipaDuino, MurmerDuino dan AViSha Duino. Seiring waktu, ada berbagai macam jenis penciptaan Arduino dari yang mudah dicari dan yang paling banyak digunakan. Kelebihan Arduino Tidak perlu perangkat chip programmer karena didalamnya sudah ada bootloader yang akan menangani upload
program dari komputer. Sudah memiliki sarana komunikasi USB, Sehingga pengguna laptop yang tidak memiliki port serial/RS323 bisa menggunakannya.
Memiliki modul siap pakai (Shield) yang bisa ditancapkan pada board arduino, contohnya shield GPS, Ethernet,dll. Arduino merupakan papan rangkaian sistem minimum mikrokontroler yang memang dirancang untuk bisa digunakan dengan mudah oleh para seniman dan desainer (yang memang bukan orang teknik). Dengan demikian, tanpa mengetahui bahasa pemrograman, Arduino bisa digunakan untuk menghasilkan karya yang canggih.
Gambar 2.3 Arduino Board
Menggunakan Arduino sangat membantu dalam membuat suatu prototyping ataupun untuk melakukan pembuatan proyek. Arduino memberikan I/O yang sudah x dan bisa digunakan dengan mudah. Arduino dapat digabungkan dengan modul elektro yang lain sehingga proses perakitan jauh lebih efisien. Para desainer hanya tinggal membuat software untuk mendayagunakan rancangan HD yang ada.
Keistimewaan arduino adalah hardware yang open source. Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Bahasa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino. Dan seperti mikrokontroler yang banyak jenisnya, Arduino lahir dan berkembang kemudian muncul dengan berbagai jenis, diantaranya adalah:
1. Arduino Uno, jenis yang ini adalah yang paling banyak digunakan dengan versi yang terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemrograman cukup menggunakan koneksi USB
16
type A to To type B. Sama seperti yang digunakan pada USB printer.
2. Arduino Due, jenis ini tidak menggunakan ATMEGA, melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input analog. Untuk pemrogramannya menggunakan Micro USB, terdapat pada beberapa handphone.
3. Arduino Mega, arduino ini mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemrogramannya. Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno.
4. Arduino Leonardo, Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O digital dan pin input analognya sama, dan Leonardo menggunakan Micro USB untuk pemrogramannya.
5. Arduino Fio, bentuknya lebih unik, terutama untuk socketnya, jumlah pin I/O digital dan input analognya sama dengan uno dan leonardo, tapi Fio memiliki Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek yang berhubungan dengan wireless.
6. Arduino Lilypad, bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik, versi lamanya menggunakan ATMEGA168, tapi masih cukup untuk membuat satu projek keren dengan 14 pin I/O digital, dan 6 pin input analognya.
7. Arduino Nano, Nano yang berukuran kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemrograman lewat Micro USB 14 Pin I/O Digital, dan 8 Pin input Analog (lebih banyak dari Uno) dan ada yang menggunakan ATMEGA168, dan ATMEGA328.
8. Arduino Mini, fasilitasnya sama dengan yang dimiliki Nano hanya tidak dilengkapi dengan Micro USB untuk pemrograman dan ukurannya hanya 30 mm x 18 mm saja.
9. Arduino Micro Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak yaitu memiliki 20 pin I/O digital dan 12 pin input analog.
10. Arduino Ethernet, arduino ini yang sudah dilengkapi dengan fasilitas
ethernet. Membuat Arduino dapat berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input Analognya sama dengan Uno.
11. Arduino Esplora, dilengkapi dengan Joystick, button, dan sebagainya.
12. Arduino Robot, ini adalah paket komplit dari Arduino yang sudah berbentuk robot dilengkapi dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot sudah ada pada arduino ini.
2.3.1 Arduino Nano
Arduino Nano adalah salah satu papan pengembangan mikrokontroler yang berukuran kecil, lengkap dan mendukung penggunaan breadboard. Arduino Nano diciptakan dengan basis mikrokontroler ATmega328 (untuk Arduino Nano versi 3.x) atau ATmega168 (untuk Arduino versi 2.x). Arduino Nano kurang lebih memiliki fungsi yang sama dengan Arduino Duemilanove, tetapi dalam paket yang berbeda.
Arduino Nano tidak menyertakan colokan DC berjenis Barrel Jack, dan dihubungkan ke komputer menggunakan port USB Mini-B. Arduino Nano dirancang dan diproduksi oleh perusahaan Gravitech.
Gambar 2.4 Arduino Nano Depan
Gambar 2.5 Arduino Nano Belakang
Dibawah ini spesifikasi dari Arduino Nano:
18
Mikrokontroler Atmel ATmega168 atau ATmega328
Tegangan Operasi 5V
Input Voltage (disarankan) 7-12V
Input Voltage (limit) 6-20V
Pin Digital I/O 14 (6 pin digunakan sebagai output PWM)
Pins Input Analog 8
Arus DC per pin I/O 40 Ma
Flash Memory 16KB (ATmega168) atau 32KB (ATmega328) 2KB digunakan oleh Bootloader
SRAM 1 KB (ATmega168) atau 2 KB (ATmega328) EEPROM 512 byte (ATmega168) atau 1 KB (ATmega328)
Clock Speed 16 MHz
Ukuran 1.85cm x 4.3cm
Tabel 2.1 spesifikasi Arduino Nano
Arduino Nano dapat diaktifkan melalui koneksi USB Mini-B, atau melalui catu daya eksternal dengan tegangan belum teregulasi antara 6-20 Volt yang dihubungkan melalui pin 30 atau pin VIN, atau melalui catu daya eksternal dengan tegangan teregulasi 5 volt melalui pin 27 atau pin 5V. Sumber daya akan secara otomatis dipilih dari sumber tegangan yang lebih tinggi. Chip FTDI FT232L pada Arduino Nano akan aktif apabila memperoleh daya melalui USB, ketika Arduino Nano diberikan daya dari luar (Non-USB) maka Chip FTDI tidak aktif dan pin 3.3V pun tidak tersedia (tidak mengeluarkan tegangan), sedangkan LED TX dan RX pun berkedip apabila pin digital 0 dan 1 berada pada posisi HIGH.
ATmega328 memiliki flash memory sebesar 32 KB, (dengan 2 KB digunakan untuk bootloader) dan memiliki 2 KB memory pada SRAM dan 1 KB pada EEPROM. Masing-masing dari 14 pin digital pada Arduino Nano dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Semua pin beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima arus maksimum 40 mA dan memiliki resistor pull-up internal (yang terputus secara default) sebesar 20-50 KOhm. Selain itu beberapa pin memiliki fungsi khusus, yaitu:
1. Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini terhubung ke pin yang sesuai dari chip FTDI USB-to-TTL Serial.
2. External Interrupt (Interupsi Eksternal): Pin 2 dan pin 3 ini dapat dikonfigurasi untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau menurun, atau perubahan nilai.
3. PWM : Pin 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite(). Jika pada jenis papan berukuran lebih besar (misal: Arduino Uno), pin PWM ini diberi simbol tilde atau “~” sedangkan pada Arduino Nano diberi tanda titik atau strip.
4. SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI. Sebenarnya komunikasi SPI ini tersedia pada hardware, tapi untuk saat belum didukung dalam bahasa Arduino.
5. LED : Pin 13. Tersedia secara built-in pada papan Arduino Nano. LED terhubung ke pin digital 13. Ketika pin diset bernilai HIGH, maka LED menyala, dan ketika pin diset bernilai LOW, maka LED padam.
Arduino Nano memiliki 8 pin sebagai input analog, diberi label A0 sampai dengan A7, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara default pin ini dapat diukur/diatur dari mulai Ground sampai dengan 5 Volt, juga memungkinkan untuk mengubah titik jangkauan tertinggi atau terendah mereka menggunakan fungsi analogReference(). Pin Analog 6 dan 7 tidak dapat digunakan sebagai pin digital. Selain itu juga, beberapa pin memiliki fungsi yang dikhususkan, yaitu:
20
1. I2C : Pin A4 (SDA) dan pin A5 (SCL). Yang mendukung komunikasi I2C (TWI) menggunakan perpustakaan Wire.
2. AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi analogReference().
3. RESET : Jalur LOW ini digunakan untuk me-reset (menghidupkan ulang) mikrokontroler. Biasanya digunakan untuk menambahkan tombol reset pada shield yang menghalangi papan utama Arduino.
Arduino Nano memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, dengan Arduino lain, atau dengan mikrokontroler lainnya.
ATmega168 dan ATmega328 menyediakan komunikasi serial UART TTL (5 Volt), yang tersedia pada pin digital 0 (RX) dan pin 1 (TX). Sebuah chip FTDI FT232RL yang terdapat pada papan Arduino Nano digunakan sebagai media komunikasi serial melalui USB dan driver FTDI (tersedia pada software Arduino IDE) yang akan menyediakan COM Port Virtual (pada Device komputer) untuk berkomunikasi dengan perangkat lunak pada komputer. Perangkat lunak Arduino termasuk didalamnya serial monitor memungkinkan data tekstual sederhana dikirim ke dan dari papan Arduino. LED RX dan TX yang tersedia pada papan akan berkedip ketika data sedang dikirim atau diterima melalui chip FTDI dan koneksi USB yang terhubung melalui USB komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1).
2.4 LCD 16x2
Menurut Adrianto (2015) LCD adalah suatu display dari bahan cairan kristal yang pengoperasiannya menggunakan sistem dot matriks. LCD banyak digunakan sebagai display dari alat-alat elektronika seperti kalkulator, multimeter digital, jam digital dan sebagainya. Secara Garis Besar, terdapat dua jenis LCD yaitu LCD teks dan LCD grafik. LCD teks digunakan untuk menampilkan teks atau simbol-simbol tertentu dan LCD grafik memungkinkan untuk menampilkan gambar. Kemampuan LCD tidak hanya menampilkan angka, tetapi juga huruf,kata, dan semua sarana simbol dengan lebih bagus dan serbaguna daripada penampilan-penampilan yang menggunakan seven segment LED. Modul LCD mempunyai basic interfaces cukup baik yang sesuai dengan sistem mikrokontroler AVR maupun Arduino.
Gambar 2.6 LCD 16x2 karakter
Bentuk dan ukuran modul-modul berbasis karakter banyak ragamnya. Salah satu variasi bentuk dan ukuran yang tersedia dan dipergunakan pada peralatan ini adalah 16x2 karakter (panjang 16, baris 2, karakter 32) dan 16 pin. Akses pin yang tersedia mempunyai 8 jalur hubungan data, 3 jalur hubungan kontrol, dan 3 jalur catu daya. Sementara pada modul LCD dengan fasilitas back lighting terdapat 2 jalur catu untuk backlighting. Dengan demikian, semua dapat ditampilkan dalam kondisi cahaya kecil.Ketika power dinyalakan, display menampilkan sederet persegi gelap dan mungkin hanya pada sebagian display. Sel-sel karakter ini sebenarnya merupakan bagian yang mati. Modul display mereset sendiri pada bagian awal ketika power dinyalakan, yaitu layar menjadi kosong sehingga karakter-karakter tidak dapat terlihat. Dengan demikian, Perlu memberikan perintah pada poin ini untuk menyalakan LCD.
Fungsi Pin-Pin Modul berukuran 16 karakter x 2 baris dengan fasilitas back lighting memiliki 16 pin yang terdiri atas 8 jalur data, 3 jalur kontrol, dan jalur catu daya.
Gambar 2.7 Datasheet LCD 16x2 Karakter
22
1. Pin 1 dan 2 Merupakan sambungan catu daya, Vss, dan Vdd. Pin Vdd dihubungkan dengan tegangan positif catu daya, sedangkan Vss pada 0 volt atau ground. Meskipun demikian, data menentukan catu 5V dc (hanya beberapa mA), menyediakan 6V dan 4,5V yang keduanya bekerja dengan baik, bahkan 3V cukup untuk beberapa modul.
2. Pin 3 merupakan pin kontrol Vcc yang digunakan untuk mengatur kontras display. Idealnya pin ini dihubungkan dengan tegangan yang bisa diubah untuk memungkinkan pengaturan tingkatan kontras display sesuai kebutuhan.
3. Pin 4 merupakan register select (RS), masukan yang pertama dari 3 command control input. Dengan membuat RS menjadi high, data karakter dapat ditransfer dari dan menuju modulnya.
4. Pin 5 merupakan Read/Write (R/W). Cara memfungsikan perintah Write adalah R/W low atau menulis karakter ke modul. R/W high untuk membaca data karakter atau informasi status registernya.
5. Pin 6 merupakan Enable (E). Input ini digunakan untuk transfer aktual perintah - perintah atau karakter antara modul dengan hubungan data. Ketika menulis ke display, data ditransfer hanya pada perpindahan 68 Interface Dengan LCD high/low. Namun, ketika membaca dari display, data akan menjadi lebih cepat tersedia setelah perpindahan dari low ke high dan tetap tersedia hingga sinyal low kembali.
6. Pin 7 sampai 14 Pin 7 sampai 14 adalah jalur 8 jalur data (D0-D7) dimana data dapat ditransfer ke dan dari display. Pin 15 dan 16 Pin 15 atau A (+) mempunyai level DC +5V dan berfungsi sebagai LED backlight +, sedangkan pin 16 atau K (-) memiliki level 0V dan berfungsi sebagai LED backlight.
2.5 Sensor SHT31-D
SensoR SHT31-D adalah sensor suhu dan kelembaban digital berkualitas tinggi dari pemasok Sensirion. SHT31-D ini dilengkapi dengan komunikasi I2C, sehingga tidak perlu kabel dalam jumlah banyak, dan beberapa sensor dapat digunakan dalam mikrokontroler atau reader. Sensor dapat bekerja pada tegangan 2,4 V hingga 5,5 V yang artinya sangat cocok untuk Arduino, NodeMCU hingga Raspberry Pi. Sensor
ini juga memiliki ketahanan kelas industri, dengan akurasi dan akurasi yang sangat tinggi, dan cocok untuk penggunaan aktual setiap kali digunakan. Papan pelarian.
Sensornya juga sangat kecil, tidak lebih dari 1 cm, sehingga mudah ditempatkan di area tersembunyi. Sinyal sensor kelembaban dan suhu dikalibrasi, dilinierkan, dan dikompensasi oleh pabrikan sesuai dengan tegangan catu daya yang terhubung ke sensor. Sensor akan bekerja paling baik saat beroperasi dalam kisaran suhu dan kelembaban normal yang disarankan 5-60 °C dan 20-80% RH Kelembaban Relatif (RH) untuk masing-masing satuan. Paparan jangka panjang untuk kondisi di luar kisaran normal, terutama pada kelembaban tinggi, dapat sementara mengimbangi sinyal RH (mis. + 3% RH setelah 60 jam pada > 80% RH) (Adafruit, 2020).
Gambar 2.8 Sensor SHT31-D
2.6 Sensor pH
Gambar 2.9 sensor pH Tanah
Sensor ph tanah adalah sebuah sensor yang mengukur tingkat keasaman tanah (asam) dan alkalinitas (alkali). Sensor ph tanah sudah memiliki lembar data dan formula untuk mengubah nilai ADC menjadi nilai pH. Prinsip kerja dari sensor Ph
24
adalah pertukaran ion positif (H+) antara elektroda kaca dengan elektroda referensi yang berbentuk bulat. Perbedaan proses pembentukan ion antara kedua elektroda potensial dapat menghasilkan positif atau negatif. Sensor pH memiliki modul yang fungsinya mengubah nilai keluaran sensor yang dihasilkan oleh selisih elektroda menjadi sinyal tegangan. Setelah modul diubah menjadi sinyal, mikrokontroler akan mengolahnya menjadi derajat keasaman (pH).
2.7 Power Supply
Catu daya (PSU) merupakan perangkat atau sistem yg memasok tenaga listrik atau jenis lain ke beban keluaran atau grup beban. Istilah ini paling tak jarang diterapkan dalam pasokan tenaga listrik, lebih sporadis buat yg mekanis, dan sporadis buat orang lain. Catu daya (power supply) diklaim jua menjadi adaptor merupakan asal tegangan DC yg dipakai buat menaruh tegangan atau daya pada banyak sekali rangkaian elektronik yg membutuhkan tegangan DC supaya bisa beroperasi. Rangkaian utama berdasarkan catu daya nir lain merupakan suatu penyearah yakni suatu rangkaian yg membarui frekuwensi bolak-balik (AC) sebagai frekuwensi searah (DC).Catu daya linear simetris (polaritas ganda) adalah rangkaian catu daya yg membuat keluaran berupa polaritas ganda, yaitu: tegangan positif terhadap ground dan tegangan negatif terhadap ground. Rangkaian catu daya linear simetris secara umum dibangundari komponen trafo step down CT sebagai penurun tegangan dan mempunyai bagian sekunder simetris, rangkaian dioda penyearah berupa sistem jembatan (bridge system), filter dan rangkaian regulator menggunakan IC dengan seri 7812 sebagai regulator tegangan positif dan 7912 sebagai regulator tegangan negatif.Regulator tegangan dengan menggunakan komponen utama IC (integrated circuit) mempunyai keuntungan karena lebih kompak (praktis) dan umumnya menghasilkan penstabilan tegangan yang lebih baik. Fungsi-fungsi seperti pengontrolan, sampling, komparator, referensi, dan proteksi yang tadinya dikerjakan oleh komponen diskrit, sekarang semuanya dirangkai dan dikemas dalam IC. Ada beberapa jenis IC yang menghasilkan tegangan keluaran tetap baik positif maupun negatif, ada pula yang menghasilkan tegangan keluaran yang dapat diatur. IC regulator tegangan tipe LM78xx (series) menghasilkan tegangan tetap positif, sedangkan tipe LM79xx (series) menghasilkan tegangan tetap negatif.
2.8 Internet of Things (IoT)
Internet of Things (IoT) adalah sebuah istilah yang muncul dengan pengertian sebuah akses perangkat elektronik melalui media internet. Akses perangkat tersebut terjadi akibat hubungan manusia dengan perangkat atau perangkat dengan perangkat dengan memanfaatkan jaringan internet. Akses perangkat tersebut terjadi karena keinginan untuk berbagi data, berbagi akses, dan juga mempertimbangkan keamanan dalam aksesnya. Internet of Things (IoT) dimanfaatkan sebagai media pengembangan kecerdasan akses perangkat di dunia industri, di rumah tangga, dan beberapa sektor yang sangat luas dan beragam (contoh : sektor lingkungan, sektor rumah sakit, sektor energi, sektor umum, sektor keamanan, dan sektor transportasi).
Internet of Things (IoT) dapat dikembangkan dengan media perangkat elektronika yang umum seperti ARDUINO untuk keperluan yang spesifik (khusus). IoT juga dapat dikembangkan aplikasi terpadu dengan sistem operasi android. (sigit wasista.2019)
Internet of Things adalah suatu konsep dimana objek tertentu punya kemampuan untuk mentransfer data lewat jaringan tanpa memerlukan adanya interaksi dari manusia ke manusia ataupun dari manusia ke perangkat komputer.
Internet of Things leih sering disebut dengan singkatannya yaitu IoT. IoT ini sudah berkembang pesat mulai dari konvergensi teknologi nirkabel, micro- electromechanical systems (MEMS), dan juga Internet. IoT ini juga kerap diidentifikasikan dengan RFID sebagai metode komunikasi. Walaupun begitu, IoT juga bisa mencakup teknologi teknologi sensor lainnya, semacam teknologi nirkabel maupun kode QR yang sering kita temukan di sekitar kita. Adapun kemampuannya bermacam-macam contohnya dalam berbagi data, menjadi remote control, dan masih banyak lagi yang lainnya. Sebenarnya fungsinya termasuk juga diterapkan ke benda yang ada di dunia nyata, di sekitar kita.
Pengertian Internet of Things Para Ahli:
- Casagras (Coordination and support action for global RFID-related activities and standardisation)
Mendefinisakan Internet of Things, sebagai sebuah infrastruktur jaringan global, yang menghubungkan benda benda fisik dan virtual melalui
26
eksploitasi data capture dan kemampuan komunikasi. Infrastruktur terdiri dari jaringan yang telah ada dan internet berikut pengembangan jaringannya.
Semua ini akan menawarkan identifikasi obyek, sensor dan kemampuan koneksi sebagai dasar untuk pengembangan layanan dan aplikasi kooperatif yang independen. Ia juga ditandai dengan tingkat otonom data capture yang tinggi, event transfer, konektivitas jaringan dan interoperabilitas.
- SAP (Systeme, Anwendungen und Produkte)
Mendefinisikannya bahwa Dunia di mana benda-benda fisik diintegrasikan ke dalam jaringan informasi secara berkesinambungan, dan di mana benda- benda fisik tersebut berperan aktif dalam proses bisnis. Layanan yang tersedia berinteraksi dengan 'obyek pintar' melalui Internet, mencari dan mengubah status mereka sesuai dengan setiap informasi yang dikaitkan.
- ETP EPOSS
Jaringan yang dibentuk oleh hal-hal atau benda yang memiliki identitas, pada dunia maya yang beroperasi di ruang itu dengan menggunakan kecerdasan antarmuka untuk terhubung dan berkomunikasi dengan pengguna, konteks sosial dan lingkungan.
- Aston (2009)
Secara umum internet of things merupakan sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet yang tersambung secara terus-menerus. Yang memungkinkan daya pengendalian, komunikasi, kerja sama dengan berbagai perangkat keras, berbagi data, memvirtualisasikan segala hal nyata ke dalam bentuk internet, melalui jaringan internet atau disebut juga M2M (machine to machine). (Tri Rachmadi, S.Kom.2020)
2.9 ESP8266
ESP8266 adalah microcontroller buatan produsen bernama Espressif System yang bermarkas di Shanghai, China. ESP8266 sangat populer di dunia pada saat ini dan menguasai pasar karena harganya yang sangat terjangkau dan kemampuannya tidak bisa dipandang sebelah mata. Bayangkan, dari dalam sebuah unit yang sangat kecil (24x16mm) terdapat banyak fitur-fitur dari microcontroller yang lengkap.
Gambar di bawah ini adalah chip ESP8266. ESP8266 terdiri dari sebuah MCU (Micro Processing Unit), chip wireless d dan sebuah antena.
Spesifikasi ESP8266 adalah sebagai berikut:
- Microprocessing unit Tensilica L106 32-bit dengan frekuensi clock standar pada 80 MHz dan overclock 160 MHz.
- RTOS (Real Time Operations Systems), yaitu sebuah set instruksi untuk menerima input data dan memprosesnya secara sistematik hingga menghasilkan output.
- WiFi 2.4 GHz yang memenuhi standar IEEE 802.11 b/g/n dengan on-board antenna dan mendukung autentikasi WPA/WPA2.
- Protokol TCP/IP terintegrasi untuk dapat terhubung dengan jaringan internet - Membutuhkan arus kecil saat dalam mode deep sleep < 10μA
- Konsumsi daya pada waktu standby <1mW
- Dapat dioperasikan pada rentang temperatur -40 - 125° C - Memiliki pin input dan t untuk digital maupun analog
- Dapat diprogram dengan bahasa arduino,Lua dan MicroPython. (Andi Dinata.2018)
Gambar 2.10 Chip Esp8266
28
LCD BAB III
PERANCANGAN ALAT
4.1 Diagram Blok dan Cara Kerja Sistem 3.1.1 Diagram Blok
Adapun diagram blok dari rancangan alat yang dibuat adalah sebagai berikut:
Gambar 3.1 Diagram Blok Alat
3.1.2 Cara Kerja Sistem
Berdasarkan diagram blok diatas terdapat beberapa komponen yang cara kerjanya sebagai berikut Power supply berfungsi sebagai sumber arus listrik ke sistem dan sensor. Sensor pH berfungsi untuk mengubah parameter kimia menjadi sinyal listrik, sinyal listrik inilah yang dibaca mikrokontroler. Sensor SHT31-D berfungsi untuk mengubah parameter suhu dan kelembaban menjadi sinyal listrik. Mikrokontroler
Mikrokontroler Arduino Nano Sensor pH
SHT31-D
Power Supply
Android
Arduino Nano sebagai sistem kendali dan mengolah data dalam sistem. LCD akan menampilkan data (output) yang telah diolah dalam mikrokontroler.
3.2 Perancangan Antar Muka Setiap Blok Diagram
3.2.1 Perancangan Antar Muka Power Supply dengan ATMega328
Rangkaian ini merupakan otak dari alat yang dibuat. Rangkaian ini menggunakan mikrokontroler ATMega328 sebagai pusat dari pemrosesan data.
Berikut gambar rangkaian yang digunakan pada alat ini:
Gambar 3.2 Rangkaian power supply dengan ATMega328
Rangkaian ini terbagi atas 2 bagian utama, yaitu rangkaian minimum mikrokontroler ATMega328 dan rangkaian komunikasi mikrokontroler. Rangkaian minimum mikrokontroler terdiri dari rangkaian Reset yang dibentuk oleh R1, dan kemudian rangkaian pembangkit clock yang terdiri dari kristal Q1 dan 2 buah kapasitor C1 dan C2. Konektor J1 digunakan sebagai jalur pengisian bootloader mikrokontroler. C3 digunakan sebagai filter tegangan yang masuk ke mikrokontroler.
LED1 diperulkan sebagai indikator ada atau tidaknya tegangan pada mikrokontroler
30
Ketika sudah dihubungkan ke power supply. LED2 digunakan sebagai sarana pengujian rangkaian ketika rangkaian sudah dibuat. Bagian lainnya adalah bagian komunikasi. Rangkaian ini digunakan sebagai jalur untuk memasukkan program ke memori mikrokontroler. Rangkaian ini dibangun dari IC CH340G yang merupakan konverter komunikasi USB ke UART-TTL. Ini diperlukan agar mikrokontroler yang hanya mempunyai fasilitas komunikasi serial UART-TTL dapat berkomunikasi dengan PC yang mempunyai fasilitas port USB. Sebagai pembangkit clock pada rangkaian komunikasi ini, digunakan kristal Q2, dan C4, C5.
3.2.2 Perancangan Antar Muka ATMega328 dengan LCD
Berikut merupakan gambar rangkaian LCD yang digunakan pada alat yang dibuat:
Gambar 3.3 Rangkaian ATMega328 dengan LCD
Rangkaian ini dibangun dari sebuah IC PCF8574T yang berperan untuk mengkonversi perintah yang didapat melalui komunikasi I2C menjadi logika digital di tiap pin outputnya (P0 s.d. P7). Logika – logika digital tersebut lah yang menjadi logika untuk mengaktifkan LCD, dengan demikian, untuk mengendalikan LCD, mikrokontroler hanya membutuhkan 2 pin yaitu pin SDA dan SCL. Pin 1,2, dan 3 dari IC PCF8574T dihubungkan pada resistor pull-up yang mengakibatkan logikanya selalu bernilai 1. Sesuai dengan datasheet IC ini, jika di pin-pin tersebut diberika logika 1, maka address untuk pemrograman ic ini akan menjadi 0x27.
Trimpot R4 digunakan untuk mengatur kontras dari karakter yang muncul pada saat LCD dinyalakan.
3.2.3 Perancangan Antar Muka Sensor pH Tanah dengan ATMega328
Sensor pH tanah merupakan sensor pendeteksi tingkat keasaman (acid) atau kebasaan (alkali) tanah. Skala pH yang dapat diukur oleh sensor ini berada pada range 3.5 hingga 8. Sensor ini dapat langsung dihubungkan dengan pin analog Arduino ataupun mikrokontroler lainnya tanpa harus memakai modul penguat tambahan lainnya. Sensor ini mempunyai 2 pin output, sebuah pin dihubungkan pada ground (GND) rangkaian mikrokontroler dan pin yang lainnya dihubungkan ke pin analog input dari mikrokontroler tersebut. Berikut merupakan spesifikasi sensor pH tanah yang digunakan:
o Bekerja pada tegangan 5V
o Support Arduino dan mikrokontroler tipe lainnya o Koefisien linearitas data pH tanah sebesar 0.9962
o Kedalaman tanah pada saat pengukuran sebesar 6 cm dari ujung sensor
o Rumus konversi data konduktivitasnya adalah: y = - 0.0693x + 7.3855 (dimana x = nilai ADC dan y = pH tanah yang diukur
Gambar 3.4 Rangkaian Sensor pH tanah dengan ATMega328