BAHAN
                                                AJAR
          (Mengenal Mikrokontroler) 
        Untuk SMK Kelas X Multimedia 
K-13
REVISI
2018
   Moh. Hisyam Fithrony, S.ST          SANTUN
                                       TERAMPIL
   SMK ISLAM AL‐AMAL SURABAYA          MANDIRI
     SISTEM KOMPUTER   MIKROKONTROLER – Page [ii]
                                   KATA	PENGANTAR	
         Puji dan syukur patut kami haturkan kepada Allah Ta’ala, karena atas ridho, rahmat, petunjuk dan
izin-Nya, sehingga modul bahan ajar ini bisa penulis selesaikan.
         Bahan ajar ini berjudul ’Sistem Komputer (mengenal Mikrokontroler) ’, merupakan bahan ajar yang
disusun untuk memenuhi kebutuhan modul pegangan bagi peserta didik Sekolah Menengah Kejuruan.
khususnya pada Bidang Keahlian Teknologi Komputer dan Informatika. Modul ini memuat uraian yang
mengacu pada kurikulum 2013 revisi 2018 sesuai dengan kompetensi inti dan kompetensi dasar Sistem
Komputer materi 6 untuk siswa SMK kelas X.
         Dalam mengembangkan modul ini, penulis berupaya agar materi yang disajikan sesuai dengan
kebutuhan kompetensi yang harus dicapai dan mengikuti perkembangan teknologi mutakhir. Oleh
karenanya, selain dari hasil pemikiran dan pengalaman penulis sebagai pengajar dan praktisi
Mikrokontroler (khususnya Arduino), materi yang dikembangkan juga diperkaya dengan referensi-referensi
pengembangan proyek Arduino yang sesuai.
         Pada kesempatan ini penulis ingin menyampaikan rasa terima kasih kepada semua pihak yang
mendukung pembuatan modul ini. Mudah-mudahan modul ini dapat bermanfaat bagi peserta didik dalam
mengembangkan kemampuannya. Penulis menyadari bahwa modul ini masih perlu dikembangkan terus
menerus, sehingga saran dari berbagai pihak pengguna modul ini sangat diharapkan.
                            Surabaya, 07 September 2019
                                                         Penulis
                                                                   
        
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [iii]
                       DAFTAR	ISI	
	
KATA PENGANTAR ......................................................................................................................................................................................... ii
DAFTAR ISI ........................................................................................................................................................................................................iii
PENDAHULUAN................................................................................................................................................................................................ 1
   A. Semester & Alokasi Waktu ........................................................................................................................................................... 1
   B. Kompetensi Dasar & Indikator Pencapaian Kompetensi............................................................................................... 1
   C. Tujuan Pembelajaran...................................................................................................................................................................... 1
   D. Strategi Pembelajaran .................................................................................................................................................................... 2
   E. Pokok-pokok Materi........................................................................................................................................................................ 2
MATERI BELAJAR ............................................................................................................................................................................................ 3
   A. ARSITEKTUR MIKROKONTROLER ........................................................................................................................................... 3
      1. Struktur Dasar Arduino ............................................................................................................................................................ 3
      2. Ragam Jenis Arduino.................................................................................................................................................................. 3
      3. Konfigurasi pinout	(I/O)	Arduino......................................................................................................................................... 4
   B. PROGRAMMER MIKROKONTROLER ....................................................................................................................................... 6
      1. Pengenalan Tools Arduino IDE.............................................................................................................................................. 6
      2. Cara Mengunggah Program di Arduino............................................................................................................................. 7
   C. KODE PROGRAM MIKROKONTROLER ................................................................................................................................... 7
      1. Perintah Dasar Arduino ............................................................................................................................................................ 7
      2. Pemrograman Sederhana Arduino...................................................................................................................................... 8
   D. CONTOH PENERAPAN MIKROKONTROLER ........................................................................................................................ 9
      1. Traffic Light .................................................................................................................................................................................... 9
      2. Mobile Robot............................................................................................................................................................................... 10
      3. Jam Digital Mini ......................................................................................................................................................................... 10
      4. LCD Menu ..................................................................................................................................................................................... 11
      5. 3D Printer..................................................................................................................................................................................... 11
   E. RANGKUMAN MATERI ................................................................................................................................................................ 12
Latihan / Aktifitas Peserta Didik........................................................................................................................................................... 13
      1. Simulator Arduino >>> https://tinkercad.com .......................................................................................................... 13
      2. Praktikum Program Dasar Arduino ................................................................................................................................. 13
      3. Proyek Penerapan Mikrokontroler Arduino................................................................................................................ 13
GLOSARIUM..................................................................................................................................................................................................... 14
Daftar Pustaka................................................................................................................................................................................................ 15
                                     
        
SMK ISLAM AL‐AMAL SURABAYA
     SIS  TEM KOMPUTER   MIKROKONTROLER – Page [1]
                         PENDAHULUAN	
A. Semester	&	Alokasi	Waktu	
Kelas / Semester : X / Genap
Alokasi Waktu : 10 Jam Pelajaran (5 x Tatap Muka)
B. Kompetensi	Dasar	&	Indikator	Pencapaian	Kompetensi	
KD   •[3.6] Menerapkan dasar‐dasar mikrokontroler.
     •[4.6] Manipulasi dasar‐dasar mikrokontroler (port IO, clock, arsitektur RISK, general 
      purpose RISK, stack pointer, SRAM, EEPROM, SREG).
IPK  •Menggambarkan arsitektur mikrokontroler.
     •Menjelaskan cara mengisikan aplikasi program ke dalam mikrokontroler.
     •Memodifikasi program sederhana untuk mikrokontroler.
     •Mereplikasi rangkaian sederhana berbasis mikrokontroler.
     •Merancang karya berbasis mikrokontroler untuk menyelesaikan permasalahan 
      nyata.
     •Mendemonstrasikan hasil karya pada rangkaian mikrokontroler.
      C. Tujuan	Pembelajaran	
                              Peserta didik mampu menggambarkan arsitektur mikrokontroler secara detail. 
       Peserta didik mampu menjelaskan cara mengisikan aplikasi program ke dalam mikrokontroler dengan bahasa yang 
                                                                      komunikatif.
                     Peserta didik mampu memodifikasi program sederhana untuk mikrokontroler secara kreatif.
                    Peserta didik mampu mereplikasi rangkaian sederhana berbasis mikrokontroler dengan benar.
        Peserta didik mampu merancang karya berbasis mikrokontroler untuk menyelesaikan permasalahan nyata dengan 
                                                                          efektif. 
          Peserta didik mampu mendemonstrasikan hasil karya pada rangkaian mikrokontroler dengan cara yang kreatif. 
       
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER                        MIKROKONTROLER – Page [2]
D. Strategi	Pembelajaran	
    Guna mencapai target pembelajaran, Anda perlu mempersiapkan diri dalam hal konsentrasi, ketelitian
dan membangkitkan kembali ingatan anda terkait pengalaman belajar tentang Pemrograman Dasar dan
Sistem Komputer di semester ganjil. Kita gunakan model pembelajaran Discovery	Learning dan Project	Based	
Learning	(PjBL) dengan Strategi Pembelajaran Kooperatif (SPK) untuk materi “Mikrokontroler”, kreatifitas
dan kekompakan peserta didik menjadi kunci keberhasilan dalam pembelajaran kali ini. Evaluasi dilakukan
untuk membuktikan ketercapaian tujuan belajar, agar memastikan peserta didik memperoleh capaian yang
seutuhnya. Selamat belajar dan berkarya dalam tim kerja yang handal !
E. Pokok‐pokok	Materi	
Materi yang akan dipelajari pada Kegiatan Belajar 1 dapat dilihat pada peta konsep di bawah ini:
                                                  Struktur dasar Arduino
                 Arsitektur Mikrokontroler        Ragam Jenis Arduino
                                                  Konfigurasi I/O Arduino
Mikrokontroler   Programmer Mikrokontroler             Pengenalan Tools Arduino IDE
   (KB 6)                                         Cara Mengunggah Program di Arduino
                   Kode Program Mikrokontroler          Perintah Dasar Arduino
                 Contoh Penerapan Mikrokontroler  Pemrograman Sederhana  Arduino
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [3]
                                           MATERI	BELAJAR	
A. ARSITEKTUR	MIKROKONTROLER	
    1. Struktur Dasar Arduino
        Komponen utama di dalam papan Arduino adalah sebuahmicrocontroller 8 bit dengan merk ATMega
    yang dibuat oleh perusahaan Atmel Corporation. Berbagai papan Arduino menggunakan tipe ATmega
    yang berbeda-beda tergantung dari spesifikasinya, sebagai contoh Arduino Uno menggunakan
    ATmega328 sedangkan ArduinoMega 2560 yang lebih canggih menggunakan ATmega2560.
        Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah microcontroller,
    pada gambar berikut ini diperlihatkan contoh diagram blok sederhana dari microcontroller ATmega328
    (dipakai pada Arduino Uno).
                                                Gambar01. Arsitektur Sederhana ATmega328
                                                 [Sumber : referensiarduino.wordpress.com]
             Penjelasan dari gambar diatas secara rinci sebagai berikut :
             a) Universal	Asynchronous	Receiver/Transmitter	(UART) adalah antar muka yang digunakan
                  untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.
             b) 2KB	RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh
                  variable-variabel di dalam program.
             c) 32KB	RAM	flash	memory bersifat non-volatile, digunakan untuk menyimpan program yang
                  dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader.
             d) Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya
                  dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan
                  dieksekusi.
             e) 1KB	EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang
                  saat daya dimatikan. Tidak digunakan pada papan Arduino (red: namun bisa diakses/diprogram
                  oleh pemakai dan digunakan sesuai kebutuhan).
             f) Central	Processing	Unit	(CPU), bagian dari microcontroller untuk menjalankan setiap instruksi
                  dari program.
             g) Port	input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan
                  data (output) digital atau analog.
          2. Ragam Jenis Arduino
             Sesuai dengan kebutuhan perancangannya, arduino memiliki beberapa ragam jenis dengan berbagai
          tujuan penggunaan, diantaranya : [sumber : wikipedia.org]
             a) Arduino	Uno
               Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan
             untuk menggunakan Arduino Uno. Banyak sekali referensi yang membahas Arduino Uno. Versi yang
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [4]
   terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya,
   memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemprograman cukup menggunakan
   koneksi USB type A to To type B. Sama seperti yang digunakan pada USB printer.
   b) Arduino	Due
    Berbeda dengan saudaranya, Arduino Due tidak menggunakan ATMEGA, melainkan dengan chip
   yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input analog. Untuk
   pemprogramannya menggunakan Micro USB, terdapat pada beberapa handphone.
   c) Arduino	Mega
    Mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemprogramannya.
   Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin
   I/O Digital dan pin input Analognya lebih banyak dari Uno.
   d) Arduino Leonardo
    Bisa dibilang Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O digital dan pin
   input Analognya sama. Hanya pada Leonardo menggunakan Micro USB untuk pemprogramannya.
   f) Arduino	Lilypad
    Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti
   membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi masih
   cukup untuk membuat satu projek keren. Dengan 14 pin I/O digital, dan 6 pin input analognya.
   g) Arduino	Nano
    Sepertinya namanya, Nano yang berukulan kecil dan sangat sederhana ini, menyimpan banyak
   fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman lewat Micro USB. 14 Pin I/O Digital, dan 8
   Pin input Analog (lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau
   ATMEGA328.
   h) Arduino	Mini
    Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk
   pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.
   i) Arduino	Micro	
    Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak yaitu;
   memiliki 20 pin I/O digital dan 12 pin input analog.
   j) Arduino	Ethernet
    Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat
   berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input
   Analognya sama dengan Uno.
   k) Arduino	Esplora
    Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi
   dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk lebih
   mempercantik Esplora.
   l) Arduino	Robot
    Ini adalah paket komplit dari Arduino yang sudah berbentuk robot. Sudah dilengkapi dengan LCD,
   Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot sudah ada padanya.
3. Konfigurasi pinout	(I/O)	Arduino
   Dalam modul kali ini, akan dibahas konfigurasi pinout	 (I/O) Arduino jenis Uno R3 yang sering
digunakan dalam pembelajaran / user pemula dan juga digunakan dalam proses pembelajaran di SMK
Islam Al – Amal Surabaya. Berdasarkan informasi pada laman circuito.io untuk pinout Arduino Uno, bisa
dikelompokkan sebagai berikut :
   a) Pinout catu daya
         Soket	daya	DC	(Barrel	Jack), dapat digunakan untuk sambungan daya yang terhubung dengan
            adaptor dinding dengan rentang tegangan 7 – 12 volt.
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [5]
     Vin	 pin, dapat digunakan seperti soket Barrel	 Jack, namun menggunakan interface soket
        header	pin	2 kaki.
     Port	USB, dapat digunakan untuk sambungan daya yang terhubung dengan komputer, dengan
        spesifikasi tegangan 5 volt dan arus 500mA. Menggunakan interface USB Tipe-B Female.
     Pin	5v	dan	3v3, dapat digunakan untuk memberi catu daya kepada komponen luar/tambahan
        berdasar aturan pabrik. Menggunakan interface	header	pin 1 kaki.
     Pin	GND, merupakan pinout catu daya negatif (baterai) atau Grounding komponen rangkaian.
        Terdapat 5 (lima) pin GND menggunakan interface	header	pin 1 kaki.
     Pin	 RESET, merupakan pinout untuk memberi perintah restart pada MCU, menggunakan
        interface	header	pin 1 kaki.
     Pin	 IOREF, merupakan tegangan referensi pada mikrokontroler, menggunakan interface	
        header	pin 1 kaki.
b) Pinout masukan analog
           Arduino Uno memiliki 6 (enam) pin analog yang dikelola oleh Analog to Digital Converter
    (ADC), walaupun pin ini disediakan untuk masukan analog, namun bisa juga difungsikan sebagai
    pin I/O digital. Pemanfaatan ADC seperti VoIP, setiap gawai pintar memiliki mikropon yang
    mengubah gelombang suara menjadi tegangan analog, kemudian data tegangan analog dibaca
    oleh ADC menjadi data digital untuk diberikan ke MCU. Berikut ini tampilan / pemetaan pinout
    analog input pada Arduino Uno.
                                                   Gambar02. Pinout Analog Input
                                                          [sumber : circuito.io]
c) Pinout digital pin
    Arduino Uno memiliki 14 digital pin, dengan konfigurasi pin 13 tersambung pada sebuah lampu
    bawaan/ built‐in	LED dengan konfigurasi aktif HIGH. Arduino Uno juga menyediakan fitur PWM
    yang tersemat pada pin 3,5,6,9,10,11 yang ditandai dengan simbol (~) pada pinnya. Agar lebih
    jelas, pemetaan digital pin Arduino Uno, bisa dilihat pada gambar berikut.
                                                                 Gambar03. Pinout Digital Input
                                                                    [sumber : circuito.io]
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [6]
B. PROGRAMMER	MIKROKONTROLER	
    1. Pengenalan Tools Arduino IDE
        Arduino IDE adalah aplikasi cross‐platform (untuk Windows , macOS , Linux ) yang ditulis dalam
    bahasa pemrograman Java . Ini digunakan untuk menulis dan mengunggah (upload) program ke papan
    Arduino yang kompatibel, tetapi juga, dengan bantuan core pihak ke-3, papan pengembangan vendor
    lainnya. Berikut ini merupakan tampilan Aplikasi Arduino IDE yang bisa digunakan selama pembelajaran
    mikrokontroler menggunakan Arduino.
                                                   Gambar04. Window Aplikasi Arduino IDE versi 1.6.4
                                                        [sumber : dokumentasi pribadi penulis]
             Kode sumber untuk IDE dirilis di bawah GNU General Public License , versi 2. Arduino IDE
          mendukung bahasa C dan C ++ menggunakan aturan khusus penataan kode. Arduino IDE
          mengembangkan dari wiring	project , yang menyediakan banyak prosedur input dan output yang umum.
          Kode yang ditulis pengguna hanya memerlukan dua fungsi dasar, untuk memulai sketsa dan loop
          program utama, yang dikompilasi dan dihubungkan dengan program fungsi utama / main () ke dalam
          program eksekutif siklik yang dapat dieksekusi dengan GNU toolchain , juga disertakan dengan distribusi
          IDE. Arduino IDE menggunakan program avrdude untuk mengubah kode yang dapat dieksekusi menjadi
          file teks dalam pengkodean heksadesimal yang dimuat ke papan Arduino oleh program loader di
          firmware papan. [sumber : wikipedia.org]
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER                         MIKROKONTROLER – Page [7]
2. Cara Mengunggah Program di Arduino
Program yang sudah dibuat di Arduino IDE bisa langsung di unggah (upload) ke board, tentunya
dengan melakukan verifikasi script terlebih dahulu, untuk memastikan tidak ada error/kesalahan dalam
pemrograman. Serta melakukan pengecekan terkait konfigurasi dan sambungan PC ke board. Tata cara
melakukan unggah program menggunakan Arduino IDE dapat dipelajari pada uraian langkah berikut :
a) Sambungkan Board Arduino Uno ke PC melalui Kabel Data
b) Buka Aplikasi Arduino IDE.
c) Pastikan Pengaturan sudah sesuai format berikut:
o Tools > Board: > Arduino Uno.
o Tools > Port > (sesuaikan lokasi COM dari device Arduino Uno anda terdeteksi).
d) Siapkan File/script yang ingin diunggah.
e) Lakukan Verifikasi dengan menekan tombol Verify , jika ada error perbaiki dahulu.
f) Jika tidak ada error, lanjutkan ke tahap unggah program dengan menekan tombol upload          .
C. KODE	PROGRAM	MIKROKONTROLER	
    1. Perintah Dasar Arduino
        Mengacu informasi dari Wikipedia, Arduino merupakan mikrokontroler single‐board yang bersifat
    open	 source, diturunkan dari Wiring	 platform, dirancang untuk memudahkan penggunaan elektronik
    dalam berbagai bidang. Perangkat kerasnya memiliki prosesor Atmel AVR dan softwarenya memiliki
    bahasa pemrograman sendiri. Namun dalam prosesnya, pemrograman Arduino mengadopsi bahasa
    pemrograman C yang dimodifikasi untuk memudahkan user pemula mempelajari mikrokontroler.
    Sehingga banyak perintah dasar (syntax program) yang mirip dengan bahasa C, namun lebih mudah
    untuk diingat, dipahami dan diterapkan, sebagaimana berikut :
        a) Fungsi Dasar
             void	setup()	{	
             //	semua	kode	yang	disini	akan	dibaca	sekali	oleh	Arduino	
             }	
             void	loop()	{	
             //semua	kode	yang	ada	disini	akan	dibaca	berulang	kali	(terus	menerus)	oleh	Arduino	
             }	
Semua kode program yang ada dalam void	setup akan dibaca sekali oleh Arduino. Biasanya isinya
berupa kode perintah untuk menentukan fungsi pada sebuah pin. Sedangkan semua kode
program yang ada di void	loop akan dibaca setelah void	setup dan akan dibaca terus menerus
oleh Arduino. Isinya berupa kode-kode perintah kepada pin INPUT dan OUTPUT pada Arduino.
b) Fungsi Mode Pin                                                           sebagai	  OUTPUT	
    pinMode(13,	OUTPUT);														//	 menentukan	 pin	 13	
    pinMode(3,	INPUT);																			//	menentukan	pin	3	sebagai	INPUT	
Fungsi pinMode akan dibaca oleh Arduino sebagai perintah inisialisasi pinout. Biasanya isinya
berupa pin yang ingin diinisialisasi dan fungsi pinnya sebagai pin INPUT dan OUTPUT.
c) Fungsi Serial
    Serial.begin(9600);										//	untuk	komunikasi	Arduino	dengan	komputer	
    Serial.print(namasensor);	//menampilkan	nilai	sensor	yang	disimpan	di	variabel	nama	sensor	
Fungsi Serial akan dibaca oleh Arduino sebagai perintah inisialisasi penggunaan fitur serial.
Biasanya isinya berupa subfungsi dari fitur serial.
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER                   MIKROKONTROLER – Page [8]
d) Fungsi Manipulasi I/O                                                                     13.	
    analogRead(A0);					//	artinya	kode	akan	membaca	nilai	sensor	pada	pin	AO.	              13.	
    digitalRead(13);					//	artinya	kode	akan	membaca	nilai	sensor	pada	pin	13	
     digitalWrite(13,	HIGH);				 	//untuk	 memberikan	 5V	 (nyala)		 kepada	 pin	
     digitalWrite(13,	LOW);	 	//untuk	 memberikan	 0V	 (mati)	 kepada	 pin	
     analogWrite(3,	127);					//untuk	memberi	nilai	127	(setara	dengan	2,5V)	kepada	pin	3.	
   Fungsi untuk manipulasi I/O ada 4 macam, yakni membaca nilai analog (analogRead), membaca
   nilai digital (digitalRead), memberikan nilai analog (analogWrite) dan memberikan nilai digital
   (digitalWrite).
   Dan masih banyak lagi perintah dasar maupun pengembangan dari Arduino, karena sifatnya open
source, sehingga pengembang dengan mudah dan bebas melakukan inovasi dalam pembuatan
script/kode program sesuai kebutuhan.
2. Pemrograman Sederhana Arduino
   Arduino merupakan aplikasi sumber terbuka, sehingga banyak sekali pengguna yang berbagi kode
program secara bebas dan gratis, untuk dipakai, dimodifikasi atau dioptimalkan serta kembali dibagikan
kedalam forum/komunitas. Berikut ini salah satu program sederhana Arduino untuk membuat lampu
berkedip dengan durasi 1 detik secara berulang-ulang.
   /*
     Blink
     Turns on an LED on for one second, then off for one second, repeatedly.
     Most Arduinos have an on-board LED you can control. On the Uno and
     Leonardo, it is attached to digital pin 13. If you're unsure what
     pin the on-board LED is connected to on your Arduino model, check
     the documentation at http://arduino.cc
     This example code is in the public domain.
     modified 8 May 2014
     by Scott Fitzgerald
    */
// the setup function runs once when you press reset or power the board
void setup() {
 // initialize digital pin 13 as an output.
 pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
   digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
   delay(1000);  // wait for a second
   digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
   delay(1000);  // wait for a second
}
          User yang ingin belajar otodidak, juga bisa mengamati dari contoh program dasar yang sudah disediakan
          oleh Aplikasi Arduino IDE, dengan membuka File > Examples (lihat gambar berikut).
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [9]
                                   Gambar05. Tampilan File Contoh Project Bawaan Arduino IDE
                                                 [Sumber : dokumentasi pribadi penulis]
     D. CONTOH	PENERAPAN	MIKROKONTROLER	
          Dari sebuah board arduino, kita bisa membuat berbagai macam alat yang sangat bermanfaat. Jadi fungsi
     dari Arduino sendiri bisa dikatakan tak terbatas. Kita bisa menggunakannya untuk membuat alat yang
     bermanfaat namun sederhana, bisa juga membuat alat rumit yang super canggih. Mengingat Arduino
     memiliki sumbangsih besar pada perkembangan era Internet of Thing (IoT) di masa kini dan mendatang.
          Untuk itu, kita hanya perlu memasukkan program ke dalam otak dari arduino itu sendiri, serta
     menghubungkannya ke berbagai macam output sesuai dengan kebutuhan. Nah, jika anda masih pemula
     dalam mempelajari arduino, berikut ini referensi mengenai ide-ide proyek penerapan mikrokontroler
     Arduino sederhana yang bermanfaat dan mudah diaplikasikan oleh para pemula (sebagian besar
     adalahkarya yang telah berhasil dibuat oleh kakak kelas anda di tahun-tahun sebelumnya), diantaranya :
          1. Traffic Light
             Pemanfaatan Mikrokontroler untuk membuat kendali traffic light diwujudkan dalam proyek minatur
          traffic light berikut. Berbasis Arduino UNO dalam persimpangan tiga.
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [10]
                                           Gambar06. Proyek TrafficLight berbasis Arduino Uno
                                  [sumber : Arsip Pribadi - Hasil Belajar kelas Sistem Komputer 2018]
          2. Mobile Robot
             Pemanfaatan Mikrokontroler untuk membuat mobile robot diwujudkan dalam proyek mobile robot.
                                          Gambar07. Proyek Mobile Robot berbasis Arduino Uno
                                  [sumber : Arsip Pribadi - Hasil Belajar kelas Sistem Komputer 2018]
          3. Jam Digital Mini
             Pemanfaatan Mikrokontroler untuk membuat Jam Digital diwujudkan dalam proyek Jam Digital Mini
          dengan tampilan LCD 16x2 .
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [11]
                                 Gambar08. Proyek Digital Mini berbasis Arduino Uno
                       [sumber : Arsip Pribadi - Hasil Belajar kelas Sistem Komputer 2018]
4. LCD Menu
   Pemanfaatan Mikrokontroler untuk membuat Aplikasi Menu diwujudkan dalam observasi LCDkeypad
Shield berikut.
                                     Gambar09. Observasi LCDKeypad Shield berbasis Arduino Uno
                                      [sumber : Arsip Pribadi - Hasil Observasi penulis tahun 2018]
          5. 3D Printer
             Pemanfaatan Mikrokontroler untuk membuat mesin 3D Printer sederhana.
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [12]
                                              Gambar10. 3D Printer DIY berbasis Arduino Uno
                            [sumber : Arsip Jurusan MM - Dokumentasi Hibah Donatur PPAY tahun 2019]
     E. RANGKUMAN	MATERI	
       Mikrokontroler merupakan sebuah teknologi berbentuk chip yang terintegrasi dalam papan rangkai (PCB)
       untuk keperluan kendali otomatis skala mikro yang diprogram melalui algoritma tertentu dan rangkaian
    yang disesuaikan dengan rancangan kebutuhannya. Arduino merupakan salah satu teknologi mutakhir
       mikrokontroler yang sering digunakan oleh pemula untuk belajar atau mengembangkan sebuah proyek
       berbasis mikrokontroler dan sumber terbuka. Sebagai sumbangsih dalam perkembangan konsep Internet
       of Thing (IoT) dalam masa kini.
                                               	
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [13]
                                Latihan	/	Aktifitas	Peserta	Didik	
    Untuk menunjang efektifitas pembelajaran, anda bisa manfaatkan latihan atau aktifitas berikut
menggunakan akses internet dari komputer/laptop maupun gawai pintar :
1. Simulator Arduino >>> https://tinkercad.com
   Anda bisa melakukan aktifitas Simulasi berdasarkan panduan LKPD1 secara berkelompok.
                              Gambar11. Tampilan situ Tinkercad.com untuk Simulasi Arduino
                                            Sumber : dokumentasi printscreen pribadi
2. Praktikum Program Dasar Arduino
   Setelah mencoba simulasi pada situs Tinkercad.com, anda bisa melanjutkan dengan praktikummandiri
   atau berkelompok, menggunakan	LKPD2 untuk lebih mendalami penerapan arduino dan
   pemrogramannya secara nyata. Jika sudah berhasil melakukan praktikum dengan program bawaan,
   cobalah memodifikasi program tersebut sesuai pemahaman anda terkait pemrograman Arduino dan coba
   buat laporan hasil modifikasi program anda.
3. Proyek Penerapan Mikrokontroler Arduino
   Setelah berhasil melakukan aktifitas Praktikum pada poin 2 (di atas), lanjutkan dengan konsep
   pembelajaran berbasis Proyek, dengan bantuan instruksi LKPD3.
NB : Pengembangan Lembar Kerja Peserta Didik akan dibahas lebih detail pada Tugas 2.4 (Pengembangan LKPD)
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [14]
                                              GLOSARIUM	
Berisi kumpulan istilah yang sering ditemui dalam pembelajaran kali ini :
 o ADC : Analog to Digital Converter
 o PWM : Pulse Width Modulation
 o UART : antar muka serial
 o Uploader : aplikasi untuk mengunggah kode program ke perangkat mikrokontroler	
 o Volatile: data hilang ketika catu daya dimatikan
    	
                           	
      
SMK ISLAM AL‐AMAL SURABAYA
     SISTEM KOMPUTER   MIKROKONTROLER – Page [15]
                                            Daftar	Pustaka	
Dokumentasi penggunaan referensi / literatur materi disajikan dalam daftar pustaka berikut :
 Heriyanto,	dkk	(2014),	Sistem	Komputer	(K13	revisi	2018),	Jakarta:	Yudhistira	
 Yuwono	Marta	Dinata	(2015),	Arduino	itu	Mudah,	Jakarta:	Elex	Media	Komputindo	
 Tim	Riset	Arduino	PENS	(2018),	Handout	Pelatihan	Arduino	Uno,	Surabaya	:	Mekatronika	
    PENS	
 http://perikecilious.blogspot.com/2016/01/modul‐pembelajaran‐i‐arsitektur.html	
    diakses	pada	5	September	2019	
 https://id.wikipedia.org/	diakses	pada	5	September	2019	
 https://www.arduino.cc/	diakses	pada	6	September	2019	
 https://www.circuito.io/	diakses	pada	7	September	2019	
 https://www.kelasrobot.com/belajar‐pemrograman‐dasar‐arduino/	diakses	pada	7	
    September	2019	
 https://www.referensiarduino.wordpress.com/	diakses	pada	7	September	2019	
 https://www.tinkercad.com/		diakses	pada	7	September	2019
 https://www.youtube.com/watch?v=ooy9gQlbk0M		diakses	pada	7	September	2019	
      
SMK ISLAM AL‐AMAL SURABAYA
