0% menganggap dokumen ini bermanfaat (0 suara)
218 tayangan14 halaman

Pengenalan Arduino UNO

Dokumen tersebut memberikan penjelasan mengenai Arduino Uno, mikrokontroler ATmega328 yang digunakan, pin input dan output, serta cara kerja PWM pada output analog Arduino.

Diunggah oleh

Alifia
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
218 tayangan14 halaman

Pengenalan Arduino UNO

Dokumen tersebut memberikan penjelasan mengenai Arduino Uno, mikrokontroler ATmega328 yang digunakan, pin input dan output, serta cara kerja PWM pada output analog Arduino.

Diunggah oleh

Alifia
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 14

TUGAS MATA KULIAH

INTERFACING

PENGENALAN PIN OUT ARDUINO

DISUSUN OLEH:

THOHIROTUN NAFISAH : 17.13.2324

SILVI AULYA FARAH : 17.13.2322

BAYU FIRMAN ALAMSYAH : 17.13.2305

RAHMAWATI : 17.13.2320

JURUSAN/SEMESTER:

MANAJEMEN INFORMATIKA/5

AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER


TARUNA PROBOLINGGO

Jl. Raya Leces No. A3, Leces, Sumberkedawung, Leces, Probolinggo, Jawa Timur 67273

(0335) 681497
www.amik-taruna.ac.id
PENGERTIAN ARDUINO

Arduino adalah pengendali mikro single-board yang bersifat open-source, dirancang untuk
memudahkan penggunaan elektronik dalam berbagai bidang. Hardware dalam arduino
memiliki prosesor Atmel AVR dan menggunakan software dan bahasa sendiri.
Hardware
Hardware dalam arduino memiliki beberapa jenis, yang mempunyai kelebihan dan
kekurangan dalam setiap papannya. Penggunaan jenis arduino disesuaikan dengan kebutuhan,
hal ini yang akan mempengaruhi dari jenis prosessor yang digunakan. Jika semakin kompleks
perancangan dan program yang dibuat, maka harus sesuai pula jenis kontroler yang
digunakan. Yang membedakan antara arduino yang satu dengan yang lainnya adalah
penambahan fungsi dalam setiap boardnya dan jenis mikrokontroler yang digunakan. Dalam
tugas akhir ini, jenis arduino yang digunakan adalah arduino uno.
Arduino Uno Menurut Abdul Kadir (2013 : 16), Arduino Uno adalah salah satu
produk berlabel arduino yang sebenarnya adalah suatu papan elektronik yang mengandung
mikrokontroler ATMega328 (sebuah keping yang secara fungsional bertindak seperti sebuah
komputer). Piranti ini dapat dimanfaatkan untuk mewujudkan rangkaian elektronik dari yang
sederhana hingga yang kompleks. Pengendalian LED hingga pengontrolan robot dapat
diimplementasikan dengan menggunakan papan berukuran relatif kecil ini. Bahkan dengan
penambahan komponen tertentu, piranti ini bisa dipakai untuk pemantauan kondisi pasien di
rumah sakit dan pengendalian alat-alat di rumah. (Sumber: B. Gustomo, 2015 ) .Arduino Uno
berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip
driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi
R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno
mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya
lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO
memiliki fitur-fitur baru sebagai berikut:

 Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin
baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan
shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke
depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan
AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi
dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung,
yang disediakan untuk tujuan kedepannya
 Sirkit RESET yang lebih kuat
 Atmega 16U2 menggantikan 8U2
“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran
(produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi
untuk versi-versi Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari
board Arduino USB dan model referensi untuk papan Arduino

Ringkasan
Mikrokontroler ATmega328
Tegangan pengoperasian 5V
Tegangan input yang
7-12V
disarankan
Batas tegangan input 6-20V
Jumlah pin I/O digital 14 (6 di antaranya menyediakan keluaran PWM)
Jumlah pin input analog 6
Arus DC tiap pin I/O 40 mA
Arus DC untuk pin 3.3V 50 mA
32 KB (ATmega328), sekitar 0.5 KB digunakan oleh
Memori Flash
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz

Skema dan Referensi Desain


Referensi desain Arduino dapat menggunakan sebuah Atmega8, 168, atau 328, model
saat ini menggunakan Atmega328, tetapi Atmega8 ditampilkan pada skema sebagai referensi.
Konfigurasi pin identik pada semua ketiga prosesor tersebut.

Daya (Power)
Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power suplai
eksternal. Sumber daya dipilih secara otomatis. Suplai eksternal (non-USB) dapat diperoleh
dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan
mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board.
Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan
pin Vin dari konektor POWER.
Board Arduino UNO dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika
disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5
Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih
dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino
UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt.

Pin-pin dayanya adalah sebagai berikut:

 VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber
suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang
diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian
tegangan melalui power jack, aksesnya melalui pin ini.
 5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada board.
Board dapat disuplai dengan salah satu suplai dari DC power jack (7-12V), USB
connector (5V), atau pin VIN dari board (7-12). Penyuplaian tegangan melalui pin 5V
atau 3,3V membypass regulator, dan dapat membahayakan board. Hal itu tidak
dianjurkan.
 3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus maksimum
yang dapat dilalui adalah 50 mA.
 GND. Pin ground.

Memori
ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega 328
juga mempunyai 2 KB SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis (RW/read
and written) dengan EEPROM library).

Input dan Output


Arduino uno terdapat pin I/O untuk mengakses atau menerima data yang berupa sinyal
analog maupun sinyal digital.
Pada Arduino Uno berikut penjelasan singkatnya yang mudah dipahami:
a. Input Analog
Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang berhubungan
dengan variabel lain.
Contoh dari sinyal analog yaitu intensitas cahaya LED yang dimana arus yang didalamnya
juga meningkat, arus melalui resistor seperti yang kita memvariasikan tegangan, atau suhu di
kamar yang berjalan sering dengan berjalannya waktu.
Sinyal analog dapat mengambil nilai-nilai yang tak terbatas dan pada mikrokontroler tidak
dapat mewakili jumlah yang tak terbatas nilainya itu.
Sehingga yang harus dilakukan ketika ada sinyal analog yaitu dengan cara sampling dengan
cara mengubah sinyal analog tersebut menjadi sinyal digital melalui pin khusus
yaitu pin Analog ke Digital Konversi (ADC).
Ini pada dasarnya berarti bahwa memilih nilai-nilai tertentu di suatu daerah dan kemudian
kita menggunakan serangkaian bit untuk mewakili nilai-nilai tersebut saja.
Pin analog (ADC) tersebut berfungsi sebagai pengubah sinyal analog menjadi output digital
sehingga mudah diolah dan dapat diukur.
Pin analog (ADC) dapat mengukur nilai tegangan yang masuk dengan kondisi normal range
dari 0 – 5 Vdc yang akan dibandingkan dengan tegangan refrensinya (Vref).
Hal ini berguna saat akan mengukur output tegangan dari suatu sensor yang terhubung serta
dapat dimanfaatkan untuk keperluan pengondisian program.
Untuk membaca sinyal analog yang terhubung pada pin ADC di Software IDE Arduino yaitu
menggunakan fungsi analogRead([nomorPin]).
b. Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi harus melewati
proses pengubahan output dari digital menjadi analog yang memerlukan fungsi
komponen Digital to Analog Converter.
Tetapi pada Arduino fungsi tersebut tidak ada modul itu, sehingga memerlukan modul
eksternal (modul DAC) sebagai konverter sinyalnya.
Tetapi disisi lain, output analog pada Arduino kebanyakan memiliki fitur PWM (Pulse
Width Modulation).
Contoh kasus apabila arduino yang dihubungkan dengan LED ingin mengendalikan intensitas
cahaya dari LED tersebut (nyala terang – redup mati).
Analog output yang terdapat di Arduino akan mengeluarkan sinyal analog dengan nilai pwm /
intensitas yang telah diprogram/setting.
PWM seolah – olah dapat memanipulasi / mengubah sinyal digital menjadi sinyal analog.
Dengan cara Arduino mengubah keluaran sinyal digital dari logika HIGH ke LOW atau
sebaliknya dengan waktu yang telah ditentukan.
Lama waktu untuk logika HIGH dikatakan dengan istilah panjang pulsa atau pulse
width. Variasi perubahan nilai output analog dihasilkan dari perubahan panjang pulsa yang
telah diset dengan kondisi waktu tertentu serta dikerjakan secara berulang-ulang.
Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau menerima data yang
berupa input output digital. Penjelasan yaitu :
a. Input Digital
Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1 atau 0, logika high atau
low, maupun kondisi on atau off.
Beda halnya dengan sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1, nilai tersebut
akan dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital adalah pin yang dapat
mengirim atau menerima sinyal – sinyal digital.
Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari sensor tersebut
berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai 0 jika tidak terdeteksi adanya
benda.
b. Output Digital
Pada output digital sebenarnya hampir sama dengan input digital dikarenakan pada dasarnya
sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0.
Yang membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat
diset sebagai input maupun output.
format dasar pemograman untuk deklarasi >> pinMode ([pin yang digunakan], [INPUT or
OUTPUT]};

Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output,
menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-fungsi tersebut
beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus
maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50
kOhm. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:

 Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan
(TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke
pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
 External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah
interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang
besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.
 PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi
SPI menggunakan SPI library.
 LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin
bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.

Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan
10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut
mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas
atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi
lain, beberapa pin mempunyai fungsi spesial:

 TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI
dengan menggunakan Wire library

Ada sepasang pin lainnya pada board:

 AREF. Referensi tegangan untuk input analog. Digunakan dengan analogReference().


 Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus,
digunakan untuk menambahkan sebuah tombol reset untuk melindungi yang
memblock sesuatu pada board.

Komunikasi

Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan sebuah komputer,
Arduino lainnya atau mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi
UART TTL (5V), yang tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah Atmega 16U2
pada channel board serial komunikasinya melalui USB dan muncul sebagai sebuah port
virtual ke software pada komputer. Firmware 16U2 menggunakan driver USB COM standar,
dan tidak ada driver eksternal yang dibutuhkan. Bagaimanapun, pada Windows, sebuah file
inf pasti dibutuhkan. Software Arduino mencakup sebuah serial monitor yang memungkinkan
data tekstual terkirim ke dan dari board Arduino. LED RX dan TX pada board akan menyala
ketika data sedang ditransmit melalui chip USB-to-serial dan koneksi USB pada komputer
(tapi tidak untuk komunikasi serial pada pin 0 dan 1).
Sebuah SoftwareSerial library memungkinkan untuk komunikasi serial pada beberapa
pin digital UNO. Atmega328 juga mensupport komunikasi I2C (TWI) dan SPI. Software
Arduino mencakup sebuah Wire library untuk memudahkan menggunakan bus I2C,
lihat dokumentasi untuk lebih jelas. Untuk komunikasi SPI, gunakanSPI library.

Programming
Arduino UNO dapat diprogram dengan software Arduino (download). Pilih “Arduino
Uno dari menu Tools > Board(termasuk mikrokontroler pada board). Untuk lebih jelas,
lihat referensi dan tutorial.
ATmega328 pada Arduino Uno hadir dengan sebuah bootloader yang memungkinkan
kita untuk mengupload kode baru ke ATmega328 tanpa menggunakan pemrogram hardware
eksternal. ATmega328 berkomunikasi menggunakan protokol STK500 asli (referensi, file C
header) Kita juga dapat membypass bootloader dan program mikrokontroler melalui
kepala/header ICSP (In-Circuit Serial Programming)
Sumber kode firmware ATmega16U2 (atau 8U2 pada board revisi 1 dan revisi 2) tersedia.
ATmega16U2/8U2 diload dengan sebuah bootloader DFU, yang dapat diaktifkan dengan:

 Pada board Revisi 1: Dengan menghubungkan jumper solder pada belakang board
(dekat peta Italy) dan kemudian mereset 8U2
 Pada board Revisi 2 atau setelahnya: Ada sebuah resistor yang menarik garis HWB
8U2/16U2 ke ground, dengan itu dapat lebih mudah untuk meletakkan ke dalam mode
DFU. Kita dapat menggunakan software Atmel’s FLIP (Windows) atau pemrogram
DFU (Mac OS X dan Linux) untuk meload sebuah firmware baru. Atau kita dapat
menggunakan header ISP dengan sebuah pemrogram eksternal (mengoverwrite
bootloader DFU). Lihat tutorial user-contributed ini untuk informasi selengkapnya.

Reset Otomatis (Software)


Dari pada mengharuskan sebuah penekanan fisik dari tombol reset sebelum sebuah
penguploadan, Arduino Uno didesain pada sebuah cara yang memungkinkannya untuk
direset dengan software yang sedang berjalan pada pada komputer yang sedang terhubung.
Salah satu garis kontrol aliran hardware (DTR) dari ATmega8U2/16U2 sihubungkan ke garis
reset dari ATmega328 melalui sebuah kapasitor 100 nanofarad. Ketika saluran ini dipaksakan
(diambil rendah), garis reset jatuh cukup panjang untuk mereset chip. Software Arduino
menggunakan kemampuan ini untuk memungkinkan kita untuk mengupload kode dengan
mudah menekan tombol upload di software Arduino. Ini berarti bahwa bootloader dapat
mempunyai sebuah batas waktu yang lebih singkat, sebagai penurunan dari DTR yang dapat
menjadi koordinasi yang baik dengan memulai penguploadan.
Pengaturan ini mempunyai implikasi. Ketika Arduino Uno dihubungkan ke sebuah
komputer lain yang sedang running menggunakan OS Mac X atau Linux, Arduino Uno
mereset setiap kali sebuah koneksi dibuat dari software (melalui USB). Untuk berikutnya,
setengah-detik atau lebih, bootloader sedang berjalan pada Arduino UNO. Ketika Arduino
UNO diprogram untuk mengabaikan data yang cacat/salah (contohnya apa saja selain sebuah
penguploadan kode baru) untuk menahan beberapa bit pertama dari data yang dikirim ke
board setelah sebuah koneksi dibuka. Jika sebuah sketch sedang berjalan pada board
menerima satu kali konfigurasi atau data lain ketika sketch pertama mulai, memastikan
bahwa software yang berkomunikasi menunggu satu detik setelah membuka koneksi dan
sebelum mengirim data ini.
Arduino Uno berisikan sebuah jejak yang dapat dihapus untuk mencegah reset
otomatis. Pad pada salah satu sisi dari jejak dapat disolder bersama untuk mengaktifkan
kembali. Pad itu diberi label “RESET-RN” Kita juga dapat menonaktifkan reset otomatis
dengan menghubungkan sebuah resistor 110 ohm dari tegangan 5V ke garis reset

Proteksi Arus lebih USB


Arduino UNO mempunyai sebuah sebuah sekring reset yang memproteksi port USB
komputer dari hubungan pendek dan arus lebih. Walaupun sebagian besar komputer
menyediakan proteksi internal sendiri, sekring menyediakan sebuah proteksi tambahan. Jika
lebih dari 500 mA diterima port USB, sekring secara otomatis akan memutuskan koneksi
sampai hubungan pendek atau kelebihan beban hilang.

Karakteristik FIsik
Panjang dan lebar maksimum dari PCB Arduino UNO masing-masingnya adalah 2.7 dan 2.1
inci, dengan konektor USB dan power jack yang memperluas dimensinya. Empat lubang
sekrup memungkinkan board untuk dipasangkan ke sebuah permukaan atau kotak. Sebagai
catatan, bahwa jarak antara pin digital 7 dan 8 adalah 160 mil. (0.16"), bukan sebuah
kelipatan genap dari jarak 100 mil dari pin lainnya.
Semua pin pada Arduino, baik pin digital maupun pin analog, dapat digunakan sebagai pin
digital. Digital berarti sinyal yang dikirimkan/diterima bernilai 1 atau 0, on atau off, HIGH atau LOW,
ada atau tidak ada sinyal. Berbeda dengan sinyal analog yang nilainya bersifat kontinyu, yakni nilai
antara 0 dan 1 dipertimbangkan. Pin digital berarti pin dapat menerima/mengirim sinyal digital.
Secara umum pin pada Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input dan
output. Mode input berarti mengeset pin agar dapat digunakan untuk menerima masukan sinyal. Mode
output berarti mengeset pin agar dapat mengirimkan sinyal.
Untuk mengeset mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil di
dalam fungsi setup(). fungsi ini memerlukan dua parameter, pinMode([nomorPin], [mode]).
Parameter pertama diisi oleh nomor pin, dan parameter kedua diisi oleh konstanta INPUT atau
OUTPUT, sesuai dengan mode yang ingin kita gunakan. Sebagai contoh, lihat pada kode berikut.
void setup()
{
pinMode(1, INPUT); // set pin 1 sebagai pin input
pinMode(2, OUTPUT); // set pin 2 sebagai pin output
}

Digital Input

Pada dasarnya semua pin yang ada pada Arduino (ATMega) berada pada mode input secara
default. Jadi ketika kita ingin menggunakan suatu pin sebagai input, maka kita tidak mesti
menuliskan pinMode(nomorPin, INPUT);.

Untuk menerima input digital yang masuk ke pin, kita gunakan fungsi
digitalRead(nomorPin). Fungsi ini menerima satu parameter, yaitu nomor pin mana yang
akan dibaca nilai inputnya. Fungsi ini akan mengembalikan nilai 1 dan 0, atau HIGH dan
LOW (HIGH adalah konstanta dengan nilai 1 dan LOW adalah konstanta dengan nilai 0).

Digital Output

Sebenarnya pada bagian pembahasan Digital Input di atas, kita sudah mempraktekkan digital
output. Untuk mengirimkan sinyal digital, kita gunakan fungsi digitalWrite(nomorPin,
nilaiDigital). Fungsi ini dapat digunakan pada pin yang sebelumnya sudah diset ke mode
OUTPUT. Parameter kedua adalah set nilai HIGH atau LOW. Apabila pin diset dengan nilai
HIGH, maka voltase pin tersebut akan diset ke 5V (atau 3.3V pada board bertipe 3.3V) dan
bila pin diset ke LOW, maka voltase pin tersebut akan diset ke 0V.Untuk membantu
pemahaman, mari kita coba pada skenario lain. Bahan yang digunakan sama seperti pada
bagian Digital Input di atas, dengan tambahan 1 buah LED dan 1 buah resistor 220 ohm. Buat
rangkaian seperti pada gambar berikut:

Rangkaiannya sama seperti percobaan pertama, dan kita hanya menambah LED saja.
LED atau Light Emitting Diode memiliki dua buah kaki yakni anoda (+) dan katoda (-).
Biasanya kaki anoda atau positif dibuat lebih panjang daripada kaki negatif agar mudah
dikenali. Kaki positif dihubungkan dengan pin 3 melalui resistor 220 ohm. Kaki negatif
dihubungkan dengan GND. Kesalahan pemasangan posisi kaki membuat LED tidak menyala
dan pemasangan LED tanpa menggunakan resistor kemungkinan besar akan membuat LED
kelebihan arus yang menyebabkan LED terbakar dan rusak.

Sekarang kita akan menulis program supaya LED mengedipkan cahaya ketika pushbutton
ditekan dan mati ketika pushbutton dilepas.

const int pinButton = 2;


const int pinLed = 3;

// variabel untuk menyimpan nilai input pin button


int nilaiButton = 0;

void setup() {
// set mode input pada pin untuk button, ga wajib
pinMode(pinButton, INPUT);

// set pin untuk LED ke mode output


pinMode(pinLed, OUTPUT);
}

void loop() {
// baca nilai pin untuk button
nilaiButton = digitalRead(pinButton);

// cek apakah button ditekan


if (nilaiButton == HIGH) {
// buat LED berkedip
digitalWrite(pinLed, HIGH);
delay(100);
digitalWrite(pinLed, LOW);
delay(100);

} else { // kalo nilai pin LOW


// matikan LED
digitalWrite(pinLed, LOW);
}
}

Variabel pinLed kita set ke 3 karena LED kita terhubung dengan pin 3. Kemudian pada baris
22-25, pada saat button ditekan, kita nyalakan LED dan kita beri jeda selama 0,1 detik (100
milidetik), baru kemudian kita matikan LED dan beri jeda lagi 0,1 detik sebelum
mikrokontroller kembali mengulang pengecekan. Hal ini akan membuat LED terus berkedip
selama pushbutton terus ditekan.

Upload program dan bila kode dan rangkaianmu benar, mestinya rangkaianmu akan berjalan
sesuai rencana.

Anda mungkin juga menyukai