LAPORAN KOMPUTASI SEMENTARA

download LAPORAN KOMPUTASI SEMENTARA

of 55

description

Pembahasan pemograman ‘Traffic Light’ tersebut adalah:1. Inisialisasi semua output pada program ‘Traffic Light’ pada fungsi void setup

Transcript of LAPORAN KOMPUTASI SEMENTARA

  • TUGAS KELOMPOK 2KOMPUTASI DAN PEMROGRAMAN

    Oleh :

    Argaditia Mawadati 14/376473/PTK/10176Nugroho Adi 14/376475/PTK/10178Rizki Ananda 14/376477/PTK/10180Taufiq Fada Ardena 14/376480/PTK/10183

    PROGRAM STUDI PASCASARJANA TEKNIK INDUSTRIJURUSAN TEKNIK MESIN DAN INDUSTRI

    FAKULTAS TEKNIKUNIVERSITAS GADJAH MADA

    YOGYAKARTA2015

  • 1BAB IPERTEMUAN I

    06 MEI 2015

    1.1 Pendahuluan ArduinoArduino adalah sebuah platform open source (sumber terbuka) yang digunakan

    untuk membuat proyek-proyek elektronika. Arduino terdiri dari dua bagian utama yaitusebuah papan sirkuit fisik (sering disebut juga dengan mikrokontroler) dan sebuahperangkat lunak atau IDE (Integrated Development Environment) yang berjalan padakomputer. Perangkat lunak ini sering disebut Arduino IDE yang digunakan untukmenulis dan meng-upload kode dari komputer ke papan fisik (hardware) Arduino.

    Salah satu yang membuat Arduino memikat hati banyak orang adalah karenasifatnya yang open source, baik untuk hardware maupun software-nya. Diagramrangkaian elektronik Arduino digratiskan kepada semua orang. Anda bisa bebas men-download gambarnya, membeli komponen-komponennya, membuat PCB-nya danmerangkainya sendiri tanpa harus membayar kepada para pembuat Arduino. Samahalnya dengan IDE Arduino yang bisa di-download dan diinstal pada komputer secaragratis.

    Kelebihan dari Arduino adalah:1. Microcontroller Arduino lebih mudah diperoleh dengan harga yang cukup

    murah. Karena Microcontroller Arduino bersifat open source, baik dari softwaremaupun hardware.

    2. Software Arduino bersifat lintas platform, yaitu dapat dijalankan di sistemoperasi Windows, Mancintosh OSX dan Linux. Sedangkan platform lainnyaterbatas hanya dijalankan pada windows.

    3. Microcontroler Arduino sangat mudah digunakan. Bahasa pemrograman yangdigunakan disebut processing. Bahasa pemrograman processing adalah bahasatingkat tinggi, dialek bahasa pemrograman processing mirip dengan C++ danJava, sehingga orang yang sudah terbiasa menggunakan bahasa pemrogramanini tidak kesulitan dalam menggunakan processing. Sedangkan platform lainnyamenggunakan bahasa tingkat rendah yang cukup sulit, seperti assembler.

    4. Kemudahan bahasa pemrograman pada Arduino didukung oleh kumpulanlibrary yang lengkap.

  • 25. Tersedianya modul-modul yang mendukung Microcontroller Arduino. Modul-

    modul ini bersifat siap pakai (shield) pada board Arduino, seperti shield GPS,Ethernet, SD Card, dan lainnya.

    6. Arduino Uno menggunakan komunikasi serial. Komunikasi serial adalahkomunikasi data dengan pengiriman data satu per satu pada satuan waktu,transmisi data pada komunikasi serial dilakukan per bit. Kelebihan komunikasiserial dibandingkan dengan komunikasi paralel adalah jalur data yangdibutuhkan hanya 2, yaitu Jalur Transmiter (Tx) dan Jalur Receiver (Rx).

    7. Komunikasi serial yang digunakan Arduino Uno menjadikan Arduino Unodapat melakukan komunikasi dalam jarak yang cukup jauh dengan jumlah kabelserial yang sedikit.

    8. Microcontroller Arduino sudah memiliki sarana komunikasi USB, sehinggapengguna laptop yang tidak memiliki port serial/RS bisa menggunakanMicrocontroller Arduino.

    9. Microcontroller Arduino tidak memerlukan perangkat chip programmer, karenadi dalamnya sudah terdapat bootloader yang menangani upload program darikomputer.

    10. Microcontroller Arduino Uno banyak digunakan para praktisi dan komunitasArduino saat ini.

    Sedangkan kekurangan Arduino adalah:Komunikasi serial yang digunakan pada Microcontroller Arduino memiliki

    kekurangan yaitu waktu yang dibutuhkan untuk pengiriman dan penerimaan datamenjadi lebih lama.Karena perbandingan kelebihan yang jauh lebih banyak dibanding kekurangannya

    ini lah yang menyebabkan Arduino banyak diminati dan digunakan. Ada banyak projekdan alat-alat dikembangkan oleh akademisi dan profesional dengan menggunakanArduino, selain itu juga ada banyak modul-modul pendukung (sensor, tampilan,penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan denganArduino. Arduino berevolusi menjadi sebuah platform karena ia menjadi pilihan danacuan bagi banyak praktisi.

  • 3Terdapat beberapa jenis-jenis papan arduino yang digunakan sesuai dengankebutuhannya, antara lain :

    Arduino SerialMenggunakan RS232 sebagai komunikasi komputer

    Gambar 1.1 Arduino Serial

    Arduino USBMenggunakan USB sebagai komunikasi komputer. Contoh: Arduino Uno,Arduino Duemilanove, Arduino Diecimila, dll.

    Gambar 1.2 Arduino USB

    Arduino MegaMemiliki spesifikasi yang lebih tinggi, dilengkapi tambahan pin digital, pinanalog, port serial, dll. Contoh: Arduino Mega dan Arduino Mega 2560

    Gambar 1.3 Arduino Mega

    Arduino BTMemakai bluetooth untuk komunikasi nirkabel.

    Gambar 1.4 Arduino BT

  • 4 Arduino Nano dan Arduino MiniMemiliki papan berbentuk kompak dan digunakan bersama breadboard. Contoh:Arduino Nano 3.0. Arduino Mini 04, dll.

    Gambar 1.5 Arduino Nano

    Arduino FioMerupakan arduino nirkabel.

    Gambar 1.6 Arduino Fio

    Arduino LilypadMemiliki bentuk papan melingkar.

    Gambar 1.7 Arduino Lilypad

    1.2 Pengenalam Arduino UnoKomponen utama di dalam papan Arduino adalah sebuah microcontroller 8 bit

    dengan merk ATmega yang dibuat oleh perusahaan Atmel Corporation. Berbagaipapan Arduino menggunakan tipe ATmega yang berbeda-beda tergantung darispesifikasinya, sebagai contoh Arduino Uno menggunakan ATmega328 sedangkanArduino Mega 2560 yang lebih canggih menggunakan ATmega2560.

  • 5Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuahmicrocontroller, pada gambar berikut ini diperlihatkan contoh diagram blok sederhanadari microcontroller ATmega328 (dipakai pada Arduino Uno).

    Gambar 1.8 Diagram Blok sederhana mikrokontroler ATmega328

    Blok-blok di atas dijelaskan sebagai berikut: Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka

    yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.

    2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan),digunakan oleh variable-variabel di dalam program.

    32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpanprogram yang dimuat dari komputer. Selain program, flash memory jugamenyimpan bootloader. Bootloader adalah program inisiasi yang ukurannyakecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesaidijalankan, berikutnya program di dalam RAM akan dieksekusi.

    1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yangtidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan Arduino.

    Central Processing Unit (CPU), bagian dari microcontroller untukmenjalankan setiap instruksi dari program.

    Port input/output, pin-pin untuk menerima data (input) digital atau analog, danmengeluarkan data (output) digital atau analog.

    Komponen Board Arduino UnoBerikut ini adalah bagian-bagian dari sebuah papan Adruino Uno :

  • 6Gambar 1.9 Papan Arduino Uno

    14 Pin Input/Output Digital (0-13)14 Pin ini berfungsi sebagai input atau output yang dapat diatur oleh

    program. Masing-masing dari 14 pin digital pada Uno dapat digunakansebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(),dan digitalRead(). Mereka beroperasi di 5 volt. Setiap pin dapatmemberikan atau menerima maksimum 40 mA dan memiliki resistorpull-up internal dari 20-50 K. Selain itu, beberapa pin memiliki fungsikhusus :

    Serial: 0 (RX) dan (TX). Digunakan untuk menerima (RX) danmengirimkan (TX) data TTL serial. Pin ini terhubung ke pin yang sesuaidari chip ATmega8U2 USB-to-Serial TTL.

    Eksternal Interupsi: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicuinterupsi pada nilai yang rendah, tepi naik atau jatuh, atau perubahan nilai.Lihat attach Interrupt () fungsi untuk rincian.

    PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan 8-bit output PWM dengananalogWrite () fungsi.

    SPI: 10 (SS), 11 (mosi), 12 (MISO), 13 (SCK). Pin ini mendukungkomunikasi SPI menggunakan perpustakaan SPI.

    LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pinbernilai tinggi maka LED menyala, namun ketika pin rendah , LEDmenjadi off.

    Khusus untuk 6 buah pin 3, 5, 6, 9, 10 dan 11 dapat juga berfungsi sebagaipin analog output dimana tegangan outpunya dapat diatur. Nilai sebuahpin output analog dapat deprogram antara 0-255 yang mewakili nilaitegangan 0 5V.

  • 7 USBBagian berwarna kuning pada bagan di atas adalah USB, yang memiliki fungsiantara lain untuk memuat program dari komputer ke dalam papan, komunikasiserial antara papan dan komputer, dan memberi daya listrik kepada papan. UnoArduino dapat diaktifkan melalui koneksi USB atau dengan catu dayaeksternal. Sumber listrik dipilih secara otomatis. Eksternal (non-USB) dayadapat datang baik dari AC-DC adaptor atau baterai. Adaptor ini dapatdihubungkan dengan cara menghubungkannya plug pusat-positif 2.1mm kedalam board colokan listrik. Lead dari baterai dapat dimasukkan ke dalamheader pin Gnd dan Vin dari konektor Power.

    Sambungan SV1Sambungan SV1 atau jumper untuk memilih sumber daya papan yang akandigunakan. Apakah dari sumber eksternal atau menggunakan USB.Sambungan ini tidak diperlukan lagi pada Arduino versi terakhir karenapemilihan sumber daya eksternal atau USB dilakukan secara otomatis.

    Q1- Kristal (Quartz Crystal Oscillator)Kristal berfungsi untuk mengahsilkan detak-detak yang dikirim kepadamicrocontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristalini dipilih yang berdetak 16 juta kali per detik (16MHz). Jika microcontrollerdianggap sebagai sebuah otak, maka kristal adalah jantung-nya.

    Tombol Reset (S1)Untuk me-reset papan sehingga program akan mulai lagi dari awal namuntombol reset ini bukan untuk menghapus program atau mengosongkanmicrocontroller.

    In-Circuit Serial Programming (ICSP)Port ICSP memungkinkan pengguna untuk memprogram microcontrollersecara langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidakmelakukan ini sehingga ICSP tidak terlalu dipakai walaupun disediakan.

    IC1 - Microcontroller AtmegaKomponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM danRAM.

  • 8 X1- Sumber daya EksternalX1 merupakan sumber daya yang diperoleh dari luar. Jika hendak disuplaidengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DCantara 9-12V.

    6 pin input analog (0-5)Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensoranalog, seperti sensor suhu. Program dapat membaca nilai sebuah pin inputantara 0 1023, dimana hal itu mewakili nilai tegangan 0 5V.

    Selain menggunakan hardware, Arduino juga membutuhkan software yang akandigunakan terdiri dari driver dan IDE.

    IDE (Integrated Development Environment) adalah sebuah program khusus yangdijalankan pada komputer dimana anda diijinkan membuat sketches (kode program) padapapan Arduino dalam bahasa sederhana yang dimodelkan setelah pemrosesan bahasa.Maksudnya adalah kode yang anda tulis akan diterjemahkan ke dalam bahasa C (dimanabahasa ini sulit dipahami oleh para pemula) melalui avr-gcc compiler. Dimana avr-gcccompiler ini merupakan bagian penting sebuah software open source yang membuatterjemahan terakhir ke dalam bahasa yang dipahami oleh microcontrollers.

    Dalam menjalankan Arduino, terdapat beberapa tahapan yang harus dilakukan.Namun sebelum itu, hal yang paling penting adalah kita harus memiliki hardware dasartermasuk papan Ardino interface dan kabel USB, bisa juga menggunakan perangkattambahan breadboard. Breadboard merupakan alat listrik yang berupa potongan plastikdengan beberapa lubang untuk menempatkan kabel ke dalam lubang tembaga yangsaling terhubung, sehingga aliran listrik dapat dialirkan ke seluruh lubang. Di bawah inimerupakan contoh gambar breadboard.

    Gambar 1.10 Breadboard

  • 9BAB IIPERTEMUAN II

    11 MEI 2015

    2.1 Menginstal Arduino pada PC1. Mengunduh software Arduino

    Pertama tama, anda perlu mengunduh versi terakhir software Arduino dari halamandownload website Arduino (http://arduino.cc/en/Main/Software).

    2. Buka file master Arduino

    Gambar 2.1 File Master Arduino

    3. Pilih I Agree untuk melanjutkan penginstalan

    Gambar 2.2 Instal Arduino

    4. Pilih semua komponen untuk diinstal, lalu pilih next

  • 10

    Gambar 2.3 Instal Komponen Arduino

    5. Pilih lokasi penginstalan Arduino, lalu pilih Instal

    Gambar 2.4 Memilih Lokasi Instalasi

    6. Tunggu hingga proses penginstalan selesai

    Gambar 2.5 Proses Instalasi Arduino

    7. Setelah Arduino terinstal, buka program Arduino

    Gambar 2.6 Membuka Program Arduino

  • 11

    8. Tunggu hingga program terbuka dan menjadi tampilan seperti dibawah ini :

    Gambar 2.7 Program Arduino

    2.2 Menginstall driver ArduinoSetelah melakukan proses penginstalan software Arduino pada laptop, maka selanjutnyamenginstal driver Arduino. Setelah mengalirkan sumber daya ke papan USB denganmenggunakan papan Arduino maka akan terlihat lampu papan menyala, maka papanArduino dapat berfungsi. Setelah menyambungkan papan Arduino, lakukan langkahberikut untuk menginstal driver.1. Masuk ke dalam Control Panel, masuk ke menu System and Security. Kemudian

    klik pada System. Setelah tampilan System muncul, buka Device Manager.

    Gambar 2.8 Memeriksa Device Manager

  • 12

    2. Lihat pada bagian Other devices

    Gambar 2.9 Memeriksa Other Devices

    3. Klik kanan pada port Unknown device dan pilih opsi Update Driver Software.

    Gambar 2.10 Mengupdate Driver Software4. Kemudian, pilih opsi Browse my computer for Driver software.

    Gambar 2.11 Mencari Lokasi Driver Software5. Terakhir, masuk dan pilih file driver Uno, dengan nama ArduinoUNO.inf,

    terletak di dalam folder Drivers pada Software Arduino yang telah di-downloadtadi.

  • 13

    Gambar 2.12 Memilih Driver yang Akan Digunakan

    6. Windows akan meneruskan instalasi driver. Jika instalasi berhasil, maka akanmuncul :

    Gambar 2.13 Instalasi Driver Berhasil

    7. Buka kmbali Device Manager untuk mengecek apakah driver sudah terinstallsempurna

    Gambar 2.14 Memeriksa Ports yang Terinstal

    2.3 Penggunaan ArduinoSetelah proses penginstalan arduino dan driver telah dilakukan pada laptop,selanjutnya mulai menggunaan papan arduino sebagai aktivitas dalam kuliah. Sebelum

  • 14

    dimulai, peralatan yang tersedia dan perlu disiapkan adalah sebagai berikut ArduinoUno, Kabel USB, lampu LED, resistor, kabel jumper, dan papan breadboard.Sekalipun papan Arduino yang telah dipasang sebelumnya telah menyala karenamendapat sumber daya dari komputer, hal itu bukan berarti papan Arduino suadah dapatberkomunikasi dengan komputer tersebut. Untuk memastikan Arduino telah terpasangdengan benar dan dapat berkomunikasi dengan komputer, maka perlu dilakukan ujikoneksi antara komputer dengan papan Arduino.

    Berikut ini adalah cara menguji koneksi computer dengan papan Arduino :1. Buka IDE Arduino dengan klik dua kali pada aplikasi Arduino (Arduino.exe)

    Gambar 2.15 Membuka IDE Arduino

    2. Memilih papan yang digunakanCara memilih papan yang digunakan adalah dengan memilih opsi pada menuTools > Board. Karena kita menggunakan Arduino Uno, maka pilih boardArduino Uno.

    Gambar 2.16 Memilih Board Arduino Uno

    3. Membuka contoh program yang akan dijalankanDalam kasus kali ini akan mencoba contoh rogram LED Blink. Cara membukacontoh program LED Blink : File > Examples > 1.Basics > Blink.

  • 15

    Gambar 2.17 Membuka Contoh Program Blink

    4. Memilih serial port

    Pilih serial port papan Arduino pada menu Tools > Serial Port, biasanya portyang digunakan adalah COM3. Namun apabila anda tidak yakin pada port nomorberapa papan Arduino itu terhubung, coba pilih sebuah nomor port lalu jalankanupload. Jika pesan kesalahan terus muncul, ganti nomor portnya dan lakukanberulang-ulang sampai upload berhasil.

    5. Upload programKlik Upload pada software, tunggu beberapa saat hingga proses loading selesai.

    Maka LED pada board (pin 13) mulai berkedap kedip sesuai dengan programLED Blink. Hal ini menunjukkan bahwa papan Arduino dengan komputer telahberhasil terkoneksi.

    Gambar 2.18 Hasil keluaran program blink

  • 16

    2.4 Menyalakan Lampu LED1. Rangkaian 1 buah LED

    Setelah dilakukan percobaan diatas, dan didapatkan lampu indikator dalam papanarduino dapat menyala, maka dapat dilakukan percobaan dengan menyalakanlampu LED yang dirangkai dalam papan beardboard beserta perlengkapan lainyang telah disiapkan sebelumnya.Breadboard merupakan alat listrik untuk membuar rangkaian percobaan tanpamerusak komponen listrik yang terpasang padanya. Resistor digunakan karenalampu LED hanya mampu dilewati arus listrik sebesar 22 mA sehingga dibutuhkanresistor dengan nilai resistansi sebesar 220 ohm (resistor berwarna merah merahcoklat.

    Urutan memasang rangkaian adalah pasang kabel untuk menguhubungkan LEDyang telah dipasang pada breadboard dengan board di papan arduino. Kaki LEDyang dihubungkan dengan kabel ini adalah kaki negatif, yaitu kaki yang lebihpendek. Kemudian kaki positif LED dihubungkan dengan resistor. Caramenghubungkannya cukup dengan menancapkan resistor disamping kaki positifLED sesuai jalur rangkaian breadboard. Dari resistor pasang kabel untukmenghubungkannya dengan pin ke 13.

    Gambar 2.19 Rangkaian Lampu LED, Resistor

    Setelah membuat rangkaian diatas maka jika kita mengupload program blinkkedalam papan arduino maka lampu LED akan menyala berkedip-kedip selama satudetik, begitupula dengan LED pada pin ke 13 papan arduino karena didalam programpin ke 13 sebagai output.

  • 17

    Apabila kita ingin membuat waktu nyala LED lebih lama dari pada waktumatinya maka hanya dengan menambahkan waktu nyala LED tersebut pada programsebagai berikut:

    void loop() {digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(10000); // wait for 10 seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second

    Dengan mengganti program seperti di atas, lampu LED akan menyala selama 10detik kemudian mati selama 1 detik.

    Jika menginginkan lampu LED mati lebih lama dari pada waktu nyalanya makadapat menambahkan waktu matinya LED tersebut pada program menjadi seperti berikut:

    void loop() {digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(20000); // wait fo 20 second

    Dengan mengganti program seperti di atas, lampu LED akan menyala selama 1detik kemudian mati lebih lama yaitu selama 20 detik.

    Selain itu, kita juga dapat mengubah output pada program untuk membuat lampumenyala bukan pada pin 13. Misalkan kita ingin mengubah output ke pin 4, pada programkita cukup mengganti deklarasi variabel int led = 13 menjadi int led = 4 seperti dibawahini:

    // Pin 4 has an LED connected on most Arduino boards.// give it a name:

    int led = 4;Selain mengganti deklarasi variabel pada program, jangan lupa untuk memindahkan

    kabel dari pin 13 ke pin 4 sesuai yang ada d program. Kemudian klik verify dan upload.Untuk menyimpan program dianjurkan untyk menyimpan menggunakan save as

    agar tidak terjadi penumpukan file yang dapat menyebabkan hilangnya file yang sudahkita buat sebelumnya.

  • 18

    2. Rangkaian 4 LED

    Setelah melakukan percobaan dengan 1 buah LED, maka kemudian lakukanpercobaan dengan 4 LED. Pertama yang dilakukan adalah merangkai papanbreadboard dengan 4 buah LED beserta perlengkapan lain seperti kabel dan resistoryang disambungkan ke arduino uno. Cara membuat rangkaian tidak jauh berbedadengan rangkaian lampu 1 LED, hanya saja kita menambahkan tiga buah LED dantiga buah resistor sebelum disambungkan ke ground.

    Gambar 2.20 Rangkaian 4 LED

    Setelah membuat rangkaian diatas maka kita perlu menambahkan sedikit programblink yang ada. Output di tambahkan untuk pin 12 dan 13. Maka lampu LED akanmenyala berkedip-kedip selama satu detik, pada pin ke 13 yang bergantian dengan pin 12papan arduino karena didalam program pin ke 10, 11, 12, dan 13 sebagai output. Berikutmerupakan bahasa pemrograman yang dilakukan.

    // Pin 13 has an LED connected on most Arduino boards.// give it a name:int led= 10;int lid= 11;int lud= 12;int lod= 13;

    // the setup routine runs once when you press reset:void setup() {// initialize the digital pin as an output.

  • 19

    pinMode(led, OUTPUT);pinMode(lid, OUTPUT);pinMode(lud, OUTPUT);pinMode(lod, OUTPUT);

    }

    // the loop routine runs over and over again forever:void loop() {digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a seconddigitalWrite(lid, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a seconddigitalWrite(lid, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a seconddigitalWrite(lid, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a seconddigitalWrite(lid, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a seconddigitalWrite(lud, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a seconddigitalWrite(lud, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a seconddigitalWrite(lud, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a seconddigitalWrite(lud, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a seconddigitalWrite(lod, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a second

  • 20

    digitalWrite(lod, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a seconddigitalWrite(lod, HIGH); // turn the LED on (HIGH is the voltage level)delay(100); // wait for a seconddigitalWrite(lod, LOW); // turn the LED off by making the voltage LOWdelay(50); // wait for a second

    }

  • 21

    BAB IIIPERTEMUAN III

    13 MEI 2015

    3.1 Membuat Nyala Morse Huruf SOSDengan menggunakan rangkai 1 lampu seperti pada pertemuan sebelumnya dapat

    dibuat kode morse SOS. Sebagai contoh adalah sandi morse dengan ketentuan sebagaiberikut:

    Definisikan pin yang akan menjadi output dari program ini, yaitu led = pin 13, nyala Ssebanyak 3 kali dengan aturan nyala tiap titik selama 0,3 detik dengan jeda antar titikselama 0,1 detik. Kemudian untuk sandi O (menyala panjang sebanyak 3 kali), ketikaO menyala 1 kali terdapat aturan menyala selama 1 detik dan jeda antar nyala panjang0,1 detik. Jeda antar huruf S dan O selama 0,5 detik. Dan jeda antar siklus SOS adalah5 detik.

    Tabel 3.1 Ketentuan Morse SOSMorse S Jeda Morse O Jeda Jeda antar

    siklus

    Nyala

    (300)Mati

    (100)Nyala

    (300)Mati

    (100)Nyala

    (300)500 Nyala

    (1000)Mati

    (100)Nyala

    (1000)Mati

    (100)Nyala

    (1000)500 5000

    Langkah pembuatan program:1. Pada tahap void setup inisialisasi bahwa pin 13 direpresentasikan oleh led sebagai

    output.

    2. Bangun void loop untuk led pin 13 agar menyalakan sandi S dengan ketentuan selama0.3 detik lalu mati selama 0.1 detik sebanyak 3 kali nyala. Kemudian dari sandi Smenuju sandi O terdapat jeda 0.5 detik. Sandi O menyala selama 1 detik dan matiselama 0.1 detik berulang sebanyak 3 kli nyala. Kemudian dari sandi O menuju sandiS terdapat jeda 0.5 detik, sandi S menyala selama 0.3 detik lalu mati selama 0.1 detiksebanyak 3 kali nyala, terdapat jeda mati antar siklus SOS selama 5 detik.

    3. Selanjutnya proses diatas berulang.Kode Program :// Pin 13 has an LED connected on most Arduino boards.// give it a name:

  • 22

    int led = 13;

    // the setup routine runs once when you press reset:void setup() {// initialize the digital pin as an output.pinMode(led, OUTPUT);

    }

    // the loop routine runs over and over again forever:void loop() {digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) "S"delay(300); // wait for 0,3 seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for 0,1 seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) "S"delay(300); // wait for 0,3 seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for 0,1 seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) "S"delay(300); // wait for 0,3 seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for 0,5 seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) Odelay(1000); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for 0,1 seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) Odelay(1000); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for 0,1 seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) Odelay(1000); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for 0,1 second

  • 23

    digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) "S"delay(300); // wait for 0,3 seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for 0,1 seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) "S"delay(300); // wait for 0,3 seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for 0,1 seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) "S"delay(300); // wait for 0,3 seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(5000); // wait for 5 second

    }

    3.2 Membuat Nyala Morse Huruf SSSS (Huruf S Sebanyak 4 Kali)Dengan menggunakan rangkai 1 lampu seperti pada pertemuan sebelumnya dapat

    dibuat kode morse SSSS. Sebagai contoh adalah sandi morse dengan ketentuan sebagaiberikut:

    Definisikan pin yang akan menjadi output dari program ini, yaitu led = pin 13, nyala Ssebanyak 4 kali dengan aturan nyala tiap titik selama 0,3 detik dengan jeda antar titikselama 0,1 detik. Kemudian jeda antar huruf S selama 5 detik.Langkah pembuatan program:

    1. Pada tahap void setup inisialisasi bahwa pin 13 direpresentasikan oleh led sebagaioutput.

    2. Bangun void loop untuk led pin 13 agar menyalakan sandi S dengan ketentuan selama0.3 detik lalu mati selama 0.1 detik 4 kali nyala. Kemudian antar sandi S terdapat jeda0,5 detik dan terdapat jeda mati antar siklus SSSSS selama 5 detik.Bangun Void loop untuk mengatur urutan dalam mengidupkan lampu denganmenggunakan sandi for sehingga nyala sandi S bisa menyala sebanya 4 kali. Urutanini dapat diubah-ubah sesuai keinginan programmer.

    3. Selanjutnya proses diatas berulang.Kode Program :// Pin 13 has an LED connected on most Arduino boards.// give it a name:

  • 24

    int led = 13;int i;

    // the setup routine runs once when you press reset:

    void setup() {// initialize the digital pin as an output.pinMode(led, OUTPUT);

    }

    // the loop routine runs over and over again forever:void loop() {for(i

  • 25

    BAB IVPERTEMUAN IV

    18 MEI 2015

    4.1 Membuat LED Menyala dengan Morse SOSSSO menggunakan Sub ProgramDengan menggunakan rangkai 1 lampu seperti pada pertemuan sebelumnya dapat

    dibuat kode morse SOS. Sebagai contoh adalah sandi morse dengan ketentuan sebagaiberikut:

    Definisikan pin yang akan menjadi output dari program ini, yaitu led = pin 13.Kemudian mendefinisikan waktu menyala untuk masing masing sandi, terlihat padatabel 4.1.

    Tabel 4.1 Ketentuan morse SOSSSOMorse S Morse O

    Nyala

    (300)Mati

    (100)Nyala

    (300)Mati

    (100)Nyala

    (300)Mati

    (500)Nyala

    (1000)Mati

    (100)Nyala

    (1000)Mati

    (100)Nyala

    (1000)Mati

    (500)

    Langkah pembuatan program:1. Pada tahap void setup inisialisasi bahwa pin 13 direpresentasikan oleh led secara

    berurutan sebagai output.2. Bangun void loop untuk led pin 13 agar menyalakan sandi S dengan ketentuan

    selama 0.3 detik lalu mati selama 0.1 detik sebanyak 3 kali nyala. Kemudianuntuk sandi O (menyala panjang sebanyak 3 kali), ketika O menyala 1 kaliterdapat aturan menyala selama 1 detik dan jeda antar nyala panjang 0,1 detik.Jeda antar huruf S dan O selama 0,5 detik, dan begitu sebaliknya. Terdapat jedamati antar siklus SOSSSO selama 5 detik.Bangun Void loop untuk mengatur urutan dalam mengidupkan led denganmenyusun nyala sandi S, nyala sandi O, nyala sandi S, nyala sandi S, nyala sandiS, dan nyala sandi O. Urut-urutan ini dapat diubah-ubah sesuai keinginanprogrammer.

    Tabel 4.2 Aturan Morse SOSSSO

    SOSSSO jeda(5000) SOSSSOjeda(5000) SOSSSO dst

  • 26

    3. Selanjutnya proses diatas berulang.Kode Program :// Pin 13 has an LED connected on most Arduino boards.// give it a name:

    int led = 13;

    // the setup routine runs once when you press reset:void setup() {// initialize the digital pin as an output.pinMode(led, OUTPUT);

    }

    // the loop routine runs over and over again forever:void loop() {nyalaS();nyalaO();nyalaS();nyalaS();nyalaS();nyalaO();digitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(5000); // wait for a second

    }

    void nyalaS(){digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(300); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for a seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(300); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for a second

  • 27

    digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(300); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for a second

    digitalWrite(led, LOW); // turn the LED on (HIGH is the voltage level)delay(500); // wait for a second

    }void nyalaO(){digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for a seconddigitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for a second

    digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for a second

    digitalWrite(led, LOW); // turn the LED on (HIGH is the voltage level)delay(500); // wait for a second

    }

    4.2 Membuat LED Menyala dengan Morse SOSSSO menggunakan Double SubProgram

    Ketentuan kasus dan pembuatan program sama dengan sub bab sebelumnya (sub bab4.1), hanya saja kali ini menggunakan double sub program. Kalau sebelumnya subprogram hanya digunakan untuk memanggil nyalaS dan nyalaO, kali ini sub programjuga dibuat untuk memanggil aturan menyala dan mati nya.

    Kode Program menjadi:// the loop routine runs over and over again forever:void loop() {

  • 28

    nyalaS();nyalaO();nyalaS();nyalaS();nyalaS();nyalaO();turnoff3 ();

    }

    void nyalaS(){turnonS ();turnoff ();turnonS ();turnoff ();turnonS ();turnoff ();turnoff2 ();

    }void nyalaO(){turnonO ();turnoff ();turnonO ();turnoff ();turnonO ();turnoff ();turnoff2 ();

    }

    void turnonS (){digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(300); // wait for a second

  • 29

    }void turnonO (){digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a second

    }void turnoff (){digitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(100); // wait for a second

    }void turnoff2 (){digitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for a second

    }void turnoff3 (){digitalWrite(led, LOW); // turn the LED off by making the voltage LOWdelay(5000); // wait for a second

    }

  • 30

    BAB VPERTEMUAN V

    20 MEI 2015

    5.1 Menyalakan 5 LED BergantianRangkai 5 lampu dengan menyambungkan masing-masing kutub positif pada pin 2,

    4, 6, 8, dan 10. Rangkai kutub negatif dengan ground. Nyala LED yang akan dihasilkandapat digambarkan pada gambar 3.1 berikut:

    Gambar 5.1 5 Buah LED Menyala Bergantian

    Pemrograman:

    1. Definisikan pin yang akan menjadi output dari program ini, yaitu ledA= pin 2, ledB= pin 4, ledC = pin 6, ledD = pin 8, dan ledE= pin 10.

    2. Pada tahap void setup inisialisasi bahwa pin 2, 4, 6, 8 dan 10 direpresentasikan olehledA, ledB, ledC, ledD dan ledE secaraa berurutan sebagai output.

    3. Bangun fungsi void untuk lampu A agar menyala selama 1 detik lalu mati selama0.5 detik.

    4. Bangun fungsi void untuk lampu B agar menyala selama 1 detik lalu mati selama 0.5detik.

    5. Bangun fungsi void untuk lampu C agar menyala selama 1 detik lalu mati selama 0.5detik.

    6. Bangun fungsi void untuk lampu D agar menyala selama 1 detik lalu mati selama0.5 detik.

    7. Bangun fungsi void untuk lampu E agar menyala selama 1 detik lalu mati selama 0.5detik.

    8. Bangun Void loop untuk mengatur urutan dalam mengidupkan lampu A, lampu B,lampu C, lampu D, lalu lampu E. Kemudian mati bersamaan. Urut-urutan ini dapatdiubah-ubah sesuai keinginan programmer.

    9. Selanjutnya proses diatas berulang.

  • 31

    Kode Program:Berdasarkan permasalahan di atas, dibuatlah sketch program Arduino berikut:

    // Program untuk menyalakan 5 buah LED secara bergantian// LED disambungkan ke digital pinint ledA = 2; //LED disambungkan ke digital pin 2int ledB = 4; //LED disambungkan ke digital pin 4int ledC = 6; //LED disambungkan ke digital pin 6int ledD = 8; //LED disambungkan ke digital pin 8int ledE = 10; //LED disambungkan ke digital pin 10

    void setup() //fungsi hanya akan diceksekusi sekali saat sketch dimulai/di reset{pinMode(ledA, OUTPUT); //set ledA untuk menghasilkan outputpinMode(ledB, OUTPUT); //set ledB untuk menghasilkan outputpinMode(ledC, OUTPUT); //set ledC untuk menghasilkan outputpinMode(ledD, OUTPUT); //set ledD untuk menghasilkan outputpinMode(ledE, OUTPUT); //set ledE untuk menghasilkan output

    }void loop() //fungsi hanya akan diceksekusi berulang kali{nyalaA(); // memanggil fungsi nyalaAnyalaB(); // memanggil fungsi nyalaBnyalaC(); // memanggil fungsi nyalaCnyalaD(); // memanggil fungsi nyalaDnyalaE(); // memanggil fungsi nyalaE

    }

    void nyalaA () //fungsi yang menyatakan nyala ledA{digitalWrite(ledA, HIGH); // set led A hidupdelay(1000); // tunggu selama 1000digitalWrite(ledA, LOW); // set LED mati

  • 32

    delay(500); // tunggu selama 500}

    void nyalaB (){digitalWrite(ledB, HIGH); // set led B hidupdelay(1000); // tunggu selama 1000digitalWrite(ledB, LOW); // set LED matidelay(500); // tunggu selama 500}

    void nyalaC (){digitalWrite(ledC, HIGH); // set led C hidupdelay(1000); // tunggu selama 1000digitalWrite(ledC, LOW); // set LED matidelay(500); // tunggu selama 500}

    void nyalaD (){digitalWrite(ledD, HIGH); // set led D hidupdelay(1000); // tunggu selama 1000digitalWrite(ledD, LOW); // set LED matidelay(500); // tunggu selama 500}

    void nyalaE (){digitalWrite(ledE, HIGH); // set led E hidupdelay(1000); // tunggu selama 1000digitalWrite(ledE, LOW); // set LED matidelay(500); // tunggu selama 500}

  • 33

    5.2 Menyalakan 5 LED Berurutan, Kemudian Urutan Menyalanya TerbalikRangkai 5 lampu dengan menyambungkan masing-masing kutub positif pada pin 13,

    12,11,10 dan 9.Rangkai kutub negatif dengan ground.Pemrograman:

    1. Definisikan pin yang akan menjadi output dari program ini, yaitu ledA= pin 2.LedB= pin 10, LedC= pin 11, LedD=pin 12, dan LedE= pin 13.

    2. Pada tahap void setup inisialisasi bahwa pin 13,12,11,10, dan 9 direpresentasikanoleh ledA, ledB, ledC, led D, dan ledE secaraa berurutan sebagai output.

    3. Bangun void loop untuk lampu A agar menyala selama 1 detik lalu mati selama 0.5detik.

    4. Bangun void loop untuk lampu B agar menyala selama 1 detik lalu mati selama 0.5detik.

    5. Bangun void loop untuk lampu C agar menyala 1 detik lalu mati selama 0.5 detik.6. Bangun void loop untuk lampu D agar menyala 1 detik lalu mati selama 0.5 detik.7. Bangun void loop untuk lampu E agar menyala 1 detik lalu mati selama 0.5 detik.8. Bangun Void loop untuk mengatur urutan dalam mengidupkan lampu A lalu mati,

    lampu B hidup lalu mati, lalu lampu C hidup lalu mati, lampu D hidup lalu mati,lampu E hdup lalu mati. Lampu E hidup lalu mati, lampu D hidup lalu mati, lampuC hidup lalu mati, dan lampu B hdup lalu mati. Selanjutnya proses diatas berulangsaat lampuA hidup lalu mati.

    Kode Program :Source code untuk menyalakan lampu LED dengan ketentuan tersebut adalah sebagai

    berikut:

    int ledA = 9;int ledB = 10;int ledC = 11;int ledD = 12;int ledE = 13;

    // the setup routine runs once when you press reset:void setup() {// initialize the digital pin as an output.pinMode(ledA, OUTPUT);

  • 34

    pinMode(ledB, OUTPUT);pinMode(ledC, OUTPUT);pinMode(ledD, OUTPUT);pinMode(ledE, OUTPUT);

    }void loop(){nyalaA();nyalaB();nyalaC();nyalaD();nyalaE();nyalaE();nyalaD();nyalaC();nyalaB();nyalaA();

    }void nyalaA (){digitalWrite(ledA, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(ledA, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for a second}void nyalaB (){digitalWrite(ledB, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(ledB, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for a second}void nyalaC ()

  • 35

    {digitalWrite(ledC, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(ledC, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for a second}void nyalaD (){digitalWrite(ledD, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(ledD, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for a second}void nyalaE (){digitalWrite(ledE, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(ledE, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for a second

    }

    5.3 Menyalakan 5 LED Berurutan, Kemudian LED Mati Satu per SatuPertama tama merangkai 5 LED, resistor, dan kabel di breadboard. Pin yang

    digunakan adalah pin 9, 10, 11, 12, 13. Rangkai kutub negatif dengan ground. Kemudianmenyambungkan kabel ke ground dan pin pin pada papan arduino. Setelah itu,membuat koding pada IDE Arduino dengan ketentuan nyala LED berurutan dari LEDpin 9 hingga LED pin 13, kemudian LED mati secara berurutan dari LED pin 13 hinggaLED pin 9, begitu seterusnya.Pemrograman:

    1. Definisikan pin yang akan menjadi output dari program ini, yaitu ledA= pin 9. ledB=pin 10, ledC= pin 11, ledD=pin 12, dan ledE= pin 13.

    2. Pada tahap void setup inisialisasi bahwa pin 9, 10, 11, dan 12 direpresentasikan olehledA, ledB, ledC, led D, dan ledE secaraa berurutan sebagai output.

    3. Bangun fungsi void untuk lampu A agar menyala.

  • 36

    4. Bangun fungsi void untuk lampu B agar menyala.5. Bangun fungsi void untuk lampu C agar menyala.6. Bangun fungsi void untuk lampu D agar menyala.7. Bangun fungsi void untuk lampu E agar menyala.8. Bangun Void loop untuk mengatur urutan dalam mengidupkan lampu A, lampu B,

    lalu lampu C, lampu D, lampu E. Kemudian lampu mati satu per satu dari lampu Emenuju lampu A.

    9. Selanjutnya proses diatas berulang..

    Kode Program :int ledA = 9;int ledB = 10;int ledC = 11;int ledD = 12;int ledE = 13;

    // the setup routine runs once when you press reset:void setup() {// initialize the digital pin as an output.pinMode(ledA, OUTPUT);pinMode(ledB, OUTPUT);pinMode(ledC, OUTPUT);pinMode(ledD, OUTPUT);pinMode(ledE, OUTPUT);

    }void loop(){nyalaA();nyalaB();nyalaC();nyalaD();nyalaE();digitalWrite(ledE, LOW); // turn the LED off by making the voltage LOWdelay(500);

  • 37

    digitalWrite(ledD, LOW); // turn the LED off by making the voltage LOWdelay(500);digitalWrite(ledC, LOW); // turn the LED off by making the voltage LOWdelay(500);digitalWrite(ledB, LOW); // turn the LED off by making the voltage LOWdelay(500);digitalWrite(ledA, LOW); // turn the LED off by making the voltage LOWdelay(500);}void nyalaA ()

    {digitalWrite(ledA, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a second

    }void nyalaB (){digitalWrite(ledB, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a second

    }void nyalaC (){digitalWrite(ledC, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a second

    }void nyalaD (){digitalWrite(ledD, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a second

    }void nyalaE (){digitalWrite(ledE, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a second

    }

  • 38

    BAB VIPERTEMUAN VI

    25 MEI 2015

    6.1 Membuat LED Menyala-MeredupRangkai 1 lampu dengan menyambungkan masing-masing kutub positif pada pin 9.

    Rangkai kutub negatif dengan ground.Pemrograman:

    1. Definisikan pin yang akan menjadi output dari program ini, yaitu LED=92. Lakukan inisiasi awal untuk mendefinisikan brightness awal yakni brightness =

    0. Dan tingkatan meredup atau menyalanya dengan fadeAmount = 5.3. Mengatur void setup. Karena kita menginginkan LED pada pin 9 yang menjadi

    output maka dituliskan pinMode (led, OUTPUT), dengan led mewakili LEDpin 9

    4. Mengatur void loop :a. analogWrite (led, brightness) lampu LED akan menyala dengan

    tingkat kecerahan naik secara bertahap dimulai dari 0b. Brightness = brightness + fadeAmount tingkatan brightness pada LED

    akan bertambah 5 sesuai nilai pada variabel fadeAmountc. If (brightness == 0 || fadeAmount == 255) kondisi batasan antara

    variabel brightness dan fadeAmountd. (fadeAmount = - fadeAmount) kondisi ketika fadeAmount mencapai

    value pada variabel fadeAmount maka fadeAmount akan berkurangdengan sendirinya

    e. Delay = 10 jeda waktu setelah lampu LED mencapai tingkatbrightness maksimum.

    5. Pilih menu Verify/Compile untuk mengecek apakah kode program (sketch) yangkita susun sudah benar/ belum.

    6. Jika sudah benar, pilih menu Upload untuk memasukkan kode program ke dalammicrocontroller, dan menjalankannya. Hasil sketch analog 1 lampu bisa diamatidari nyala lampu LED yang disambungkan pada rangkaian microcontrollertersebut.

    Kode Program:

  • 39

    int led = 9; // the pin that the LED is attached toint brightness = 0; // how bright the LED isint fadeAmount = 5; // how many points to fade the LED by

    // the setup routine runs once when you press reset:void setup() {// declare pin 9 to be an output:pinMode(led, OUTPUT);

    }

    // the loop routine runs over and over again forever:void loop() {// set the brightness of pin 9:analogWrite(led, brightness);

    // change the brightness for next time through the loop:brightness = brightness + fadeAmount;

    // reverse the direction of the fading at the ends of the fade:if (brightness == 0 || brightness == 255) {fadeAmount = -fadeAmount ;

    }// wait for 30 milliseconds to see the dimming effectdelay(30);

    }

    6.2 Program Colok Nyala Menggunakan SaklarLangkah langkah dalam menjalankan dan me run program colok nyala dengan LEDadalah sebagai berikut1. Membuka program IDE Arduino

    2. Pilih menu File Basic - Button3. Melakukan inisiasi awal :

    a. const int PIN_7 = 7 Posisi Pin pushbutton berada pada PIN 7

  • 40

    b. const int PIN_13 = 13 posisi LED Pin pada PIN 13c. int keadaanSebelumnya = LOW kondisi pin state dengan value 0d. boolean ledmenyala = false kondisi ketika led menyala adalah false

    4. Mengatur void setup :a. pinMode(PIN_7, INPUT) led sebagai output dari programb. pinMode(PIN_13, OUTPUT) pin sebagai input untuk programc. digitalWrite(PIN_7, HIGH) kondisi pin adalah HIGH

    5. Mengatur void loop :a. If ((keadaanSekarang != keadaanSebelumnya jika kondisi sekarang tidak

    sama dengan keadaan sebelumnyab. if (keadaanSekarang == LOW) kondisi permisalan jika kondisi pinstate

    LOW

    c. ledNyala = not ledNyala jika kondisi If terpenuhi maka LED tidak menyalad. if (ledNyala) kondisi jika ledNyalae. digitalWrite (PIN_13, HIGH) maka LED pada PIN 13 akan menyalaf. else digitalWrite (PIN_13, LOW) jika kondisi nya if tidak terpenuhi maka

    PIN 13 tidak menyala6. Pilih menu Verify/Compile untuk mengecek apakah kode program (sketch) yang kita

    susun sudah benar/ belum.7. Jika sudah benar, pilih menu Upload untuk memasukkan kode program ke dalam

    microcontroller, dan menjalankannya. Hasil sketch program Colok Nyala ColokMati bisa diamati dari nyala mati lampu led yang disambungkan pada rangkaianmicrocontroller tersebut.

    Kondisi untuk program iniconst int PIN_7=7; // the number of the pushbutton pinconst int PIN_13=13; // the number of the LED pinboolean ledNyala = false;int keadaanSebelumnya = LOW;

    // variables will change://int buttonState = 0; // variable for reading the pushbutton statusvoid setup() {// initialize the LED pin as an output:

  • 41

    pinMode(PIN_7, INPUT);// initialize the pushbutton pin as an input:pinMode(PIN_13, OUTPUT);digitalWrite(PIN_7, HIGH);

    }void loop(){// read the state of the pushbutton value:int keadaanSekarang = digitalRead(PIN_7);

    // check if the pushbutton is pressed.// if it is, the buttonState is HIGH:if ((keadaanSekarang != keadaanSebelumnya) &&// turn LED on:(keadaanSekarang == LOW)){ledNyala = not ledNyala;

    if(ledNyala)digitalWrite (PIN_13, HIGH);else

    // turn LED off:

    digitalWrite(PIN_13, LOW); }

    6.3 Program Colok Nyala-MatiLangkah langkah dalam menjalankan dan me run program colok nyala dengan LEDadalah sebagai berikut1. Membuka program IDE Arduino

    2. Pilih menu File Basic - Button3. Melakukan inisiasi awal :

    a. const int PIN_7 = 7 Posisi Pin pushbutton berada pada PIN 7b. const int PIN_13 = 13 posisi LED Pin pada PIN 13c. boolean ledmenyala = false kondisi ketika led menyala adalah false

    4. Mengatur void setup :a. pinMode(PIN_7, OUTPUT) inisiasi pin LED sebagai output

  • 42

    b. pinMode(PIN_13, INPUT) inisiasi pushbutton sebagai inputc. digitalWrite(PIN_7, HIGH) kondisi pin adalah HIGH

    5. Mengatur void loop :a. int keadaanTegangan = digitalRead(PIN_7) membaca nilai dari pushbotton

    (kabel)b. if (keadaanSekarang == LOW) kondisi permisalan jika kondisi pinstate

    LOWc. ledNyala = not ledNyala jika kondisi If terpenuhi maka LED tidak menyalad. if (ledNyala) kondisi jika ledNyalae. digitalWrite (PIN_13, HIGH) maka LED pada PIN 13 akan menyalaf. else digitalWrite (PIN_13, LOW) jika kondisi nya if tidak terpenuhi maka

    PIN 13 tidak menyala6. Pilih menu Verify/Compile untuk mengecek apakah kode program (sketch) yang kita

    susun sudah benar/ belum.7. Jika sudah benar, pilih menu Upload untuk memasukkan kode program ke dalam

    microcontroller, dan menjalankannya. Hasil sketch program Colok Nyala ColokMati bisa diamati dari nyala mati lampu led yang disambungkan pada rangkaianmicrocontroller tersebut.

    Kondisi untuk program ini// set pin numbers:const int PIN_7=7; // the number of the pushbutton pinconst int PIN_13=13; // the number of the LED pinboolean ledNyala = false;

    // variables will change:int buttonState = 0; // variable for reading the pushbutton statusvoid setup() {// initialize the LED pin as an output:pinMode(PIN_7, OUTPUT);// initialize the pushbutton pin as an input:pinMode(PIN_13, INPUT);digitalWrite(PIN_7, HIGH);

    }

  • 43

    void loop(){// read the state of the pushbutton value:int keadaanTegangan = digitalRead(PIN_7);

    // check if the pushbutton is pressed.// if it is, the buttonState is HIGH:if (keadaanTegangan == LOW) {// turn LED on:

    ledNyala = not ledNyala;if(ledNyala)digitalWrite (PIN_13, HIGH);else

    // turn LED off:digitalWrite(PIN_13, LOW);

    }}

  • 44

    BAB VIIFINAL PROJECT KOMPUTASI DAN PEMOGRAMAN

    TRAFFIC LIGHT

    7.1 Rangkaian Elektronik

    Gambar 7.1 Rangkaian Traffic Light

    Dalam membuat pemograman Traffic Light diperlukan komponen sebagai berikut:

    1. 1 buah arduino uno2. 1 buah breadboard3. 1 buah 7 segment Anoda4. 6 buah lampu LED5. 7 buah resistor6. 15 buah kabel jumperpasangkan seven segment Anoda pada breadboard. Lalu hubungkan masing-masingkaki Vcc pada seven segment dengan kabel. Hubungkan kaki a hingga g pada pin

    1 hingga 7. Lalu tambahkan resistor 100 pada kaki Vcc dan sambungkan kakiresistor dengan kabel pada pin 5v. Setelah itu pasangkan 6 LED pada breadboard danpasangkan resistor 100 pada kaki anoda-nya dan sambungkan kaki resistor pada pin8 hingga 13. Setelah itu hubungkan kaki katoda LED dengan pin GND.

    7.2 Latihan PemrogramanUntuk menjalankan pemograman Traffic Light perlu dimasukkan sketch

    pada arduino untuk melakukan perintah sesuai dengan yang diinginkan. Sketch untukmenjalankan pemograman Traffic Light adalah sebagai berikut://inisiasiint LM1 = 10;

  • 45

    int LK1 = 9;int LH1 = 8;

    int LM2 = 11;

    int LK2 = 12;

    int LH2 = 13;

    const int a=1;

    const int b=2;const int c=3;const int d=4;const int e=5;const int f=6;const int g=7;

    void setup() //output{pinMode(LM1, OUTPUT);pinMode(LK1, OUTPUT);pinMode(LH1, OUTPUT);pinMode(LM2, OUTPUT);pinMode(LK2, OUTPUT);pinMode(LH2, OUTPUT);

    pinMode(a, OUTPUT);pinMode(b, OUTPUT);pinMode(c, OUTPUT);pinMode(d, OUTPUT);pinMode(e, OUTPUT);pinMode(f, OUTPUT);pinMode(g, OUTPUT);}void loop()//program{

    digitalWrite(LM2, HIGH);

  • 46

    digitalWrite(LH1, LOW);digitalWrite(LK1, HIGH);delay(500);nyalaH();delay(500);nyalaA();delay(500);nyalaT();delay(500);nyalaI();delay(500);nyalastrip();delay(500);nyalaH();delay(500);nyalaA();delay(500);nyalaT();delay(500);nyalaI();delay(500);digitalWrite(LM2, LOW);digitalWrite(LK1, LOW);digitalWrite(LH2, HIGH);digitalWrite(LM1, HIGH);nyala9();delay(1000);nyala8();delay(1000);nyala7();delay(1000);nyala6();delay(1000);nyala5();

  • 47

    delay(1000);nyala4();delay(1000);nyala3();delay(1000);nyala2();delay(1000);nyala1();delay(1000);nyala0();digitalWrite(LH2, LOW);digitalWrite(LK2, HIGH);delay(500);nyalaH();delay(500);nyalaA();delay(500);nyalaT();delay(500);nyalaI();delay(500);nyalastrip();delay(500);nyalaH();delay(500);nyalaA();delay(500);nyalaT();delay(500);nyalaI();delay(500);digitalWrite(LM1, LOW);digitalWrite(LK2, LOW);digitalWrite(LM2, HIGH);

  • 48

    digitalWrite(LH1, HIGH);delay(1000);nyala9();delay(1000);nyala8();delay(1000);nyala7();delay(1000);nyala6();delay(1000);nyala5();delay(1000);nyala4();delay(1000);nyala3();delay(1000);nyala2();delay(1000);nyala1();delay(1000);nyala0();

    }

    //sub angka seven segmentvoid nyala9()

    {digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, HIGH);digitalWrite(f, LOW);digitalWrite(g, LOW);

    }

  • 49

    void nyala8(){digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, LOW);

    }void nyala7(){digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);

    }void nyala6(){digitalWrite(a, LOW);digitalWrite(b, HIGH);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, LOW);

    }void nyala5(){digitalWrite(a, LOW);digitalWrite(b, HIGH);

  • 50

    digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, HIGH);digitalWrite(f, LOW);digitalWrite(g, LOW);

    }void nyala4(){digitalWrite(a, HIGH);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, LOW);digitalWrite(g, LOW);

    }void nyala3(){digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, LOW);

    }void nyala2(){digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, HIGH);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, HIGH);

  • 51

    digitalWrite(g, LOW);}void nyala1(){digitalWrite(a, HIGH);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, HIGH);

    }void nyala0(){digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, HIGH);

    }//sub huruf seven segmentvoid nyalaH(){digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, LOW);digitalWrite(d, HIGH);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, LOW);

    }void nyalaA()

  • 52

    {digitalWrite(a, LOW);digitalWrite(b, LOW);digitalWrite(c, LOW);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, HIGH);digitalWrite(g, LOW);

    }void nyalaT(){digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, HIGH);digitalWrite(d, LOW);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, LOW);

    }void nyalaI(){digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, HIGH);digitalWrite(d, HIGH);digitalWrite(e, LOW);digitalWrite(f, LOW);digitalWrite(g, HIGH);

    }void nyalastrip(){digitalWrite(a, HIGH);digitalWrite(b, HIGH);digitalWrite(c, HIGH);

  • 53

    digitalWrite(d, HIGH);digitalWrite(e, HIGH);digitalWrite(f, HIGH);digitalWrite(g, LOW);

    }Pembahasan pemograman Traffic Light tersebut adalah:

    1. Inisialisasi semua output pada program Traffic Light pada fungsi void setup (

    ). Pada rangkaian ini di setup pin 1 hingga 7 sebagai output pada masing-masingsegment dari seven segment, dan pin 8 hingga 13 sebagai output dari LED.

    2. Perintah void loop ( ) yang akan diulang dalam program ini adalah sebagaiberikut:Jika LED kuning-1 menyala, LED merah-2 nyala, dan LED hijau-1 mati,bersamaan dengan itu muncul huruf H A T I H A T I pada seven segment,masing-masing huruf berdurasi detik. Lalu lampu merah-2 mati, lampukuning-1 mati dan lampu hijau-2 nyala, dan lampu merah-1 nyala, bersamaandengan itu muncul angka dari 9 hingga 1 pada seven segment masing-masingangka berdurasi 1 detik. Lalu lampu hijau-2 mati dan lampu kuning-2 nyala,bersamaan dengan itu muncul lagi huruf H A T I H A T I pada seven segment,masing-masing huruf berdurasi detik. Lalu lampu merah-1 mati, lampukuning-2 mati, lampu merah-2 nyala dan lampu hijau-1 nyala, bersamaandengan itu muncul angka dari 9 hingga 1 pada seven segment masing-masingangka berdurasi 1 detik.

    3. Untuk menampilkan angka 1 sampai 9 dan huruf HATI HATI pada sevensegment, digunakan sub program untuk mempersingkat syntax-nya. Lalu setelahsyntax sub program selesai, berikutnya untuk memunculkan angka 1 sampai 9dan huruf HATI HATI pada seven segment hanya tinggal membuat syntaxuntuk memanggil sub program yang telah dibuat tadi.

    7.3 PenutupProyek arduino ini berjudul Traffic Light Persimpangan, yaitu mensimulasikanlampu merah pada persimpangan lalu lintas (karena keterbatasan pin, simulasinyamenyerupai pada perempatan). Proyek arduino ini menggabungkan lampu 6 buahLampu LED dan 7 segment digabungkan dengan syntax berhasil mensimulasikanlampu lalulintas dengan 2 buah lampu lampu lalulintas sebagai tanda pengatur

  • 54

    lalulintas dan 7 segmen sebagai indikator angka dan huruf. Aplikasi ini menggunakansub program untuk memudahkan pengelompokan fungsi dan untuk mempersingkatsyntax. Dari proyek ini berhasil disimulasikan lampu lalulintas sebagai pengatur jalanberikut perhitungan mundur dan peringatan hati-hati sebagai tanda serta peringatanbagi pengendara.