Apa fungsi pin pada Arduino?

Fungsi pin pada Arduino adalah menghubungkan sinyal-sinyal dari dalam modul Arduino ke luar dan sinyal dari luar Arduino ke dalam.  Setiap pin pada Arduino memiliki fungsi tertentu.

Berikut ini fungsi-fungsi pin pada Arduino UNO

Nama Port Fungsi Utama
Fungsi Lain
Power Jack catu daya 7 sampai 12 volt  
USB type B catu daya 5 volt & komunikasi serial  
IOREF referensi ADC  
RESET pin reset pada ATmega328  
3V3 supply 3,3 volt  
+5V supply 5 volt  
GND ground  
VIN tegangan masuk 7 sampai 12 volt  
A0 input analog & I/O digital  
A1 input analog & I/O digital  
A2 input analog & I/O digital  
A3 input analog & I/O digital  
A4 input analog & I/O digital SDA untuk I2C
A5 input analog & I/O digital SCL untuk I2C
D19 I/O digital  
D18 I/O digital  
AREF Pin referensi ADC (Analog to Digital Converter)  
D13 I/O digital  
D12 I/O digital  
D11 I/O digital OC2A , MOSI
D10 I/O digital OC1B, SS
D9 I/O digital IC1A
D8 I/O digital CLK0 , ICP1
D7 I/O digital AIN1
D6 I/O digital AIN0
D5 I/O digital T1
D4 I/O digital T0
D3 I/O digital INT1
D2 I/O digital INT0
D1 I/O digital TXD
D0 I/O digital RXD
 

Berikut ini daftar pin pada Arduino UNO R3

Pinout Arduino UNO
Pinout Arduino UNO

Apa fungsi pin analog pada Arduino?

  • Pin analog pada Arduino berfungsi menerima sinyal listrik berupa tegangan analog. Tegangan ini diubah oleh ADC (Analog to Digital Converter) menjadi angka digital. ADC pada Arduino UNO dan Arduino Nano memiliki resolusi 10 bit, jadi tegangan analog tersebut akan dibaca oleh perangkat lunak sebagai angka integer 0 sampai dengan 1023.
  • Pin analog pada Arduino UNO hanya ada 6 buah, yaitu A0 , A1, A2, A3, A4 dan A5

Apa fungsi pin digital pada Arduino?

  • Pin digital pada Arduino berfungsi menerima atau mengirim sinyal listrik digital. Tegangan pada pin digital akan dibaca oleh perangkat lunak sebagai angka 0 (jika input tegangan rendah mendekati 0 volt) atau 1 (jika input tegangan tinggi mendekati 5 volt). Fungsi untuk membaca tegangan pada pin digital adalah digitalRead(). Tegangan pada pin digital juga dapat diubah oleh perangkat lunak Arduino dengan fungsi digitalWrite().
  • Semua port pada Arduino dapat difungsikan sebagai input digital maupun output digital.

 

 

Berapa banyak pin analog pada Arduino UNO?

Berapa banyak pin analog pada Arduino UNO?

Jawab: jumlah pin analog pada Arduino UNO adalah 6 buah yaitu A0, A1, A2 A3, A4 dan A5

Berikut ini posisi pin-pin pada Arduino UNO:

Daftar pin pada Arduino UNO R3
Daftar pin pada Arduino UNO R3

Pin analog terdapat pada bagian kiri bawah. Pin analog tersebut multi fungsi , yaitu dapat berfungsi sebagai pin analog (input) maupun pin digital (input dan output).

Apa yang dimaksud dengan pin pada Arduino?

Yang dimaksud dengan pin pada Arduino adalah kontak elektrik yang terdapat pada modul Arduino. Kontak elektrik ini berfungsi untuk menyambungkan sinyal listrik dari modul Arduino ke perangkat lain di luar Arduino.

Berikut ini foto pin berbentuk batang-batang serupa jarum pada Arduino Nano

Arduino Nano tampak samping
Arduino Nano tampak samping

Setiap pin pada Arduino tersebut memiliki fungsi tertentu yang berbeda-beda. Untuk mengetahui fungsinya kita mesti membaca datasheet dari modul Arduino tersebut.

Berikut ini adalah daftar fungsi setiap pin pada Arduino Nano

Kontak elektrik pada Arduino UNO menggunakan lubang-lubang, bukan berupa pin. Berikut ini foto Arduino UNO dengan kontak elektrik berupa plastik hitam yang di dalamnya terdapat kontak elektrik.

Referensi

  • Arduino Nano Pinout https://docs.arduino.cc/hardware/nano
  • Datasheet Arduino Nano https://docs.arduino.cc/resources/datasheets/A000005-datasheet.pdf
  • Electrical Connector https://en.wikipedia.org/wiki/Electrical_connector

 

 

 

 

Perbedaan Arduino UNO dan ESP32

Berikut ini perbedaan utama antara Arduino UNO dan ESP32:

Parameter Arduino Uno ESP32
Prosesor ATmega328 Xtensa dual core / single core
Clock prosesor 16 MHz 160 MHz / 240 MHz
Ukuran 68,6 mm x 53,4 mm tergantung board
Analog Input 6 kanal, 10 bit ADC 18 kanal, 12 bit ADC
Tegangan catu daya 6 sampai 20 volt DC, namun disarankan hanya 7 sampai 12 volt DC 5 volt (USB)
Pin untuk Digital Input/Output 14 (6 dengan fitur Pulse Width Modulation) 34 (maksimum)
Berat 25 g tergantung board
Ukuran lebih kecil. shield Arduino Mega tidak dapat dipakai di Arduino UNO lebih besar. shield Arduino UNO dapat dipakai di Arduino Mega
Kapasitas flash memory 32 kilobyte 4 MB (eksternal denganm antar muka SDIO/SPI)
SRAM 2 kilobyte 320 kilobyte
EEPROM 1 kilobyte tidak ada secara khusus, namun dapat menggunakan sebagian memory Flash
Tegangan kerja 5 volt 3 volt
Konektor USB USB type B USB mini
Konektivitas Jaringan tidak ada WiFi 802.11, bluetooth
Port serial (UART) 1 (hardware) 3 (hardware)
I2C 1 kanal 2 kanal
Output analog tidak ada DAC (Digital to Analog Converter) ada DAC 2 kanal, 8 bit
SPI (Serial Peripheral Interface) 1 kanal 4 kanal

 

Arduino UNO R3, ESP32 Devkit-C  , ESP32 Lolin32 Lite
Arduino UNO R3, ESP32 Devkit-C , ESP32 Lolin32 Lite

Arduino UNO

Arduino UNO R3 asli
Arduino UNO R3 asli

Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Pada kondisi terburuk, chip ATmega328 dengan kemasan DIP (Dual In line Package) dapat diganti jika rusak.

ESP32

ESP 32 adalah mikrokontroler yang memiliki banyak fitur pada prosesornya, dan dilengkapi dengan konektivitas Wi-Fi dan Bluetooth terintegrasi untuk berbagai macam aplikasi.

ESP32 mampu berfungsi dengan andal di lingkungan industri, dengan suhu pengoperasian mulai dari –40°C hingga +125°C. ESP32 dapat secara dinamis menghilangkan ketidaksempurnaan sirkuit eksternal dan beradaptasi dengan perubahan kondisi eksternal dengan dukungan rangkaian kalibrasi di dalamnya. Rangkaian kalibrasi ini memungkinkan WiFi pada ESP32 berfungsi tanpa perlu kalibrasi ekstra.

ESP32 dirancang untuk perangkat bergerak (mobile), perangkat elektronik yang dapat dikenakan (wearable electronics), dan aplikasi IoT. Konsumsi daya ESP32 dapat dibuat sangat rendah dengan kombinasi beberapa macam perangkat lunak khusus. ESP32 juga mencakup fitur-fitur canggih, seperti ‘clock gating‘ untuk mereduksi konsumsi daya, berbagai mode daya, dan penskalaan daya secara dinamis.

ESP32 dibuat sangat terintegrasi dengan sakelar pemilih antena di dalamnya, RF balun, power amplifier untuk radio, amplifier penerima radio dengan kebisingan rendah (low noise), filter, dan modul manajemen daya. ESP32 menambahkan fungsionalitas dan keserbagunaan yang banyak aplikasi dengan hanya memerlukan ruang kecil di PCB (Printed Circuit Board)

ESP32 dapat berfungsi sebagai sistem mandiri yang lengkap atau sebagai perangkat pembantu ke mikrokontroler lain, mengurangi overhead tumpukan komunikasi pada prosesor aplikasi utama. ESP32 dapat berinteraksi dengan sistem lain untuk menyediakan fungsionalitas Wi-Fi dan Bluetooth melalui antarmuka SPI/SDIO atau I2C/UART.

Modul ESP32 tersedia dalam berbagai versi, di antaranya adalah Lolin32 Lite dan DevkitC serta clone nya.

ESP32 memiliki beberapa kelebihan dibandingkan Arduino. Di antaranya sebagai berikut:

  • Prosesor di ESP32 dari keluarga Xtensa, lebih cepat dibandingkan prosesor ATmega dengan arsitektur AVR. ESP32 clocknya adalah 240 MHz, sedangkan Arduino UNO menggunakan ATmega328 dengan kecepatan maksimum 16 MHz
  • Jumlah core pada prosesornya lebih banyak. ESP32 mempunyai 2 core, sedangkan ATmega328 hanya 1 core saja.
  • Memori Flash yang terhubung lebih banyak. ESP32 memiliki Flash Memory sebesar 1 MB sampai 16 MB. Arduino UNO memiliki memori flash sebesar 32 KB. Model Arduino lain ada yang memiliki flash lebih besar, seperti ATmega2560 yang memiliki flash sebesar 256 KB
  • Memori RAM lebih besar. ESP32 memiliki SRAM 520 KiB, sedangkan Arduino UNO memiliki SRAM hanya 2 KB. ATmega2560 memiliki SRAM sebesar 8 kilobyte
  • ESP32 memiliki kemampuan nirkabel WiFi 802.11 dan Bluetooth. Fitur ini di Arduino UNO tidak ada, harus menambah modul/shield.

Referensi

Perbedaan Antara Arduino UNO dan Raspberry PI 3

Berikut ini perbedaan utama antara Arduino Uno dan Arduino Nano

Parameter Arduino Uno Raspberry PI 3
Prosesor ATmega328 (AVR), single core, 8 bit ARM Cortex A53, quad core, 64 bit.
Clock 16 MHz 1,2 GHz
Memori RAM 2 kilobyte 1 gigabyte
Memori EEPROM 1 kilobyte tidak ada
Memori Flash 32 kilobyte (internal) tidak ada internal. Memori flashmenggunakan SD card eksternal
Input Analog 6 pin tidak ada
Input/Output Digital 14 (6 dengan fitur Pulse Width Modulation) 40 pin GPIO, namun tidak semuanya dipakai untuk input/output
Sistem Operasi tidak perlu sistem operasi, namun dapat menggunakan sistem operasi real time seperti FreeRTOS Raspberry Pi OSRaspberry Pi Debian, dan berbagai sistem operasi berbasis Linux, Windows IoT Core
Bahasa Pemrograman C / C++ praktis semua bahasa pemrograman yang dapat dijalankan di sistem operasi Linux
Port USB 1 buah USB type B untuk port serial dan catu daya 1 buah mini USB untuk catu daya
4 buah USB type-A untuk memasang periferal seperti keyboard-USB dan mouse-USB
Koneksi jaringan komputer tidak ada Ethernet 802.3 dan Wifi 802.11 (2,4 GHz)
Tegangan Kerja 5 volt 3,3 volt
Catu Daya 5 volt (USB), 6 ~ 12 volt (pin catu daya). Konsumsi arus untuk prosesor maksimum adalah 14 mA. Konsumsi arus untuk periferal output maksimum 200 mA. 5 VDC, 2,5 ampere
Ukuran 68,6 mm x 53,4 mm 85 mm x 56 mm
berat 37 g 50 g
harga Rp 350.000 ~ Rp 450.000 Rp 3,5 juta (model B+)

Arduino UNO

Arduino UNO R3 asli
Arduino UNO R3 asli

Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Jika ATmega328 rusak dapat diganti jika rusak.

Raspberry PI Model 3

Spesifikasi Raspberry Pi secara ringkas

The Raspberry Pi 3 Model B+ is the final revision in the Raspberry Pi 3 range.

  • Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
  • 1GB LPDDR2 SDRAM
  • 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
  • Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
  • Extended 40-pin GPIO header
  • Full-size HDMI
  • 4 USB 2.0 ports
  • CSI camera port for connecting a Raspberry Pi camera
  • DSI display port for connecting a Raspberry Pi touchscreen display
  • 4-pole stereo output and composite video port
  • Micro SD port for loading your operating system and storing data
  • 5V/2.5A DC power input
  • Power-over-Ethernet (PoE) support (requires separate PoE HAT)

Memilih Arduino Atau Raspberry Pi

Arduino dan Raspberry memiliki kelebihan dan kekurangan masing-masing. Berikut ini beberapa saran untuk melakukan pemilihan.

Faktor-faktor yang mengarah ke Raspberry Pi:

  • Perlu menjalankan aplikasi perlu dijalankan di sistem operasi Linux, misal database MySQL, web server Apache, dan sebagainya.
  • Aplikasi menggunakan bahasa pemrograman selain C/C++, misal Python, PHP, Java dan sebagainya.
  • Perlu terhubung ke internet lewat ethernet atau wifi
  • Tidak perlu input analog. Jika terpaksa perlu input analog, maka perlu menambah ADC eksternal seperti MCP3008, ADC1115 , HX711
  • Perlu output HDMI ke monitor
  • Perlu kamera
  • Perlu memori besar, baik memori RAM ataupun memori Flash.
  • Perlu kecepatan komputasi besar
  • Perlu periferal USB, seperti keyboard, mouse
  • Fasih menggunakan sistem operasi berbasis Linux

Faktor-faktor yang mengarahkan ke Arduino

  • Harga Arduino lebih murah
  • Aplikasi sederhana, sehingga sumber daya CPU dan memori yang diperlukan aplikasi sedikit.
  • Aplikasi mobile dengan sumber energi solar cell atau baterai, sehingga perlu hemat energi.
  • Tidak perlu konektivitas jaringan komputer, seperti ethernet atau wifi.
  • Perlu input analog
  • Perlu fitur real time dengan sistem operasi real time seperti FreeRTOS.
  • Porting real time operating system (RTOS) untuk Raspberry Pi tersedia untuk beberapa RTOS, namun tidak sepopuler pada Arduino atau mikrokontroler lain.
  • erlu akses langsung ke interupsi pada mikroprosesor. Pada Raspberry Pi, interupsi diurus oleh sistem operasi, jadi tidak dapat diakses langsung oleh pengguna.

Referensi

Perbedaan Arduino UNO dan Arduino Mega 2560

Berikut ini perbedaan utama antara Arduino UNO dan Arduino Mega

Parameter Arduino Uno Arduino Mega
Prosesor ATmega328 ATmega2560
Ukuran 68,6 mm x 53,4 mm 101,52 mm x  53,3 mm
Analog Input 6 16
Tegangan catu daya 6 sampai 20 volt DC, namun disarankan hanya 7 sampai 12 volt DC 7 sampai 12 volt DC
Pin untuk Digital Input/Output 14 (6 dengan fitur Pulse Width Modulation) 54 (6 dengan fitur Pulse Width Modulation)
Berat 25 g 37 g
Ukuran lebih kecil. shield Arduino Mega tidak dapat dipakai di Arduino UNO lebih besar. shield Arduino UNO dapat dipakai di Arduino Mega
Kapasitas flash memory 32 kilobyte 256 kilobyte
SRAM 2 kilobyte 8 kilobyte
EEPROM 1 kilobyte 4 kilobyte

Kesamaan antara Arduino UNO dan Mega:

Parameter Nilai
Clock prosesor 16 MHz
Digital Input/Output 14
EEPROM 1 kilobyte
Tegangan kerja 5 volt
Konektor USB USB type B
Tegangan kerja 5 volt

Arduino UNO

Arduino UNO R3 asli
Arduino UNO R3 asli

Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Pada kondisi terburuk, chip ATmega328 dengan kemasan DIP (Dual In line Package) dapat diganti jika rusak.

Arduino Mega 2560

Arduino Mega 2560 adalah modul mikrokontroler berbasis prosesor ATmega2560. Arduino Mega 2560 memiliki 54 pin input/output digital (15 di antaranya dapat digunakan sebagai output Pulse Width Modulation(PWM) / Modulasi Lebar Pulsa), 16 input analog, 4 UART (port serial perangkat keras), osilator kristal 16 MHz, koneksi USB, colokan catu daya, header ICSP (In Circuit Serial Programming), dan tombol reset. Modul berisi semua komponen yang diperlukan untuk menjalankan sistem mikrokontroler; Untuk mulai menggunakan/mengaktifkan, cukup dengan menyambungkan modul ini ke komputer dengan kabel USB atau nyalakan dengan adaptor AC-ke-DC atau baterai. Modul Arduino Mega 2560 kompatibel dengan sebagian besar perisai yang dirancang untuk Arduino UNO dan modul sebelumnya seperti Arduino Duemilanove atau Arduino Diecimila.

Arduino Mega 2560 adalah versi baru dari Arduino Mega. Perbedaan utama Arduino Mega 2560 dengan Arduino Mega adalah prosesor yang dipakai. Arduino Mega 2560  menggunakan prosesor ATmega 2560, sedangkan Arduino Mega menggunakan prosesor ATmega 1280.

Referensi

Perbedaan Arduino UNO dan Nano

Berikut ini perbedaan utama antara Arduino Uno dan Arduino Nano

Parameter Arduino Uno Arduino Nano
Ukuran 68,6 mm x 53,4 mm 18 mm x 45 mm
Konektor USB USB type B USB mini
Analog Input 6 8
Tegangan catu daya 6 sampai 20 volt DC, namun disarankan hanya 7 sampai 12 volt DC 7 sampai 12 volt DC
Pin untuk Digital Input/Output 14 (6 dengan fitur Pulse Width Modulation) 22 (6 dengan fitur Pulse Width Modulation)
Berat 25 g 7 g
Ukuran lebih besar, terutama dirancang untuk dipasangi Arduino Shield lebih kecil, terutama dirancang untuk dipasang di breadboard
     
     

Kesamaan antara Arduino UNO dan Nano:

Parameter Nilai
Prosesor ATmega328 (arsitektur AVR)
Clock prosesor 16 MHz
Digital Input/Output 14
EEPROM 1 kilobyte
SRAM 2 kilobyte
Flash memory 32 kilobyte ( 2 kilobyte  untuk boot loader)
   
   
   
Arduino UNO dan Arduino Nano
Arduino UNO (atas)  dan Arduino Nano (bawah)

Arduino UNO

Arduino UNO R3 asli
Arduino UNO R3 asli

Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Pada kondisi terburuk, chip ATmega328 dengan kemasan DIP (Dual In line Package) dapat diganti jika rusak.

Berikut ini contoh Arduino UNO dengan sebuah shield tampilan LCD yang dirancang untuk dipasang di atas Arduino UNO.

TFT LCD 2.4" Shield untuk Arduino UNO
Arduino UNO di sebelah TFT LCD

Arduino Nano

Arduino Nano asli
Arduino Nano asli

Arduino Nano adalah rangkaian mikrokontroler berbasis ATmega328 dalam kemasan kecil, lengkap, dan mudah dipasang di breadboard. Ini memiliki fungsi yang kurang lebih sama dengan Arduino UNO, dengan bentuk yang lebih kecil. Arduino Nano tidak memiliki colokan listrik DC, dan konektor USB yang dipakai adalah USB mini-B, lebih kecil daripada USB type-A di Arduino UNO.

Berikut ini contoh Arduino Nano dipasang di sebuah breadboard.

Rangkaian Arduino Nano dan MCP4725 di breadboard
Rangkaian Arduino Nano dan MCP4725 di breadboard

Referensi

 

Kelebihan dan Kekurangan Arduino Nano Dibandingkan Arduino UNO

Kelebihan Arduino Nano dibandingkan Arduino UNO:

  • Arduino Nano ukurannya lebih kecil dibandingkan Arduino UNO
  • Arduino Nano cocok untuk dipasang di breadboardd

Kekurangan Arduino Nano dibandingkan Arduino UNO:

  • Beberapa modul tersedia sebagai shield untuk Arduino UNO, namun tidak dapat / sulit disambungkan ke Arduino Nano
  • Untuk prototyping yang cepat, kabel dapat langsung dimasukkan ke konektor pada Arduino UNO
  • Pada Arduino UNO terdapat konektor power supply. Pada Arduino Nano, power supply ini terhubung ke pin VIN, tidak melalui konektor khusus.

Berikut ini perbandingan ukuran Arduino UNO dan Nano. Arduino UNO lebih besar dibandingkan Arduino Nano.

Arduino UNO dan Arduino Nano
Arduino UNO dan Arduino Nano

Berikut ini Arduino Nano dipasang di breadboard. Pada rangkaian itu Arduino Nano dihubungkan dengan LCD OLED 0.91″

Arduino Nano di breadboard dengan OLED 0.91"
Arduino Nano terpasang di breadboard

Berikut ini Arduino UNO dengan modul shield TFT LCD 2.4″.  Shield dapat dipasang langsung di atas Arduino UNO. Shield ini tidak dapat dipasang ke breadboard.

Arduino UNO dan shield TFT LCD 2.4"
Arduino UNO dan shield TFT LCD 2.4″

Berikut ini foto konektor USB (di sebelah kiri) dan konektor power (di sebelah kanan) pada Arduino UNO.

Konektor USB dan power pada Arduino UNO
Konektor USB dan power pada Arduino UNO

Referensi

 

 

 

Menyalakan Lampu Dengan Arduino Uno

Menyalakan Lampu Dengan Arduino Uno dapat dilakukan dengan berbagai cara, tergantung jenis lampu yang ingin dinyalakan.

Berikut ini adalah beberapa variasi lampu yang dapat dinyalakan dengan Arduino UNO:

  • LED tegangan kecil & arus kecil
  • LED tegangan besar / arus besar
  • Lampu bohlam
  • Lampu 220 volt

 

LED tegangan kecil & arus kecil

Untuk LED tegangan kecil dan arus kecil dapat dinyalakan langsung dari port Arduino. Harap diperhatikan bahwa tegangan pin pada Arduino UNO hanya maksimum 5 volt, sehingga hanya dapat menyalakan 2 LED seri. Arus yang dapat diambil dari port Arduino juga terbatas, sehingga arus pada LED juga terbatas. Menurut spesifikasi teknis Arduino UNO, arus maksimum di setiap port adalah 20 mA. Arus maksimum pada VCC ATmega328 adalah 200 mA, sehingga hal ini juga harus diperhatikan.

LED output
LED output

LED Tegangan Besar / Arus Besar

Untuk tegangan lebih dari 5 volt ataupun arus lebih dari 20 mA, maka perlu komponen tambahan berupa transistor untuk memperkuat arus & tegangan.

Berikut ini cara memperkuat tegangan pada output  Arduino, supaya dapat menggunakan catu daya 12 volt untuk menyalakan LED.

Penguat arus digital dengan transistor NPN
Penguat arus digital dengan transistor NPN

Lampu bohlam kecil

Lampu bohlam kecil memerlukan arus agak besar. Untuk memperkuat arus, dapat digunakan transistor NPN , seperti pada gambar berikut ini.

Penguat output digital dengan transistor NPN

Lampu 220 volt

Untuk menghubungkan Arduino ke tegangan 220 volt, umumnya dapat menggunakan relay elektromekanik ataupun relay solid state (SSR). Berikut ini contoh cara menghubungkan Arduino ke lampu 220 volt dengan relay elektromekanik.

Referensi

Kekurangan Arduino Mega 2560

Apa kekurangan Arduino Mega 2560? Untuk itu pertama dibandingkan dulu spesifikasi antara Arduino Mega 2560 dengan Arduino UNO Rev 3.

Spesifikasi

Perbandingan antara Arduino Mega 2560 dengan Arduino UNO

  Arduino UNO Rev 3
Arduino Mega 2560 Rev 3
Prosesor / Mikrokontroler ATmega328P ATmega 2560
Clock 16 MHz 16 MHz
SRAM 2 KB 8 KB
EEPROM 1 KB 4 KB
Flash Memory 32 KB 256 KB, 8 KB untuk bootloader
Digital I/O 14 (6 dengan PWM) 54 pin (15 dengan PWM)
Analog Input 6 16 pin
berat 25 g 37 g
Ukuran 68,6 x 53,4 mm 101,52 mm x 53,3 mm
Harga
  • Original: Rp 300 ribu ~ Rp 400 ribu
  • Clone / KW: Rp 60 ribuan ~ Rp 70 ribuan
  • Original: Rp 500 ~ Rp 600 ribuan
  • Clone/ KW: Rp 100 ribuan

Dari hasil perbandingan tersebut dapat disimpulkan bahwa secara teknis Arduino Mega 2560 lebih unggul dari sisi teknis, namun kelemahannya dibandingkan Arduino  UNO adalah harganya yang jauh lebih mahal, dan ukurannya yang lebih besar.

Kekurangan Arduino Mega 2560 Rev 3 adalah sebagai berikut

  • harga lebih mahal
  • ukuran lebih besar
  • bobot lebih berat

Keuntungan Arduino Mega 2560 dibandingkan Arduino UNO adalah sebagai berikut:

  • memori SRAM (Static Random Access Memory) lebih besar, 8 KB vs 2 KB
  • memori EEPROM (Electrically Erasable Programmable Read Only Memory) lebih besar, 4 KB vs 1 KB
  • memori Flash (untuk diisi program) lebih besar, 256 KB vs 32 KB
  • jumlah pin lebih banyak

Kesamaannya adalah sama-sama menggunaan prosesor dari keluarga AVR, dan kecepatan clocknya adalah sama-sama 16  MHz. Jadi program yang dijalankan di Arduino Mega akan sama kecepatannya dengan dijalankan di Arduino UNO.

Referensi

Cara Menghubungkan 2 Arduino

Dua buah board Arduino UNO/Nano dapat dihubungkan dengan komunikasi serial, sehingga keduanya dapat berkomunikasi.

Alternatif komunikasi serial yang dapat dipakai adalah sebagai berikut:

  • Komunikasi Serial Asinkron
  • Komunikasi Serial I2C / TWI (Two Wire Interface)
  • Komunikasi SPI (Serial Peripheral Interface)

Komunikasi Serial Asinkron

Pada komunkasi serial asinkron, port yang dipakai adalah port komunikasi serial TX & RX, atau pin D0 dan D1 pada Arduino. Cara menghubungkannya adalah silang, yaitu TX dihubungkan ke RX , RX dihubungkan ke TX. Pengiriman data dilakukan dengan menggunakan library Serial pada Arduino. Pada komunikasi ini hanya dapat dihubungkan 2 buah board Arduino.

Komunikasi asinkron pada Arduino dapat menggunakan hardware dan software. Secara hardware, komunikasi asinkron terhubung ke pin D0 dan D1. Jika perlu tambahan komunikasi serial, dapat menggunakan library SoftwareSerial. 

Jika menggunakan library SoftwareSerial, port yang digunakan bebas.

Berikut ini skema menghubungkan Arduino dengan komunikasi sinkron, menggunakan port asinkron bawaan aslinya. Pin TX di Arduino pertama dihubungkan ke RX di Arduino kedua. Pin RX di Arduino pertama dihubungkan ke TX di Arduino kedua.

Cara menghubungkan 2 arduino dengan komunikasi asinkron
Cara menghubungkan 2 arduino dengan komunikasi asinkron

Komunikasi Serial I2C/TWI

Pada komunikasi ini digunakan protokol TWI (Two Wire Interface). Pin yang dipakai adalah SDA (ADC4) dan SCL (ADC5).

Berikut ilustrasi port pada Arduino:

Pin Arduino UNO
Pin Arduino UNO

Pada protokol TWI/I2C, 1 prosesor menjadi master, sedangkan lainnya adalah slave. Pengalamatan pada I2C adalah 7 bit, jadi jumlah node maksimum yang dapat dihubungkan pada bus I2C adalah 128 buah prosesor.

Berikut ini contoh cara menghubungkan 2 buah Arduino dengan protokol I2C.

Arduino UNO Master Slave I2C
Arduino UNO Master Slave I2C

Tutorialnya dapat diikuti di https://www.arduino.cc/en/Tutorial/MasterWriter

Komunikasi SPI (Serial Peripheral Interface)

Pada komunikasi ini digunakan protokl SPI. Pin yang dipakai adalah SCK, MOSI, MISO dan SS.

Daftar pin yang dipakai untuk SPI  pada Arduino adalah sebagai berikut:

Jalur SPI
Pin Arduino Pin ATmega328
MOSI 11 or ICSP-4 PB3
MISO 12 or ICSP-1 PB4
SCK 13 or ICSP-3 PB5
SS 10 PB2

Berikut cara menghubungkan 2 perangkat yang menggunakan protokol SPI

 

Arduino Dengan SPI
Arduino Dengan SPI

Tutorial menghubungkan 2 Arduino dengan SPI dapat diikuti di https://circuitdigest.com/microcontroller-projects/arduino-spi-communication-tutorial

Referensi

Berapakah besar arus maksimal masing masing pin digital Arduino?

Arus maksimal masing-masing pin digital Arduino UNO dan Arduino Nano adalah 40 milliampere (mA), dengan asumsi tidak melanggar batasan arus maksimum VCC dan GND sebesar 200 mA.

Arduino UNO dan Arduino Nano menggunakan prosesor ATmega328. Arus maksimal ini dijelaskan di datasheet prosesor ATmega328 tersebut sebagai berikut:

ATmega328 absolute maximum rating
ATmega328 absolute maximum rating
 

Namun demikian perlu diperhatikan batasan arus yang lain, yaitu arus maksimum di pin VCC dan GND, yaitu 200 mA. Jumlah pin pada ATmega328 adalah 23 buah, jadi kalau semua pin mengeluarkan arus yang sama, maka arus di setiap pin adalah 200/23 = 8.7 mA.

Jika ingin mengeluarkan arus 40 mA, maka maksimum jumlah pin yang memberikan arus 40 mA adalah 200/40 = 5 pin saja.

Board Arduino tidak semuanya menggunakan prosesor ATmega328. Untuk Arduino yang menggunakan prosesor lain, maka perlu dicek datasheet masing-masing prosesornya.

Perangkat Lunak Untuk Simulasi Arduino

Arduino dapat disimulasikan dengan perangkat lunak apa saja?

Berikut ini beberapa simulator Arduino dalam bentuk perangkat lunak (software):

  1. Atmel Studio (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
  2. TinkerCad (https://www.tinkercad.com/) , simulasi berbagai perangkat termasuk Arduino. Gratis. Hanya Online
  3. Paul Ware’s Arduino simulator (https://github.com/Paulware/ArduinoDebugger/). Gratis & open source
  4. Simduino  (https://apps.apple.com/us/app/simduino/id526927905), hanya jalan di aplikasi Apple. Berbayar
  5. Emulare Arduino simulator (http://emulare.sourceforge.net/)
  6. Proteus Virtual System Modelling (VSM) https://www.labcenter.com/simulation/
  7. Virtronics Simulator for Arduino (http://www.virtronics.com.au/Simulator-for-Arduino.html)
  8. Arduino IO Simulator https://xevro.be/
  9. Circuit.io (https://www.circuito.io/) (hanya online)
  10. Virtual Breadboard (http://www.virtualbreadboard.com/)

Simulator Arduino yang sudah tidak aktif:

  1. Autodesk Eagle: fitur simulasi sudah tidak ada, tinggal PCB design saja
  2. Autodesk Circuits: sudah jadi tinkercad
  3. ArduinoSim: tidak dapat dicari lagi
  4. Arduino Simulator (https://sourceforge.net/projects/arduinosim/) sudah tidak aktif
  5. Electronify (https://www.electronify.org) ,sudah tidak aktif
  6. Yenka (https://www.yenka.com/). Sudah tidak menyediakan Arduino

 

Bagaimana mengatasi regulator Arduino yang panas?

Cara mengatasi regulator Arduino UNO ataupun Arduino Nano yang panas adalah dengan :

  • menggunakan tegangan pada power jack serendah mungkin. Tegangan paling kecil yang masih memungkinkan adalah 7 volt.
  • batasi pemakaian arus oleh prosesor
  • gunakan pendingin seperti kipas angin

Batasi Tegangan Power Jack dan VIN

Jika regulator Arduino panas, artinya ada disipasi daya pada regulator tersebut. Rangkaian regulator pada Arduino UNO adalah sebagai berikut

Rangkaian Catu Daya Arduino UNO
Rangkaian Regulator Arduino UNO

Tegangan dari power jack ataupun VIN dikecilkan menjadi 5 volt oleh regulator MC33269D-5.0 . Kelebihan tegangan ini dibuang menjadi panas. Makin besar perbedaan tegangan , maka daya yang dibuang makin besar. Daya makin besar, akibatnya regulator makin panas. Jadi salah satu cara mudah mengurangi panas pada regulator tersebut adalah dengan menggunakan tegangan power jack ataupun VIN di 7 volt saja.

Batasi Arus Mikroprosesor ATmega328

Arus maksimum pada terminal VCC prosesor adalah 200 mA. Arus ini akan menjadi beban juga bagi regulator.

Misal tegangan VIN 9 volt, dengan arus pada VCC ATmega328 adalah 200 mA. Maka akan ada pengurangan tegangan 4 volt pada regulator. Disipasi daya karena VCC sebesar P = V x I =4 volt x 200 mA = 800 mW

Misal penggunaan arus pada port ATmega328 dikurangi, sehingga total arus hanya 50 mA. Maka disipasi daya pada regulator menjadi P = VxI = 4 volt x 50 mA = 200 mW. Dengan demikian regulator tidak terlalu panas.

Gunakan Kipas

Regulator pada Arduino UNO tidak dilengkapi pendingin khusus seperti heat sink yang besar, sehingga panas sulit dibuang dengan baik. Pendinginan terutama melalui jalur tembaga di papan rangkaian (PCB) Untuk mempercepat pendinginan dapat dengan kipas angin kecil.

Secara teori cara ini dapat dipakai, namun dalam praktek sangat tidak praktis.

 

Arduino UNO R3
Arduino UNO R3

 

 

 

Cara Menghapus EEPROM Arduino

Cara menghapus EEPROM Arduino ada 2 cara:

  • Menghapus EEPROM menggunakan program yang diupload ke memori Flash dan kemudian dijalankan
  • Menggunakan fasilitas serial programming melalui ISP (In System Programming) di ATmega328
  • Menggunakan fasilitas parallel programming / high voltage programming pada ATmega328

Menghapus EEPROM Dengan Upload Program

Teknik ini dijelaskan di tutorial EEPROM Clear di https://www.arduino.cc/en/Tutorial/EEPROMClear

Prinsip dasarnya adalah menggunakan fungsi EEPROM.write() untuk menulis angka 0 ke semua lokasi EEPROM.

Berikut ini contoh program untuk menghapus semua isi data di EEPROM.

/*
 * EEPROM Write
 *
 * Stores values read from analog input 0 into the EEPROM.
 * These values will stay in the EEPROM when the board is
 * turned off and may be retrieved later by another sketch.
 */


#include <EEPROM.h>

/** the current address in the EEPROM (i.e. which byte we're going to write to next) **/
int addr = 0;

void setup() {
  /** Empty setup. **/
}

void loop() {
  /***
    Need to divide by 4 because analog inputs range from
    0 to 1023 and each byte of the EEPROM can only hold a
    value from 0 to 255.
  ***/


  int val = analogRead(0) / 4;

  /***
    Write the value to the appropriate byte of the EEPROM.
    these values will remain there when the board is
    turned off.
  ***/


  EEPROM.write(addr, val);

  /***
    Advance to the next address, when at the end restart at the beginning.

    Larger AVR processors have larger EEPROM sizes, E.g:
    - Arduno Duemilanove: 512b EEPROM storage.
    - Arduino Uno:        1kb EEPROM storage.
    - Arduino Mega:       4kb EEPROM storage.

    Rather than hard-coding the length, you should use the pre-provided length function.
    This will make your code portable to all AVR processors.
  ***/

  addr = addr + 1;
  if (addr == EEPROM.length()) {
    addr = 0;
  }

  /***
    As the EEPROM sizes are powers of two, wrapping (preventing overflow) of an
    EEPROM address is also doable by a bitwise and of the length - 1.

    ++addr &= EEPROM.length() - 1;
  ***/



  delay(100);
}

Menghapus EEPROM Dengan ISP (In System Programming)

Pada metode ini, diperlukan antar muka khusus ke port ISP di ATmega328 pada Arduino UNO. Contoh antar muka yang populer adalah USBasp (https://www.fischl.de/usbasp/)

Perangkat lunak yang diperlukan ada beberapa macam, misalnya:

 

Arduino UNO R3
Arduino UNO R3