• Tidak ada hasil yang ditemukan

BAB V. PENUTUP

5.2. Saran

Penulis menyadari bahwa alat ini masih sangat membutuhkan banyak pengembangan baik dari segi penggunaan dan sistem kerja, maka penulis mempunyai beberapa saran yakni :

1. Untuk kedepannya alat ini dapat dikembangkan lagi dengan menambahkan sensor kelembaban dan suhu, sehingga menambah informasi kondisi tanaman bagi petani.

2. Untuk kedepannya alat ini dapat dikembangkan lagi dengan menambahkan sistem pemupukan otomatis berdasarkan kondisi tanaman atau pun dengan penjadwalan.

BAB 2

LANDASAN TEORI

Dalam Bab ini penulis akan membahas tentang komponen- komponen yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan menyimpang dari topik utama laporan ini, maka setiap komponen hanya di bahas sesuai fungsinya pada masing- masing unitnya.

2.1. Pengenalan Tanah

Tanah adalah lapisan permukaan bumi yang secara fisik berfungsi sebagai tempat tumbuh dan berkembangnya perakaran penopang tegak tumbuhnya tanaman dan menyuplai kebutuhan air dan udara. Tanah terbentuk dari proses pelapukan batuan yang dibantu oleh organisme membentuk tekstur unik yang menutupi permukaan bumi. Proses pembentukan tanah ini akan membentuk lapisan-lapisan yang menutupi seluruh permukaan bumi.

Lapisan-lapisan yang terbentuk memiliki tekstur yang berbeda dan setiap lapisan akan mencerminkan proses-proses fisika, kimia dan biologi yang telah terjadi selama proses pembentukannya. Hans Jenny (1899-1992), seorang pakar tanah asal Swiss yang bekerja di Amerika Serikat, menyebutkan bahwa tanah terbentuk dari bahan induk yang telah mengalami modifikasi/pelapukan akibat dinamika faktor iklim, organisme (termasuk manusia), dan relief permukaan bumi (topografi) seiring dengan berjalannya waktu.

2.1.1 Tanah Kompos

Tanah kompos adalah hasil dekomposisi bahan-bahan organik (tanaman, sisa bangkai binatang) yang diurai oleh mikroorganisme di dalam tanah. Prosesnya disebut juga pengomposan. Proses dekomposisi ini dapat dipengaruhi oleh berbagai faktor. Misalnya penambahan mikroorganisme pengurai dan penyesuaian lingkungan yang dilakukan dengan tujuan untuk mempercepat proses penguraian/dekomposisi. Hal ini tentunya dilakukan atas campur tangan manusia, bentuk fisik tanah kompos dapat dilihat pada Gambar 2.1.

Manfaat tanah kompos bagi pertanian, yaitu : 1. Meningkatkan kesuburan tanah

2. Memperbaiki struktur dan karakteristik tanah 3. Meningkatkan kapasitas penyerapan air oleh tanah 4. Meningkatkan aktivitas mikroba tanah

5. Meningkatkan kualitas hasil panen (rasa, nilai gizi, dan jumlah panen) 6. Menyediakan hormon dan vitamin bagi tanaman

7. Menekan pertumbuhan/serangan penyakit tanaman 8. Meningkatkan retensi/ketersediaan hara di dalam tanah.

2.1.2 Kelembaban Tanah

Kelembaban tanah adalah air yang mengisi sebagian atau seluruh pori – pori tanah yang berada di atas water table (Jamulya dan Suratman, 1993). Definisi yang lain menyebutkan bahwa kelembaban tanah menyatakan jumlah air yang tersimpan di antara pori – pori tanah. kelembaban tanah sangat dinamis, hal ini disebabkan oleh penguapan melalui permukaan tanah, transpirasi dan perkolasi (Suyono dan Sudarmadil, 1997). Kelembaban tanah memiliki peranan yang penting bagi pemerintah untuk mengetahui informasi seperti potensi aliran permukaan dan pengendali banjir, kegagalan erosi tanah dan kemiringan lereng, manajemen sumber daya air, geoteknik, dan kualitas air. Kelembaban tanah merupakan salah satu variabel kunci pada perubahan dari air dan energi panas di antara permukaan dan atmosfer melalui evaporasi dan transpirasi (Arnold, 1999).

Untuk mengetahui kadar kelembaban tanah dapat digunakan banyak macam teknik, diantaranya dapat dilakukan secara langsung melalui pengukuran perbedaan berat tanah (disebut metode gravimetri) dan secara tidak langsung melalui pengukuran sifat-sifat lain yang berhubungan erat dengan air tanah (Gardner, 1986). Metode langsung secara gravimetri memiliki akurasi yang sangat tinggi namun membutuhkan waktu dan tenaga yang sangat besar. Kebutuhan akan metode yang cepat dalam memonitor fluktuasi kadar air tanah menjadi sangat mendesak sebagai jawaban atas tingginya waktu dan tenaga yang dibutuhkan oleh metode gravimetri.

Dua metode penetapan kadar air tanah secara tidak langsung yang sudah banyak dikenal adalah melalui pengukuran sebaran neutron dan pengukuran waktu hantaran listrik di dalam tanah (time domain reflectrometry, TDR). Prinsip

kerja kedua metode tersebut adalah pengukuran dinamika sebaran neutron atau waktu hantaran listrik di dalam tanah akibat adanya sejumlah air (Nadler et al., 1991). Kendala yang dihadapi dalam memanfaatkan neutron probe dan TDR untuk memonitor fluktuasi kadar air tanah adalah harga kedua alat tersebut yang sangat mahal. Oleh sebab itu, perlu dilakukan penelitian tentang sifat-sifat tanah lain yang dapat diukur sebagai penduga kadar air tanah.

Penelitian yang dilakukan Hermawan et al. (2000) menemukan adanya hubungan yang erat antara sifat-sifat dielektrik tanah seperti konduktivitas, kapasitansi dan impendensi listrik pada suatu media berpori dengan kadar air. Kontribusi air tanah terhadap keragaman air tanah terhadap keragaman nilai impendensi listrik, misalnya jauh lebih besar dibandingkan kontribusi dari kepadatan tanah yang sebenarnya menjadi aspek utama dari penelitian tersebut. Air tanah cenderung meningkat dan sebaliknya udara di dalam pori cenderung menghambat laju konduktivitas listrik di dalam tanah, laju konduktivitas menurun dengan semakin rendahnya kadar air tanah (Kittel,1991). Fenomena tersebut sejalan dengan teori hubungan dielektrik dan air tanah yang dikembangkan Friendman (1997).

2.2. Irigasi

Irigasi adalah usaha penyediaan dan pengaturan air untuk menunjang pertanian. Semua proses kehidupan di dalam tanah merupakan tempat media pertumbuhan tanaman hanya dapat terjadi apabila ada air. Proses utama yang menciptakan kesuburan tanah atau sebaliknya yang mendorong degradasi tanah hanya dapat berlangsung apabila terdapat air.

Irigasi berarti mengalirkan air secara buatan dari sumber air yang tersedia kepada sebidang lahan untuk memenuhi kebutuhan tanaman. Dengan demikian tujuan irigasi adalah mengalirkan air secara teratur sesuai kebutuhan tanaman pada saat persediaan lengas tanah tidak mencukupi untuk mendukung pertumbuhan tanaman, sehingga tanaman bisa tumbuh secara normal. Pemberian air irigasi yang efisien selain dipengaruhi oleh tatacara aplikasi, juga ditentukan oleh kebutuhan air guna mencapai kondisi air tersedia yang dibutuhkan tanaman.

2.3 Mikrokontroler

Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output. Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.

Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.

Arduino merupakan kit mikrokontroler yang bersifat Open-Source baik perangkat keras maupun perangkat lunaknya. Perangkat keras yang diprogram menggunakan bahasa pemrogaman berbasis Wiring menyerupai C++ dengan

beberapa penyederhanaan dan modifikasi. Untuk perangkat lunak IDE yang dibangun berbasis Proccessing. Arduino ditemukan dan dikembangkan pertama kali di Ivrea, italia oleh Massimo Banzi dan David Cuertilles.

Ide terciptanya Arduino didasari dari mahalnya komponen perangkat keras elektronik yang tersedia. Hal ini menjadi penghambat utama para mahasiswa dan pelajar dalam bereksplorasi. Selain harga yang murah, kemudahan dan fleksibilitas penggunaan menjadi pertimbangan oleh pengguna-pengguna Arduino masa kini. Pengguna tidak lagi terkendala waktu untuk mendalami elektronika dan mikrokontroler. Pengguna juga tidak akan disulitkan dalam merancang suatu sistem eletktronika karena banyak komunitas yang menyediakan tutorial proyek berbasis Arduino secara gratis di dunia maya.

Munculnya Arduino menjadikannya sebagai tren teknologi yang revolusioner. Arduino terbuka untuk semua orang yang ingin mengembangkan suatu sistem interaktif berbasis mikrokontroler, baik untuk kalangan mahasiswa, pelajar, profesional bahkan pemula sekalipun.

Pengguna dapat memiliki Arduino sesuai kebutuhannnya karena Arduino dibuat dalam beberapa jenis diantaranya yaitu Arduino Diecimila, Duemilanove, UNO, Lenardo, Mega, Nano, Due, Yun dan berbagai jenis Arduino lainnya.

2.3.1 Arduino Leonardo

Arduino Leonardo adalah papan mikrokontroler berbasis ATmega32u4, seperti yang tampak pada Gambar 2.2. Arduino Leonardo memiliki 20 digital pin input/output (yang mana 7 pin dapat digunakan sebagai output PWM dan 12 pin sebagai input analog), 16 MHz kristal osilator, koneksi micro USB, jack power

suplai tegangan, header ICSP, dan tombol reset. Ini semua yang diperlukan untuk mendukung mikrokontroler. Cukup dengan menghubungkannya ke komputer melalui kabel USB atau power dihubungkan dengan adaptor AC-DC atau baterai untuk mulai mengaktifkannya.

Leonardo berbeda dari semua papan Arduino yang lainnya karena ATmega32u4 secara terintegrasi (built-in) telah memiliki komunikasi USB, sehingga tidak lagi membutuhkan prosesor sekunder (tanpa chip ATmega16U2 sebagai konverter USB-to-serial).

Hal ini memungkinkan Arduino Leonardo yang terhubung ke komputer digunakan sebagai mouse dan keyboard, selain bisa digunakan sebagai virtual (CDC) serial/COM port. Adapun spesifikasi singkat mengenai Arduino Leonardo adalah sebagai berikut :

1. Mikrokontroler : ATmega32U4

2. Kapasitas memori program / Flash Memory : 32 KB (4 KB sudah digunakan untuk bootloader)

3. Kapasitas SRAM : 2,5 KB

4. Kapasitas NVRAM/ EEPROM: 1 KB (dapat diakses menggunakan

5. Kecepatan detak : 16 MHz 6. Tegangan Operasional : 5V (TTL) 7. Tegangan Catu Daya : 7 - 12 Volt

(sekurang-kurangnya 6V, maksimum 20V) 8. Jumlah pin digital I/O : 20 pin

10. Jumlah pin masukan analog (ADC) : 12 kanal

11. Maksimum arus per pin : 40 mA

12. Maksimum arus yang dapat ditarik dari pin 3v3 : 50 mA

Gambar 2.2 Arduino Leonardo

Arduino Leonardo dalam penelitian ini telah dikemas dalam satu papan modul bernama WiDO bersamaan dengan modul WiFi seperti yang ditunjukkan oleh Gambar 2.3 sehingga papan modul ini memudahkan proses integrasi modul WiFi dengan Mikrokontroller Arduino.

2.3.2 Pemetaan Pin Arduino Leonardo

Mikrokontroler yang digunakan pada Arduino Leonardo ini adalah Mikrokontroler ATMega32U4. Mikrokontroler ini menjadi komponen utama dari sistem minimum Arduino Leonardo. Setiap pin mikrokontroler ATMega32U4 dipetakan sesuai dengan kebutuhan standarArduino pada umumnya. Pemetaan pin (pin mapping) ATMega32U4 dapat dilihat pada Gambar 2.3 dan Tabel 2.1.

Tabel 2.1 Daftar Pin Arduino Leonardo

Nomor Pin Nama Pin Pemetaan Nama Pin

1 PE6 (INT.6/AIN0) Digital pin 7

2 UVcc +5V 3 D- RD- 4 D+ RD+ 5 UGnd UGND 6 UCap UCAP 7 VUSB VBus 8 (SS/PCINT0) PB0 RXLED 9 (PCINT1/SCLK) PB1 SCK 10 (PDI/PCINT2/MOSI) PB2 MOSI 11 (PDO/PCINT3/MISO) PB3 MISO 12 (PCINT7/OCA0/OC1C/#RTS) PB7 Digital pin 11 (PWM) 13 RESET RESET 14 Vcc +5V 15 GND GND 16 XTAL2 XTAL2 17 XTAL1 XTAL1 18 (OC0B/SCL/INT0) PD0 Digital pin 3 (SCL)(PWM)

Nomor Pin Nama Pin Pemetaan Nama Pin

19 (SDA/INT1) PD1 Digital pin 2 (SDA)

20 (RX D1/AIN1/INT2) PD2 Digital pin 0 (RX)

21 (TXD1/INT3) PD3 Digital pin 1 (TX)

22 (XCK1/#CTS) PD5 TXLED

23 GND1 GND

24 AVCC AVCC

25 (ICP1/ADC8) PD4 Digital pin 4

26 (T1/#OC4D/ADC9) PD6 Digital pin 12 27 (T0/OC4D/ADC10) PD7 Digital Pin 6 (PWM)

28 (ADC11/PCINT4) PB4 Digital pin 8

29 (PCINT5/OC1A/#OC4B/ADC12) PB5 Digital Pin 9 (PWM) 30 (PCINT6/OC1B/OC4B/ADC13) PB6 Digital Pin 10 (PWM)

31 (OC3A/#0C4A) PC6 Digital Pin 5 (PWM) 32 (ICP3/CLK0/)C4A) PC7 Digital Pin 13 (PWM)

33 (#HWB) PE2 HWB 34 Vcc1 +5V 35 GND2 GND 36 (ADC7/TDI) PF7 Analog In 0 37 (ADC6/TDO) PF6 Analog In 1 38 (ADC5/TMS) PF5 Analog In 2 39 (ADC4/TCK) PF4 Analog In 3 40 (ADC1) PF1 Analog In 4 41 (ADC0) PF0 Analog In 5 42 AREF AEF 43 GND3 GND 44 AVCC1 AVCC

Gambar 2.4 Pemetaan Pin Arduino Leonardo

2.3.3 Memori

ATmega32u4 memiliki memori sebesar 32 KB (4 KB digunakan untuk bootloader). Juga memiliki 2,5 KB SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan perpustakaan EEPROM).

2.3.4 Pin Input dan Output

Pada Arduino Leonardo, 20 pin digital I/O dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Mereka beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki resistor pull-up internal sebesar 20-50 kOhm yang terputus secara default. Selain itu, beberapa pin memiliki fungsi khusus, yaitu:

1. Serial : Pin 0 (RX) dan pin 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial TTL menggunakan hardware ATmega32U4 yang memiliki kemampuan serial didalamnya. Perhatikan bahwa pada Leonardo, kelas Serial mengacu pada komunikasi USB (CDC); untuk TTL serial pada pin 0 dan 1, menggunakan kelas Serial 1.

2. TWI : Pin 2 (SDA) dan pin 3 (SCL). Dukungan komunikasi TWI menggunakan perpustakaan Wire.

3. Eksternal Interupsi : Pin 3 (interrupt 0), pin 2 (interrupt 1), pin 0 (interrupt 2), pin 1 (interrupt 3) dan pin 7 (interrupt 4). Pin ini dapat dikonfigurasi untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau menurun, atau merubah nilai.

4. PWM : Pin 3, 5, 6, 9, 10, 11, dan 13. Menyediakan 8-bit output PWM dengan fungsi analogWrite().

5. SPI : Pin pada header ICSP ini mendukung komunikasi SPI menggunakan perpustakaan SPI. Perhatikan bahwa pin SPI tidak terhubung ke salah satu pun pin digital I/O karena yang terhubung langsung hanya pada Arduino Uno, Mereka hanya menyediakan konektor ICSP.

Ini berarti bahwa jika Anda memiliki shield yang menggunakan SPI, tetapi tidak terdapat 6 pin konektor ICSP yang terhubung ke 6 pin ICSP header Leonardo, maka shield tidak akan bekerja.

6. LED : Pin 13. Tersedia secara built-in pada papan Arduino ATmega2560. LED terhubung ke pin digital 13. Ketika pin diset bernilai HIGH, maka LED menyala (ON), dan ketika pin diset bernilai LOW, maka LED padam (OFF).

7. Input Analog : Pin A0-A5, Pin A6 - A11 (pada pin digital 4, 6, 8, 9, 10, dan 12). Leonardo memiliki 12 input analog, berlabel A0 sampai A11, yang semuanya juga dapat digunakan sebagai digital I/O. Pin A0-A5 terdapat di lokasi yang sama seperti pada Arduino Uno; Pin input A6-A11 masing-masing ada pada digital I/O pin 4, 6, 8, 9, 10, dan 12. Masing-masing pin 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 pin AREF dan fungsi analogReference().

Masih ada beberapa pin lainnya pada Arduino Leonardo, yaitu:

1. AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi analogReference().

2. RESET : Jalur LOW ini digunakan untuk me-reset (menghidupkan ulang) mikrokontroler. Jalur ini biasanya digunakan untuk menambahkan tombol reset pada shield yang menghalangi papan utama Arduino.

2.3.5. Sumber Daya

Arduino Leonardo dapat diaktifkan melalui koneksi USB mikro atau dengan catu daya eksternal. Sumber daya dipilih secara otomatis. Sumber daya Eksternal (non-USB) dapat berasal baik dari adaptor AC-DC atau baterai. Adaptor dapat dihubungkan dengan mencolokkan steker 2.1 mm denan pusat-positif ke jack power pada papan. Sumber tegangan dari baterai dapat dihubungkan ke header pin Gnd dan Vin pin sebagai konektor sumber daya tegangan papan.

Papan Arduino Leonardo dapat beroperasi dengan pasokan daya eksternal 6 Volt sampai 20 volt. Jika diberi tegangan kurang dari 7 Volt, maka, pin 5 Volt mungkin akan menghasilkan tegangan kurang dari 5 Volt dan ini akan membuat papan menjadi tidak stabil. Jika sumber tegangan menggunakan lebih dari 12 Volt, regulator tegangan akan mengalami panas berlebihan dan bisa merusak papan. Rentang sumber tegangan yang dianjurkan adalah 7 Volt sampai 12 Volt. Pin tegangan yang tersedia pada papan Arduino Leonardo adalah sebagai berikut:

1. VIN : Adalah input tegangan untuk papan Arduino ketika menggunakan sumber daya eksternal (sebagai ‘saingan’ tegangan 5 Volt dari koneksi USB atau sumber daya ter-regulator lainnya). Anda dapat memberikan tegangan melalui pin ini, atau jika memasok tegangan untuk papan melalui jack power, kita bisa mengakses/mengambil tegangan melalui pin ini. 2. 5V : Tegangan listrik ter-regulator yang digunakan untuk daya

dapat menggunakan pin VIN melalui regulator on-board, atau dipasok oleh USB atau power suplai lain dengan besar tegangan 5V ter-regulator.

3. 3V3 : Sebuah pin yang menghasilkan tegangan 3,3 Volt. Tegangan ini dihasilkan oleh regulator yang terdapat pada papan (on-board). Arus maksimum yang dihasilkan adalah 50 mA.

4. GND : Pin Ground atau Massa.

5. IOREF: Pin ini pada papan Arduino berfungsi untuk memberikan referensi tegangan yang beroperasi pada mikrokontroler (atau VCC untuk papan). Pin ini bertegangan 5V pada Leonardo.

2.3.6. Arduino IDE

Arduino leonardo dapat diprogram dengan perangkat lunak Arduino. IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java. Pada Gambar 2.4 IDE Arduino terdiri dari:

1. Editor program, sebuah window yang memungkinkan pengguna menulis

dan mengeditprogram dalam bahasa processing.

2. Compiler, sebuah modul yang mengubah kode program (bahasa

processing) menjadi kode biner. Bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa processing. Yang bisa dipahami oleh mikrokontroler adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini.

3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memory didalam papan Arduino.

Sebuah kode program Arduino umumnya disebut dengan istilah sketch. Kata “sketch” digunakan secara bergantian dengan “kode program” dimana keduanya memiliki arti yang sama.

Gambar 2.5 Tampilan Arduino IDE

2.4. Komunikasi Serial

Kemampuan untuk bisa melakukan komunikasi data antara 2 atau lebih peralatan elektronik adalah hal yang sangat penting yang harus dimiliki oleh sebuah mikrokontroler. Dan yang lebih penting lagi, kemampuan komunikasi tersebut tidak boleh sampai mengurangi fungsi dari mikrokontroler itu sendiri. Ada 2 jenis komunikasi data yang bisa dilakukan oleh mikrokontroler, yaitu komunikasi parallel dan komunikasi serial. Komunikasi parallel memiliki kelebihan dari sisi kecepatan transfer data, namun efisiensi penggunaan pin dari mikrokontroler juga menjadi berkurang.

Saat ini ada banyak jenis kemampuan komunikasi serial yang dimiliki oleh mikrokontrole, terutama oleh mikrokontroler arduino. Arduino Leonardo, memiliki 4 buah port komunikasi serial yang bisa digunakan oleh user. Semua

port komunikasi serial ini bisa digunakan secara independen, artinya bisa digunakan satu per satu ataupun digunakan keseluruhan secara bersama.

Komunikasi serial yang dimiliki oleh arduino bisa kita manfaatkan untuk berkomunikasi dengan Personal Computer, Bluetooth Modul, Wifi atau bahkan dengan Arduino yang lain. Yang perlu menjadi catatan utama adalah, jika port dari arduino mikrokontroler sudah difungsikan sebagai sarana komunikasi serial, maka port tersebut tidak dapat difungsikan sebagai port input/output digital.Ada 5 Fungsi utama dalam proses komunikasi serial oleh Arduino :

1. Fungsi Transmit Data –> lebih dikenal dengan fungsi Tx 2. Fungsi Receiving Data –> lebih dikenal dengan fungsi Rx 3. Fungsi Grounding System Komunikasi Serial –> Atau GND 4. Kecepatan Transfer Data –> lebih dikenal dengan Baudrate.

5. Format Data –> biasa digunakan 8 bit data, No Parity, dan 1 bit untuk stop bit

Sebelum menjalankan perintah pengiriman data, maka pengguna diharuskan untuk melakukan setting dari baudrate. Karena baudrate yang berbeda antara 2 peralatan komunikasi, akan menyebabkan sistem menerima data yang salah. Secara default hampir keseluruhan mikrokontroler menggunakan format komunikasi serial dengan data 8 bit data, No Parity, dan 1 bit untuk stop bit.Software Arduino, menyediakan perintah khusus untuk prosess setting baudrate yaitu :Serial.begin(9600);maka software Arduino akan menterjemahkan perintah tersebut menjadi :

1. Baudrate komunikasi serial adalah 9600 bps 2. 8 bit data, No Parity, 1 bit stop

2.4.1. Perintah Mengirim Data

Ada 3 jenis perintah untuk proses pengiriman data dalam Arduino yaitu : 1. print();

2. println(); 3. write();

Perintah print() dan println() hampir sama fungsi, hanya saja perintah prinln() dilengkapi dengan carriage return dan baris baru pada akhir pengiriman atau yang lebih dikenal dengan linefeed dan new line command. Sedangkan perintah write() sudah hampir tidak pernah digunakan. Anda dapat menambahkan parameter didalam kurung dari masing-masing perintah tersebut, seperti data yang akan dikirim ataupun isi dari variable data yang akan dikirim melalui port serial.

2.4.2. Perintah Menerima Data

Untuk menerima data/mengambil data yang ada di Buffer serial dari Arduino, bisa menggunakan 2 perintah berikut :

1. read(); 2. readbytes();

Perintah read() biasa digunakan jika data yang akan diambil bertipe data string, sedangkan perintah readbyte digunakan jika data bertipe bilangan dengan tipe data byte. Anda bisa menambahkan variable data dalam perintah ini untuk mengidentifikasi serial port yang akan baca datanya.

2.4.3. Perintah Recheck Data

Selain perintah mengirim dan menerima data, Arduino juga menyediakan perintah untuk recheck apakah data yang diinginkan siap diambil di Buffer serial ataukah tidak. Perintah tersebut antara lain adalah :

1. available(); 2. find();

2.5. Bahasa Pemograman C

Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C. Dalam beberapa literature, bahasa C digolongkan bahasa level menengah karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa rendah.

Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa C. Pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++ (diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah pengembangan dari bahasa C. Bahasa C++ mendukung konsep pemrograman berorientasu objek dan pemrograman berbasis windows.

Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja.

Hal ini karena di C++ sebuah prosedur pada dasanyaadalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ini masih populer dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame.

Arduino sendiri menggunakan bahasa C, walaupun banyak sekali terdapat bahasa pemrograman tingkat tinggi (high level language) seperti pascal, basic,cobol, dan lainnya.Para programer profesional masih tetap memilih bahasa C sebagai bahasa yang lebih unggul, berikut alasan-alasannya:

1. Bahasa C merupakan bahasa yang powerful dan fleksibel yang telah terbukti dapat menyelesaikan program-program besar seperti pembuatan sistem operasi, pengolah Gambar (seperti pembuatan game) dan juga pembuatan kompilator bahasa pemrograman baru.

2. Bahasa C merupakan bahasa yang porTabel sehingga dapat dijalankan di beberapa sistem operasi yang berbeda. Sebagai contoh program yang kita tulis dalam sistem operasi windows dapat kita kompilasi didalam sistem operasi linux dengan sedikit ataupun tanpa perubahan sama sekali.

Dokumen terkait