BAB II LANDASAN TEORI 2.1 Sistem Penetasan Telur Penetasan

advertisement
BAB II
LANDASAN TEORI
2.1
Sistem Penetasan Telur
Penetasan telur ayam menjadi popular di tingkat peternak kecil dan
menengah dan bahkan di tingkat rumah tangga untuk dijadikan jenis petelur,
pedaging atau untuk menghasilkan ungags-unggas yang cantik untuk dipelihara
sebagai binatang peliharaan, karena ayam kampung dikenal sebagai ayan yang
memiliki resistance (ketahanan tubuh) yang lebih kuat dari pada ayam-ayam yang
lain, disamping itu rasa daging ayam kampong jauh lebih nikmat dari pada ayam
pedaging pada umumnya.
Inkubator penetas telur harus dapat diatur kondisinya hingga kondisinya
optimal untuk mendukung perkembangan telur dari saat telur masuk inkubator
hingga telur menetas dan dikeluarkan dari inkubator. Inkubator penetas telur yang
ada saat ini sangat bermacam-macam bila dilihat dari fasilitas dalam inkubator.
Inkubator paling sederhana hanya dilengkapi dengan lampu sebagai media pemanas
dan sensor panas sebagai pengatur lampu hidup atau mati. Inkubator yang paling
canggih selain memiliki pemanas dan sensor pemanas juga memiliki kipas angin,
sensor kelembaban udara, dan lain-lain. Tentu suhu menjadi hal mutlak yang harus
diperhatikan dalam penetasan telur, sebab telur akan berkembang apabila suhu
lingkungan telur mencapai batas minimum tertentu yang lebih rendah dari suhu
lingkungan pada umumnya. Kelembaban udara juga harus diperhatikan untuk
meningkatkan probabilitas menetasnya sehingga mengurangi kemungkinan telur
yang di inkubasi gagal menetas. Hal penting yang harus diperhatikan adalah
kesterilan lingkungan dalam inkubator, inkubator yang digunakan secara terus
menerus tanpa jeda (setelah menetaskan telur langsung menginkubasi telur lagi)
dapat menyebabkan persentase telur yang menetas berkurang drastis, karena
dibutuhkan waktu untuk membunuh bakteri-bakteri yang ada dalam inkubator
6
http://digilib.mercubuana.ac.id/
setelah inkubator selesai digunakan dengan cara tidak menggunakan inkubator atau
mejemur inkubator di bawah sinar matahari.
Upaya kelompok unggas dalam mempertahankan populasinya, yaitu dengan
bertelur. Telur tersebut kemudian ditetaskan, baik secara alami maupun buatan
hingga melahirkan individu baru. (Farry B. Paimin, 2011:5)
2.2
Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source
yang didalamnya terdapat komponen utama, yaitu sebuah chip mikrokontroler
dengan jenis AVR dari perusahaan Atmel. Mikrokontroler itu sendiri adalah chip
atau IC (integrated circuit) yang bias di deprogram menggunakan computer. Tujuan
memprogram mikrokontroler adalah agar rangkaian elektronika dapat membaca
input, memproses input terseut, dan kemudian menghasilkan output sesuai yang
diinginkan.
Jadi
mikrokontroler
bertugas
sebagai
otak
perintah
yang
mengendalikan input, proses, dan output pada sebuah rangkaian elektronik.
Secara umum, Arduino terdiri dari dua bagian,yaitu hardware dan software.
Hardware merupakan berupa papan input/output yang open source. Sedangkan
software berupa Software Arduino yang juga open source, meliputi software
Arduino IDE unutk menulis program dan driver untuk koneksi dengan komputer
(Suhata,2005).
Kelebihan dari Arduino dari platform lain yaitu:
1. Murah, Arduino biasanya dijual relative murah dibandingkan dengan
platform mikrokontroler lainnya.
2. Sederhana dan mudah untuk pemrogramannya. Perlu diketahui bahwa
lingkungan pemrograman di Arduino mudah digunakan dan cukup
fleksibel bagi penggunanya.
3. Perangkat lunaknya open source. Perangkat lunak Arduino IDE
dipublikasikan sebagai open source.
7
http://digilib.mercubuana.ac.id/
4. Perangkat kerasnya open source. Perangkat kerasnya dipublikasikan open
source. Perangkat keras Arduino berbasis mikrokontroler ATMEGA168,
ATMEGA328, dan ATMEGA1280.
5. Tidak perlu perangkat chip programmer. Karena di dalamnya sudah ada
bootloader yang akan menangani upload program dari komputer.
6. Sudah memilliki koneksi USB.Sehingga dapat terhubung dengan sangat
mudah ke perangkat Komputer ataupun Laptop yang tidak memiliki port
serial/RS323 bisa menggunakannya.
7. Bahasa pemrograman relative mudah. Karena software Arduino
dilengkapi dengan kumpulan library yang cukup lengkap untuk
membantu mengoptimalkan module-module pendukung.
8. Memiliki modul siap pakai (shield) yang bias ditancapkan pada board
Arduino. Misalnya Shield GPS, Ethernet, SD Card, dll.
2.2.1
Pengenalan Arduino Mega 2560
Arduino Mega 2560 adalah papan pengembangan mikrokontroler yang
berbasis Arduino dengan menggunakan chip ATmega2560. Board ini memiliki pin
I/O yang cukup banyak, sejumlah 54 buah digital I/O pin ( 15 pin diantaranya
adalah PWM), 16 pin analog input, 4 pin UART (serial port hardware). Arduino
Mega 2560 dilengkapi dengan sebuah oscillator 16 Mhz, sebuah port USB, power
jack DC, ICSP header, tombol reset. Board ini sudah sangat lengkap, sudah
memiliki segala sesuatu yang dibutuhkan untuk sebuah mikrokontroler. Dengan
penggunaan yang cukup sederhana, anda tinggal menghubungkan power dari USB
ke PC anda atau melalui adaptor AC/DC ke jack DC. (Simanjutank : 2013, 7)
Sifat open source Arduino juga banyak memberikan keuntungan tersendiri
untuk kita dalam menggunakan board ini, tergantung pada satu merek, namun
memungkinkan kita bisa memakai semua komponen yang ada dipasaran. Bahasa
pemrograman Arduino merupakan Bahasa C yang disudah disederhanakan syntax
Bahasa pemrogramannya sehingga mempermudah kita dalam mempelajari dan
mendalami mikrokontroler.
8
http://digilib.mercubuana.ac.id/
Gambar 2.2 Board Arduino Mega 2560
2.2.2
Arsitektur Arduino Mega 2560
Chip ATmega2560 pada Arduino Mega 2560 Rev.3 memilki memori 256
KB, dengan 8 KB dari memori tersebut telah digunakan untuk bootloader. Jumlah
SRAM 8KB, dan EEPROM 4KB, yang dapat dibaca-tulis dengan menggunakan
EEPROM library saat melakukan pemrograman.
Pemrograman board Arduino Mega 2560 dilakukan dengan menggunakan
Arduino Software (IDE). Chip ATmega2560 yang terdapat pada Arduino Mega
2560 telah diisi program awal yang sering disebut bootloader. Bootloader tersebut
yang bertugas untuk memudahkan anda melakukan pemrograman lebih sederhana
menggunakan Arduino Software, tanpa harus menggunakan tambahan hardware
lain. Cukup hubungkan Arduino dengan kabel USB ke PC atau Mac/Linux anda,
jalankan software Arduino Software (IDE), dan anda sudah bisa mulai memrogram
chip ATmega2560. Lebih mudah lagi, didalam Arduino Software sudah diberikan
banyak cntoh program yang memanjakan anda dalam belajar mikrokontroler.
Untuk pengguna mikrokontroler yang sudah lebih mahir, anda dapat tidak
menggunakan bootloader dan melakukan pemrograman langsung via header ICSP
(In Circuit Serial Programming) dengan menggunakan Arduino ISP.
Arduino Mega 2560 Rev 3 telah dilengkapi dengan chip ATmega16U2 yang
telah di program sebagai USB to Serial. Firmware ATmega16U2 di load oleh DFU
bootloader, dan untuk merubahnya anda dapat menggunakan software Atmel Flip
(Windows) atau DFU Progammer (Mac OSX dan Linux), atau menggunakan
header ISP dengan menggunakna hardware external programmer.
9
http://digilib.mercubuana.ac.id/
Development board Arduino Mega 2560 R3 telah dilengkapi dengan
polyfuse yang dapat direset untuk melindungi port USB komputer/laptop anda dari
korsleting atau arus berlebih. Meskipun kebanyakan komputer telah memiliki
perlidungan port tersebut didalamnya namun sikring pelindung pada Arduino Uno
memberikan lapisan perlidungan tabahan yang membuat anda bisa tenang
menghubungkan Arduino ke komputer anda. Jika lebih dari 500mA ditarik pada
port USB tersebut, sirkuit proteksi akan secara otomatis memtuskan hubungan, dan
akan menyambung kembali ketika batasan aman telah kembali.
Board Arduino Mega 2560 dapat ditenagai dengan power yang diperoleh
dari koneksi kabel USB, atau via power supply eksternal. Pilihan power yang
digunakan akan dilakukan secara otomatis.
External power supply dapat diperoleh dari adaptor AC-DC atau bahkan
baterai, melalui jack DC yang tersedia, atau menghubungkan langsung GND dan
pin Vin yang ada di board. Board dapat beroperasi dengan power dari external
power supply yang memiliki tegangan antara 6V hingga 20V. Namun ada beberapa
hal yang ada harus perhatikan dalam rentang tegangan ini. Jika diberi tegangan
kurang dari 7V, pin 5V tidak akan memberikan nilai murni 5V, yang mungkin akan
membuat rangkaian bekerja dengan tidak sempurna. Jika diberi tegangan lebih dari
12V, regulator tengangan bisa over heat yang pada akhirnya bisa merusak pcb.
Dengan demikian, tegangan yang di rekomendasikan adalah 7V hingga 12V.
Beberapa pin power pada Arduino Mega:
•
GND adalah ground atau negative
•
Vin. Adalah pin yang digunakan jika anda ingin memberikan power
langsung ke board Arduino dengan rentang tegangan yang disarankan
7V – 12V.
•
3V3 adalah pin output dimana pada pin tersebut disediakan tegangan
3.3V yang telah regulator.
•
Pin 5V adalah pin output dmana pin tersebut mengalir tegangan 5V
yang telah melalui regulator.
•
IOREF
adalah
pin
yang
menyediakan
referensi
tegangan
mikrokontroler. Biasanya digunakan pada board shield unutk
memperoleh tegangan yang sesuai, apakah 5V atau 3.3V.
10
http://digilib.mercubuana.ac.id/
Arduino Mega 2560 memiliki jumlah pin terbanyak dari semua papan
pengembangan Arduino. Arduino Mega 2560 memiliki 54 buah digital pin yang
dapat digunakan sebagai input atau output, dengan meggunakan fungsi pinMode(),
digitalWrite(), dan digital(Read). Pin-pin tersebut bekerja pada tegangan 5V, dan
setiap pin dapat menyediakan atau menerima arus sebesar 20mA, dan memiliki
tahanan pull-up sekitar 20-50k ohm (secara default dalam posisi disconnect). Nilai
maximum adalah 40 mA, yang sebisa mungkin dihindari untuk menghindari
kerusakan chip mikrokontroler.
Beberapa pin memiliki fungsi khusus :
•
Serial, memiliki 4 serial yang masing-masing terdiri dari 2pin. Serial 0 : pin
0 (RX) dan pin 1 (TX).Serial 1: pin 19 (RX) dan pin 18 (TX). Serial 2 : pin
17 (RX) dan pin 16 (TX). Serial 3 : pin 15 (RX) dan pin 14 (TX). RX
digunakan untuk menerima dan TX untuk transmit daa serial TTL. Pin 0
dan pin 1 adalah pin yang digunakan oleh chip USB-to-TTL ATmega16U2.
•
External Interrups, yaitu pin 2 (untuk interrupt 0), pin 3 (interrupt 1), pin 18
(interrupt 5), pin 19 (interrupt 4), pin 20 (interrupt 3), dan pin 21 (interrupt
2). Dengan demikian Arduino Mega 2560 memiliki jumlah interrupt yang
cukup banyak : 6 buah. Gunakan fungsi attachInterrupt() untuk mengatur
interrupt tersebut.
•
PWM : Pin 2 hingga 13 dan 44 hingga 46, yang menyediakan output PWM
8-bit dengan menggunakan fungsi analogWrite().
•
SPI : Pin 50 (MISO), 51 (MISO), 52 (SCK), dan 53 (SS) mendukung
komunikasi SPI dengan menggunakan SPI Library.
•
LED : Pin 13. Pin 13 terhubung built-in led yang dikendalikan oleh digital
pin no 13. Set HIGH untuk menyalakan led, dan set LOW untuk
memadamkannya.
•
TWI : Pin 20 (SDA) dan pin 21 (SCL) yang mendukung komunikasi TWI
dengan menggunkaan Wire Library.
Arduino Mega 2560 R3 memiliki 16 buah input analog. Masing-masing
pin analog tersebut memiliki resolusi 10 bits (jadi bisa memiliki 1024 nilai).
Secara default, pin-pin tersebut diukur dari ground ke 5V, namun bisa juga
11
http://digilib.mercubuana.ac.id/
menggunkaan pin AREF dengan menggunakan fungsi analogReference().
Beberapa pin lainnya pada board ini adalah :
•
AREF. Sebagai referensi tegangan input analog.
•
Reset. Hubungkan ke LOW unutk melakukan reset terhadap mikrokontroler.
Sama dengan penggunaan tombol reset yang tersedia.
Arduino Mega R3 memiliki beberapa fasilitas untuk berkomunikasi dengan
komputer, berkomunikasi dengan Arduino lainnya, atau dengan mikrokontroler
lainnya. Chip ATmega2560 menyediakan komunikasi serial UART TTL(5V)
yang tersedia di pin 0 (RX)dan pin 1 (TX). Chip ATmega16U2 yang terdapat
board berfungsi menterjemahkan bentuk komunikasi ini melalui USB dan akan
tampil sebagai Virtual Port di komputer. Firware 16U2 menggunakan driver USB
standar sehingga tidak membutuhkan driver tambahan.
Pada Arduino Software (IDE) terdapat monitor serial yang memudahkan
data textual unutk dikirim menuju Arduino atau keluar dari Arduino. Led TX dan
RX akan menyala berkedip-kedip saat ada data yang akan ditrasmisikan melalui
chip USB to Serial via kabel USB ke komputer. Untuk menggunakan komunikasi
serial dari digital pin, gunakan SoftwareSerial library.
Chip ATmega2560 juga mendukung komunikasi I2C (TWI) and SPI. Di
dalam Arduino Software (IDE) sudah termasuk Wire Library unutk memudahkan
anda menggunakan bus 12C. Untuk menggunakan komunikasi SPI, gunakan SPI
Library.
2.3
Wifi Module ESP8266
ESP8266 adalah sebuah module wifi yang akhir-akhir ini digemari pada
hardware developer tentunya pada pembelajaran embedded system. Selain karena
harganya yang sangat terjangkau, module wifi serbaguna ini sudah bersifat SOC
(System on Chip), sehingga kita bisa melakukan programming langsung ke
ESP8266 tanpa memerlukan mikrokontroller tambahan. ESP8266 di kembangkan
oleh pengembang asal negeri tiongkok “Espressif”. Produk seri ESP8266 kini
masih terus dalam tahap pengembangan (current R&D:esp8266-32). ESP8266
sendiri sudah dilengkapip GPIO (General Purpose Input/Output), dengan adanya
GPIO ini kita bisa melakukan fugnsi input atau output layaknya sebuah
12
http://digilib.mercubuana.ac.id/
mikrokontroller. Kelebihan lain ESP8266 adalah memiliki Deep Sleep Mode,
sehingga penggunaan daya akan relative jauh lebih efisien dibandingkan dengan
modul wifi yang lain.
Gambar 2.3 Wifi Module ESP8266
Catatan penting yang harus di garis bawahi ialah, ESP8266 beroperasi pada
tegangan 3.3V. Berikut merupakan table data sheet pada wifi module esp8266.
Tabel 2.1 Data sheet pada wifi module esp8266
Label
Signal
VCC
3.3V(3.6V max) Supply Voltage
GND
Ground
TXD
Receive Data (3.3V level)
RXD
Receive Data (3.3V level!)
CH_PD Chip Power Down : (LOW = power down active
GPIO0
General Purpose I/O 0
GPIO2
General Purpose I/O 2
RST
Reset (reset=LOW active)
13
http://digilib.mercubuana.ac.id/
2.4
Thingpseak
Thingspeak merupakan platform IoT yang dibuat berbasis paa Matlab. Pada
platform ini user dapat dapat mengupload data sensor dari berbagai macam
development board yang ada. Data yang di upload pada thingspeak bisa dibuat
sebagai data pribadi ataupun data public. Data tersebut disajikan dalam bentuk
channel yang didalamnya terdapat visualiasi yang diolah oleh matlab. Untuk
menggunakan thingspeak saat ini masih tidak dikenakan biaya namun sensor yang
digunakan pun masih dibatasi.
Gambar 2.9 Topologi Arduino dan Thingspeak
2.5
Virtuino
Virtuino adalah aplikasi berbasis android yang dikembangkan ilias
Lamprou, dengan tujuan sebagai client side pada smartphone yang berbasis
android. Aplikasi ini mendukung sistem Monitoring Jarak Jauh hanya dengan
menggunakan media internet dengan webserver Thingspeak, di dalam aplikasi ini
kita dapat membuat suatu interface dan analog-analog yang di sajikan oleh aplikasi
ini, mulai dari value analog, chart, button, text dan lain-lainnya. Virtuino awalnya
14
http://digilib.mercubuana.ac.id/
di buat dengan tujuan menghubungkan Arduino dengan smartphone android
melalui Bluetooth, tetapi sekarang sudah lebih di perbarui lagi.
Gambar 2.10 Aplikasi Virtuino
2.6
Bahasa Pemrograman
Bahasa pemrograman adalah sebuah perintah atau instruksi standar untuk
komputer agar mempunnyai fungsi terntentu. Bahasa ini memungkinkan seorang
programmer dapat menentukan secara persis data mana yang akan diolah oleh
komputer, bagaimana data ini akan disimpan atau diteruskan, dan jenis langkah apa
secara persis yang akan diambil dalam berbagai kondisi atau situasi.
2.6.1
Bahasa Pemrograman C
C adalah model Bahasa perograman yang dikembangkan oleh Dennis
Ritchie pada tahun 1970 dengan tujuan pemakaian pada sistem operasi UNIX.
Hingga sekarang, Bahasa ini telah dipergunakan secara praktis pada hamper semua
sistem operasi. Bahasa C merupakan bahasa yang paling popular untuk menulis
sistem software dan aplikasi serta dalam pelajaran Komputer Sains.
Bahasa C adalah Bahasa yang lebih low-level dibandingkan dengan Bahasa
pemrograman lainnya. Terkadang disebut juga sebagai “High level-language”,
15
http://digilib.mercubuana.ac.id/
sebenarnya Bahasa C hanya leibh high-level dibandingkan dengan Bahasa
Assembly C memiliki dua keunggulan utama disbanding dengan assembly.
Pertama, kodenya lebih muda dibaca dan ditulis, terutama untuk program yang
panjang. Kedua, kode assembly biasanya hanya bisa diterapkan pada arsitektur
komputer tertentu saja, sedangkan program C dapat dipindahkan ke berbagai
arsitektur dimana compiler dan librarynya tersedia.
Efisiensi dari kode C sangatlah bergantung pada kemampuan dari compiler
untuk mengoptimasi bahasa mesin yang dihasilkan, dimana hal ini berada diluar
kendali programmer. Dan terdapat juga keunggulan dan kelemahan antara C dengan
bahasa high-level lainnya dimana efisiensi yang dihasilkan oleh kode C dapat
terkontrol hingga konsekuensinya adalah lebih sulit dibaca dan ditulis. Tapi perlu
dicatat bahwa C adalah bahasa tingkat tinggi yang portable, karena sampai saat ini
hamper semua arsitektur komputer menyediakan compiler C dan librarynya.
Fasilitas dari C yang perlu menjadi perhatian programmer adalah kemampuannya
dalam mengatur isi memori komputer. C Standar tidak menyediakan fasilitas array
bounds checking yang dengan mudah akan menyebabkan bug dalam kaitannya
dengan operasi memori, seperti buffer overflows, secaraa computer insecurity.
Menurut Hendra (2004) ada beberapa fasilitas bahasa pemrograman C antara lain.
1. Suatu babasa dengan (kernel) inti yang sederhana, dimana fungsifungsi yang kurang penting tersedia sebagai kumpulan pustaka
(library) yang distandarisasi.
2. Terfokus pada paradigm procedural, dengan fasilitas pemrograman
yang terstruktur.
3. Memiliki bahasa pre-processor.
4. Memiliki performance untuk semua operastor.
5. Akses secara low-level pada memori komputer melalui pointer.
6. Parameter selalu dilewatkan ke function secara by value, bukan by
reference.
2.6.2
Software Arduino IDE
Sehubungan dengan pembasahan untuk pemrograman Arduino IDE untuk
saat ini software Arduino yang akan di gunakan adalah driver dan IDE, walaupun
16
http://digilib.mercubuana.ac.id/
masih ada beberapa software lain yang sangat beguna selama pengembangan
Arduino.
Arduino IDE adalah software yang sangat inovatif yang ditulis dengan
menggunakan java. Arduino IDE terdiri dari :
•
Editor program, sebuah windows yang memungkinkan pengguna
menulis dan mengedit program dalam bahasa Processing.
•
Compiler, sebuah modul yang mengubah kode program (bahasa
processing
menjadi
kode
biner.
Bagaimanapun
sebuah
mikrokontroler tidak akann bisa memahami bahasa processing.
Yang bisa dipahami oleh mikrokontroler itu sendiri adalah kode
biner. Itulah sebabnya compiler diperlukan dalm hal ini.
•
Uploader, sebuah modul yang membuat kode biner dari kompuer ke
dalam memory dalam papan Arduino.
Gambar 2.11 Tampilan Arduino IDE
Pada gambar 2.11 Anda dapat meilihat toolbar IDE yang memberikan
akses instan ke fungsi-fungsi yang penting :
•
Dengan tombol Verify, anda dapat mengecek code program yang
saat ini di editor apakah terjadi syntax error atau tidak.
•
Tombol New menciptakan program baru dengan mengosongkan isi
dari jendela editor saat ini. Tetapi Arduino IDE memberikan opsi
unutk menyimpan semua perubahan yang belom disimpan.
17
http://digilib.mercubuana.ac.id/
•
Dengan Open anda dapat membuka program yang ada dari sistem
file.
•
Tombol Save menyimpan program saat ini.
•
Ketika anda mengklik tombol Upload. IDE mengkompilasi saat ini
program dan upload ke papan Arduino yang telah anda pilihh di
Arduino IDE menu Tools > Serial Port.
•
Arduino berkomunikasi dengan komputer melalui koneksi serial.
Mengklik tombol serial monitor membuka jendela serial monitor
yang memungkinkan anda dapat melihat anda yang dikirimkan oleh
Arduino dan juga unutk mengirim data kembali.
•
2.7
Tombol stop mengehentikan serial monitor.
Flowchart
Flowchart dalam Bahasa Indonesia diterjemahkan sebagai Diagram Alir.
Dari dua kata ini, maka dapat kita bayangkan bahwa flowchart itu berbentuk
diagram yang bentuknya dapat mengalirkan sesuatu. Hal ini memang benar,
flowchart memang melukiskan suatu aliran kegiatan dari awal hingga akhir
mengenai suatu langkah-langkah dalam penyelesaian suatu masalah. Masalah yang
kita pelajari tentu saja masalah pemrograman dengan menggunakan komputer,
tetapi secara logika dapat kita awali dengan mengamati permasalahan dalam
kehidupan sehari-hari kita. Contoh sederhananya adalah masalah membuat
secangkir kopi. Dalam membuat secangkir kopi, tentu saja diperlukan langkahlangkah yang berurutan agar hasilnya dapat sesuai dengan apa yang kita inginkan,
yaitu secangkir kopi. Demikian halnya dalam memprogram, diperlukan suatu
algoritma agar program yang kita buat dapat berjalan dan memberikan hasil yang
valid. (A. B. bin Ladjamudin, 2005).
18
http://digilib.mercubuana.ac.id/
Download