1. PENDAHULUAN
Jika biasanya untuk memahami, mengetahui atau mempelajari sebuah program dimulai dari mempelajari dan mengingat teori-teori lalu kemudian diaplikasikan atau dipraktekan dengan membuat sebuah project maka pada kesempatan ini kita akan menggunakan metode dengan pendekatan yang berbeda. Justru sebaliknya, pada kesempatan ini kita akan membuat sebuah project dari mulai membuat sebuah program, melakukan interfeacing atau merangkai rangkaian hingga mengamati hasil dari kegiatan tersebut terlebih dahulu, kemudian barulah kita menganalisis dan mencoba memahaminya baik itu dari segi bahasa pemrograman, interfeacing (input/output) maupun dari segi rangkaian atau hardware.
2. PROGRAM DASAR LED BERKEDIP (LED BLINKING)
2.1. Persiapan Untuk Membuat Project LED Blingking

· Alat yang diperlukan jika menggunakan Breadboard
Ø Arduino Nano (BELI DISINI>>)
Ø PC atau Laptop
Ø Kabel Jumper (BELI DISINI>>)
Ø LED (Warna Disesuaikan) (BELI DISINI>>)
Ø Resistor 220 Ohm (BELI DISINI>>)
Ø Bread Board (BELI DISINI>>)
· Merangkai (Wiring) Pada Breadboard
2.2. Program
/* ====================================================By : CNC_STORE_BANDUNGwww.cncstorebandung.com====================================================*/ int R = 13; // pemberian nama dan inisialisasi untuk LED pada Pin Digital 13 void setup(){ pinMode(R, OUTPUT); //Menyeting “R” Sebagai Output} void loop(){ digitalWrite (R, HIGH); //Menyalakan LED delay(1000); //Jeda sebayak 1000 mili second (1 detik) digitalWrite (R, LOW); //Mematikan LED delay(1000); //Jeda sebayak 1000 mili second (1 detik)} |
· Hasil
Hasil dari project ini yaitu akan membuat LED berkedip dalam durasi satu detik. Durasi kedipan LED didapat dari besaran “delay(1000);” dimana besaran tersebut adalah jumlah waktu dalam mili detik. Pemasangan LED harus diperhatikan polaritasnya, dimana aki yang panjang mengarah ke kutup Positif (+), sedangkan kaki yang pendek atau kaki pada permukaan LED yg datar, mengarah ke kutub negatif (-).
2.3. Analisis Program
Jika kita amati sketch tersebut kita akan melihat beberapa element pada bahasa pemrograman Arduino seperti berikut ini:
Ø // (komentar satu baris)
Tanda ini berfungsi untuk menuliskan komentar. Hal ini berguna untuk memberikan keterangan atau arti dari kode yang kita buat, ini akan sangat membantu untuk mengingat terlebih jika program yang kita buat sangat banyak. Apapun yang ditulis di belakang tanda tersebut akan diabaikan pada proses upload. Lalu bagaimana jika komentar kita lebih dari satu baris dengan menggunakan tanda ini (//)? Untuk menjawabnya mengapa kita tidak mencobanya saja? Kemudian silahkan simpulkan dari hasil percobaan tersebut.
· /* */ (komentar banyak baris)
Jika pembuat program memiliki banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak diantara dua simbol tersebut akan diabaikan oleh program.
· { } (kurung kurawal atau curly braces)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).
· ; (titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan, untuk membuktikannya silahkan coba hapus dan upload lalu amati yang terjadi).
· Type Data Untuk Variable
Pada bagian inisialisasi yaitu pada bagian “int R = 13;“ sketch ini menggunakan type data integer untuk variabel “R” (R adalah nama yg diberikan untuk lampu LED yang kita gunakan) dan dinyatakan akan dirangkai atau dihubungkan dengan digital pin Digital13 (D13).
· Structure Program
Analisis lebih lanjut kini kita menginjak pada struktur program, dimana pada sketch ini terdapat dua bagian utama program void yaitu “void setup() “ dan “void loop()” dimana bagian tersebut memiliki fungsi masing-masing sebagai berikut:
Ketika Anda pertama kali membuka Arduino IDE, maka secara otomatis akan muncul sketch seperti berikut:

Fungsi void setup() dan fungsi voidloop() merupakan fungsi wajib dan harus ada. Fungsi setup() digunakan untuk inisialisasi program, fungsi ini hanya dijalankan sekali yaitu ketika program pertama kali dijalankan (ketika arduino pertama kali dihidupkan). Sedangkan fungsi loop() akan dijalankan terus-menerus (looping forever) hingga Arduino dimatikan.
Program di atas sudah bisa diupload ke Arduino dengan cara meng-klik tombol Upload. Hanya saja, ketika program tersebut diupload, Arduino tidak akan melakukan apa-apa sebab dalam sketch tersebut memang tidak ada perintah yang harus dikerjakan.
Mari kembali pada program LED Blink dan perhatikan Program yang telah kita buat tersebut.

Fungsi pinMode() memberi tahu bahwa pinLED adalah Output. Dengan demikian mikrokontroller tidak akan “membaca” logika pin tersebut, akan tetapi dia hanya akan “menulis” logika pada pin tersebut. Dengan kata lain, jika kita ingin mendefinisikan bahwa pin ini adalah input, maka kita tinggal mengubah OUTPUT menjadi INPUT.
Baris program ini akan memerintahkan pin yang digunakan “R” yaitu pin “13” diseting sebagai output, dan untuk menyeting ini maka Arduino Uno akan melakukan eksekusi sekali dengan memberikan tegangan output pada pin tersebut sesaat setelah program diuplod pada Arduino Uno. Lalu apa yang dimaksud dengan “OUTPUT” itu sendiri? Lalu apa perbedaan statement output dan input? Darimana kita tau bahwa Arduino memang mengeksekusi sebanyak satu kali program pada bagian void setup tersebut?
Yang dimaksud dengan “ OUTPUT ” yang ditulis tersebut yaitu sebuah perintah agar mikrokontroler mengeluarkan tegangan output (besar tegangan output pada mikrokontroler adalah sebasar +5V), sedangkan perbedaannya dengan statement “INPUT” yaitu pada perintah ini justru sebaliknya, yaitu perintah agar mikrokontroler membaca tegangan yang masuk (tegangan input maksimum adalah sebesar +5V) untuk di proses pada perintah selanjutnya. Untuk mengetahui apakah memang benar Aduino Uno akan mengeksekusi atau menjalankan program pada bagian Void setup, kita bisa mengamatinya secara langsung dan silahkan mencobanya dengan mengupload sketch tersebut. Ketika sesaat sketch diupload maka led akan menyala sebanyak satu kali.

Baris ini adalah inti dari program yang akan dieksekusi selama Arduino tersambung dengan listrik atau selama Arduino tidak direset. pinLED diset HIGH berarti LED akan diberi tegangan 5 volt, sedangkan LOW berarti LED akan diberi tegangan 0 volt. Oleh sebab itu, rangkaian LED di atas akan menyala ketika diberi HIGH dan akan mati ketika diberi LOW.Fungsi delay() digunakan untuk berhenti selama sekian milidetik. Karena 1 detik = 1000 milidetik, maka pemberian nilai 1000 berarti Arduino akan jeda selama 1 detik ketika LED nyala dan 1 detik ketika LED padam.
Lalu bagaimana jika program yang Anda coba tidak berjalan dan error? Begini, ada beberapa yang perlu diperhatikan ketika Anda memprogram:
Ø Penulisan sketch itu case sensitive, artinya, tulisan “pinLED” tidak sama dengan “PinLED”. Jika terjadi error, coba perhatikan apakah ada penulisan yang keliru?
Ø Jika Anda copy-paste sketch dari file PDF ke Arduino IDE, maka kemungkinan akan ada perubahan whitespace (spasi, tab, blank line). Jika spasi tergantikan denan karakter tab atau blank line, maka sketch akan error. Silakan Anda cek setiap spasi, jika ukuran space-nya berbeda dengan spasi yang lain, silakan dihapus dan ganti dengan spasi.
Ø Setiap blok kode harus diapit dengan kurung kurawal ‘{’ dan‘}’. Jika kurungnya kurang satu, maka akan error.
Ø Setiap ada kurung buka ‘(’, harus ada kurung tutup ‘)’. Jadi jika ternyata kurungnya kurang, itu bisa menyebabkan error.
Ø Penulisan angka tanpa embel-embel koma. Misal Anda ingin menulis 1000, maka tidak perlu menulis dengan 1,000 atau 1.000. Penulisan dengan 1,000 akan terjadi error, sedangkan jika Anda menulis dengan 1.000 akan dianggap 1, bukan 1000.
Ø Setiap baris kode akan ditutup dengan titik koma (semicolon) ‘;’, kecuali di akhir block kode yang ditutup dengan kurung kurawal ‘}’.
3. Analisis HardwareLED Blinking
Ø Resistor
Arus yang diperlukan untuk menghasilkan cahaya yang paling terang pada jenis LED Super Bright dan LED Ultra Bright adalah sebesar 0.02A, untuk itu kita perlu menggunakan sebuah resistor agar arus yang mengalir pada LED tidak melebihi 0.02A.
Yang menjadi pertanyaan adalah “Berapakah nilai resistor yang diperlukan?”, Nah perhitungannya adalah sebagai berikut :

Dimana:
· R= Resistor
· Vs= Tegangan Sumber
· Vf= Tegangan Vorward LED (Rata-rata 1.5V-2.2V)
· If= Arus Maksimum yang boleh dilalui LED (Rata-tara 0.02A)
Sehingga dengan persamaan di atas dapat ditentukan bahwa nilai minimum resistor yang harus digunakan adalah sebagai berikut:
R = (5-1,2V )/ 0.02A = 190
namun untuk memperkecil resiko kerusakan MCu dan LED karena terlalu sering mengalirkan arus yang besar kemudian LED juga selalu nyala pada ondisi paling terangnnya maka resistor dipakai adalah resistor yang bernilai 220Ω, Dengan begitu mikrokontroler dan LED akan memiliki keawetan yang lebih lama
Untuk mengetahui nilai resistor berdasarkan kode warna kita dapat mempelajari dibawah ini. Perhatikanlah tabel kode warna resistor pada tabel berikut.
Tabel 3.1 Tabel Kode Warna

Sesuai dengan perhitungan sebelumnya, bahwa nilai resistor yang diperlukan adalah sebesar 220Ω maka warna-warna pada cincin resistor tersebut adalah sebagai berikut.

Cicncin pertama adalah merah yang dalam tabel memiliki nilai 2, cincin kedua juga berwarna merah yang bernilai 2 dan cincin ketiga merupakan pengali yang berwarna Coklat bernilai 10 pangkat 0 (10 pangkat 0 = 1), sedangkan yang berwarna coklat adalah toleransi yaitu 1%.
Ø LED (Light Emitting Diode)

> Pengertian LED (Light Emitting Diode) dan Cara Kerjanya
Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
Bentuk LED mirip dengan sebuah bohlam (bola lampu) yang kecil dan dapat dipasangkan dengan mudah ke dalam berbagai perangkat elektronika. Berbeda dengan Lampu Pijar, LED tidak memerlukan pembakaran filamen sehingga tidak menimbulkan panas dalam menghasilkan cahaya. Oleh karena itu, saat ini LED (Light Emitting Diode) yang bentuknya kecil telah banyak digunakan sebagai lampu penerang dalam LCD TV yang mengganti lampu tube.
· Simbol LED dan Cara Membedakan Anoda/Katoda pada LED


Demikian untuk pengenalan singkat tentang Arduino, merakit komponen dengan peoject board, dan membuat program sederhana LED berkedip. Silakan lakukan improvisasi rangkaian tersebut sehingga lebih paham dan lebih nyaman menggunakan project board. Selanjutnya, kita akan lebih mendalami beberapa perintah dasar dan fungsi-fungsi logika untuk membuat program Arduino.
Belajar Dasar arduino, belajar arduino, dasar pemrograman arduino, tutorial dasar arduino, output digital arduino, menghitung resistor led ardduino, menentukan nilai resistor untuk arduino, menentukan resistor untuk led, menentukan nilai resistor untuk led, belajar arduino,belajar mudah arduino, arduino uno, arduino nano,tutorial arduino uno, tutorial arduino nano, led blink, output digital,pemrograman arduino nano, pemrograman arduino unotutorial arduino cnc store bandung,cnc store bandung