Input dan Output Bahasa Pemrograman Arduino

• Memiliki modul siap pakai shield yang bisa ditancapkan pada board Arduino, misalnya shield GPS, Ethernet, SD Card, dll.

2.3.5. Catu Daya

Arduino dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal.Sumber daya dipilih secara otomatis, sumber daya eksternal non-USB dapat berasal dari adaptor AC ke DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan Power Jack, dapat juga dihubungkan pada power pin Gnd dan Vin. Board Arduino UNO dapat beroperasi pada pasokan eksternal dari 6 sampai 20 volt.jika disuplay kurang 7 V, meskipun pin 5V dapat disuplay kurang dari 5V, board mungkin tidak stabil. Jikamenggunakan tegangan lebih dari 12V, regulator tegangan bisa panas dan merusak board.Kisaran tegangan yang disarankan adalah 7 sampai 12V. Adapun pin power suplay pada Arduino Uno adalah : • Vin. Tegangan input board Arduino ketika menggunakan sumber daya 5V dari sambungan USB atau dari sumber regulator lain. Kita dapat mensuplay tegangan pada pin ini, jika suplay tegangan lewat power jack, dapat mengakses melalui pin ini • 5V. Keluaran pin ini telah diatur sebesar 5V dari regulator pada board. Board dapat disuplay melalui DC jack power 7-12V, koneksi USB 5V, atau pin Vin 7-12V. Menyuplai tegangan melalui pin 5V atau 3.3V bypass regulator, dapat merusak board • 3v3. Suplay 3.3V dihasilkan oleh regulator pada board. Menarik arus maksimal 50mA • GND. Pin Ground

2.3.6. Input dan Output

Setiap pin digital pada board Arduino dapat digunakan sebagai input ataupun output. Dengan menggunakan fungsi pinMode, digitalWrite, dan digitalRead, pin-pin ini beroperasi pada tegangan 5V. Setiap pin mampu memberikan atau menerima arus maksimum dan memiliki resistor pull-up internal secara default tidak Universitas Sumatera Utara terhubung dari 20-5 kOhms. Selain itu, beberapa pin memiliki fungsi khusus, diantaranya : • Serial, 0RX dan 1 TX digunakan untuk menerima RX dan mengirimkan TX data serial TTL. Pin ini terhubung ke pin yang sesuai dengan chip ATmega8U2 USB to TTL serial. • Interupsi Eksternal, 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, tepi naik atau turun, atau perubahan nilai • PWM, 3,5,6,9,10 dan 11. Menyediakan 8 bit output PWM dengan fungsi analogWrite. • SPI, 10SS, 11MOSI, 12MISO, 13SCK. Pin ini mendukung komunikasi SPI menggunakan library SPI • LED, 13. Terdapat LED pin digital 13 pada board. ketika pin bernilai TINGGI HIGH, LED menyala ON, ketika pin bernilai RENDAH LOW, LED akan mati OFF • Uno memiliki 6 analog input tertulis di label A0 hingga A5, masing- masingnya memberikan 10 bit resolusi 1024. Secara asal input analog tersebut terukuru dari 0 ground sampai 5 volt, itupun memungkinkan perubahan teratas dari jarak yang digunakan oleh pin AREF dengan fungsi analogReference. • TWI: pin A4 atau pin SDA dan and A5 atau pin SCL. Support TWI communication menggunakan Wire library. Inilah pin sepasang lainnya di board UNO. • AREF. Tegangan referensi untuk input analog. digunakan fungsi analogReference. • Reset. Meneka jalur LOW untuk mereset mikrokontroler, terdapat tambahan tombol reset untuk melindungi salah satu blok.

2.3.7. Bahasa Pemrograman Arduino

Banyak Bahasa pemrograman yang biasa digunakan untuk pemrograman mikrokontroler.Misalnya Bahasa assembly, namun dalam pemrograman Arduino ini Universitas Sumatera Utara bahasa yang dipakai adalah Bahasa C. Bahasa C adalah Bahasa yang sangat lazim dipakai sejak awal computer diciptakan dan sangat berperan dalam perkembangan software. Bahasa C adalah multi-platfrom karena Bahasa C bisa diterapkan pada lingkungan Windows, Unix, Linux atau sistem operasi lain tanpa mengalmai perubahan source code, Kalaupun ada perubahan biasanya sangat minim. Karena Arduino menggunakan Bahasa C yang multi-platfrom, software Arduino pun bisa dijalankan pada semua sistem operasi yang umum. Terdapat banyak library Bahasa C yang bisa didapat.Setiap library Arduino biasanya disertai dengan contoh pemakaiannya.Keberadaan library-library ini bukan hanya membantu kita membuat proyek mikrokontroler, tetapi bisa dijadikan sarana untuk mendalami program Bahasa C pada mikrokontroler.Tampilan pemrograman Arduino dapat dilihat pada gambar 2.11.berikut ini. Gambar 2.11. Tampilan Pemrograman Arduino Dengan Software Arduino IDE Dimana pada gambar tersebut terdiri dari 3 bagian yaitu, • Bagian atas, yakni Toolbar, pada bagian ini juga terdapat menu file, edit, sketch, tools dan help Universitas Sumatera Utara • Bagian tengah, yaitu tempat penulisan kode program atau sketch • Bagian bawah berupa jendela pesan message windows atau tes konsul yang berisi status dan pesan error. Berikut ini adalah penjelasan singkat mengenai karakter bahasa C dan software Arduino, • Struktrur Setiap program Arduino biasa di sebut sketch mempunyai dua buah fungsi yang harus ada yaitu, - Void setup {}, semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program arduino dijalankan untuk pertama kalinya. - Void loop {}, fungsi ini akan dijalankan setelah setup fungsi void setup selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi dan lagi secara terus menerus sampai catu daya power dilepaskan • Syntax - Komentar satu baris, terkadang diperlukan untuk memberikan catatan pada apa arti dari kode-kode program yang dituliskan. cukup menuliskan dua buah garis miring, dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program - Komentar banyak baris, jika kita punya banyak catatan lebih dari 1 baris pada apa arti kode-kode program yang dituliskan, hal itu dapat dituliskan pada beberapa garis sebagai komentar. Semua hal yang terletak diantara kedua simbol tersebut akan diabaikan oleh program - {} Kurung kurawal, digunakan untuk mendefinisikan kapan blok program mulai dan berakhir digunakan juga pada fungsi dan pengulangan - ; Titik koma, setiap baris kode program harus diakhiri dengan titik koma. Jika ada titik koma yang hilang maka program tidak akan bisa dijalankan Universitas Sumatera Utara - Header file adalah library file yang telah tersedia di dalam Arduino. Library ini akan digunakan untuk membantu pemrograman berdasarkan perangkat yang digunakan. Sintaks penulisan dimulai dengan ”include” kemudian diikuti nama header library dengan diapit tanda””. Biasanya tampilan warnanya adalah oranye. • Variabel Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya. - int Integer, digunakan untuk menyimpan angka dalam 2 byte 16 bit. Tidak mempunyai angka desimal dan menyimpan nilai dari -32.768 dan 32.767. - long Long, digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte 32 bit dari memori RAM dan mempunyai rentang dari -2.147.483.648 dan 2.147.483.647 - boolean Boolean, variabel sederhana yang digunakan untuk menyimpan nilai TRUE benar atau FALSE salah. Sangat berguna karena hanya menggunakan 1 bit dari RAM - float Float, digunakan untuk angka desimal floating point. Memakai 4 byte 32 bit dari RAM dan mempunyai rentang dari -3,4028235E+38 dan 3,4028235E+38 - char Character, menyimpan satu karakter menggunakan kode ASCII mislanya ’A’ = 65. Hanya memakai 1 byte 8 bit dari RAM - Byte, angka antara 0 dan 255. Sama halnya dngan char, namun byte hanya menggunakan 1 byte memori - Unsignt int, sama dengan int. Menggunakan 2 byte tetapi unsign int tidak dapat digunakan untuk menyimpan angka negatif, batasnya dari 0-65,35 - Unsign long, sama dengan long. Namun unsign long tidak bisa menyimpan angka negtaif. Batasnya dari 0 sampai 4.294.967.295 - Double, Angka gana dengan presisi maksimum 1,7976931348623157 x 10 308 Universitas Sumatera Utara - String, digunakan untuk menyimpan informasi teks, dengan karakter ASCII, bisa menggunakan string untuk mengirim pesan via serial port, atau menampilkan teks pada layar LCD - Array, adalah kumpulan variabel degan tipe yang sama. setiapvariabel dalam kumpulan variabel tersebutterdapat elemen, dapat diakses mellaui indeks. Misalnya kta ingin menginisialisasi pin 3, pin 5, pin 6 dan pin 7, maka dengan menggunakan array menjadi int pints[] = [3, 5, 6, 7]; • Operator Matematika Bagian ini merupakan operator yang digunakan untuk memanipulasi angka bekerja seperti matematika yang sederhana, antara lain : - = sama dengan, membuat sesuatu menjadi sama dengan nilai yang lain. Misalnya x = 102, menyatakan bahwa x sekarang sama dengan 20 - persen, menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain. Misalnya 1210 ini akan menghasilkan angka 2 - + Penjumlahan - - Pengurangan - Perkalian - Pembagian • Operating Pembanding Digunakan untuk membandingkan nilai logika, seperti : - == Sama dengan misalnya 12 == 10 adalah FALSE salah atau 12 == 12 adalah TRUE benar - = Tidak sama dengan misalnya 12 = 10 adalah TRUE benar atau 12 = 12 adalah FALSE salah - Lebih kecil dari - Lebih besar dari • Struktur Pengaturan Program sangat bergantung pada pengaturan apa yang akan dijalankan Universitas Sumatera Utara berikutnya. Berikut ini adalah beberapa contoh elemen pengaturan. Masih banyak contoh yang lain yang bisa dicari di internet atau literatur lain, - if....else, if kondisi {} else if kondisi {} else {} Dengan struktur seperti di atas, program akan menjalankan kode yang ada didalam kurung kurawal jika kondisinya TRUE, dan jika tidak FALSE maka akan diperiksa apakah kondisi pada eles if,dan jika kondisinya FALSE maka kode pada else yang akan dijalankan - for, dengan format seperti berikut in, for int i = 0;i pengulangan; i++{} Digunakan bila kita ingin melakukan pengulangan kode didalam kurung kurawal beberapa kali ganti pengulangan dengan jumlah pengulangan yang diinginkan. melakukan perhtungan ke ata dengan i++ atau ke bawah dengan i- • Digital - pinModepin, mode, digunakan untuk menerapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19. Mode yang digunakan adalah INPUT atau OUTPUT - digitalWritepin, vlue, ketika sebuah pin diterapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH di tarik menjadi 5 volt atau LOW diturunkan menjadi ground • Analog Arduino adalah mesin digital, tetapi mempunyai kemampuan untuk beroperasi didalam alam analog. Berikut ini cara untuk menghadapi hal yang bukan digital. - analogWritepin, value, beberapa pin Arduino mendukung pin PWM Pulse Width Modulaion, yaitu pin 3,5,6,9,10,11. Ini dapat mengubah pin hidup on atau mati off dengan sangat cepat sehingga membuatnya dapat berfungsi Universitas Sumatera Utara layaknya keluaran analog. Value atau nilai pada format kode tersebut adalah angka antara 0 0 duty cycle ~0V dan 255 100 duty cycle ~5V - analogReadpin, ketika pin analog ditetapkan sebagai INPUT, kita dapat membaca keluaran voltasenya. Keluarannya berupa angka 0 untuk 0 volt dan 1023 untuk 5 volt 2.4.Sensor Cahaya Sensor cahaya adalah komponen elektronika yang dapat berfungsi mengubah suatu besaran optik cahaya menjadi besaran elektrik. Sensor cahaya berdasarkan perubahan elektrik yang dihasilkan dibagi menjadi 2 jenis yaitu, Photovoltaic : Yaitu sensor cahaya yang dapat mengubah perubahan besaran optik cahaya menjadi perubahan tegangan. Salah satu sensor cahaya jenis photovoltaic adalah solar cell. Photoconductive : Yaitu sensor cahaya yang dapat mengubah perubahan besaran optik cahaya menjadi perubahan nilai konduktansi dalam hal ini nilai resistansi. Contoh sensor cahaya jenis photoconductive adalah LDR, Photo Diode,Photo Transistor. Berikut ini penjelasan singkat mengenai jenis–jenis sensor cahaya yang sering digunakan dalam skala kecil.

2.4.1. LDR Light Dependent Resistor