Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Jumat, 29 Agustus 2025

USB Device vs USB Host di Raspberry Pi Pico: Perbedaan, Fungsi, dan Contoh Aplikasi

Raspberry Pi Pico telah merevolusi dunia embedded systems dan DIY electronics dengan harga yang terjangkau dan performa yang tangguh. Salah satu fitur paling menarik yang sering menjadi pusat perhatian adalah kemampuan USB-nya. Namun, pemahaman mengenai mode USB Device dan USB Host seringkali membingungkan, terutama dalam konteks board kecil seperti Pico. Artikel ini membahas perbedaan, fungsi, dan contoh aplikasi USB Device dan USB Host pada Raspberry Pi Pico, sebagai panduan praktis untuk engineer maupun enthusiast.



Memahami Dasar-dasar USB pada Raspberry Pi Pico

 

Sebelum menyelami perbedaan antara Device dan Host, penting untuk memahami dasar-dasarnya. Raspberry Pi Pico dibekali dengan chip RP2040 yang memiliki controller USB 1.1 yang fleksibel. Kunci utamanya adalah chip ini dapat diprogram untuk beroperasi dalam berbagai mode USB, termasuk Device dan Host (OTG), meskipun secara fisik menggunakan konektor micro-USB yang sama. Mode USB tidak ditentukan oleh bentuk fisik konektor, tetapi oleh firmware yang berjalan di RP2040. Fleksibilitas inilah yang membuat Pico menjadi board yang sangat powerful. Mode Host pada Raspberry Pi Pico tidak selalu bersifat plug-and-play karena memerlukan rangkaian tambahan.

 

USB Device: Pico sebagai "Peripheral"

 

Pengertian dan Karakteristik

Dalam mode USB Device, Raspberry Pi Pico berperan sebagai peripheral yang terhubung ke komputer host (seperti PC, laptop, atau Raspberry Pi SBC). Ini adalah mode default yang paling umum digunakan. Pico akan muncul sebagai device tertentu di komputer host, misalnya sebagai serial port (COM), storage drive (USB Mass Storage), mouse, keyboard, atau MIDI device.

Ciri-ciri USB Device Mode:

- Daya: Pico biasanya menerima daya dari port USB host.

- Kontrol: Host yang mengontrol komunikasi dan memulai transfer data.

- Fungsi: Peran Pico ditentukan oleh program yang diunggah (sebagai apa ia akan dikenali oleh host).

Fungsi dan Cara Kerja

Fungsi utama mode Device adalah memungkinkan Pico untuk berkomunikasi dengan komputer host yang lebih powerful. Cara kerjanya:

1.  Pengembang memprogram Pico dengan firmware yang mendefinisikan "perilaku" USB-nya (misalnya, menggunakan SDK dan library seperti pico-sdk dan TinyUSB).

Contoh kode Raspberry Pi Pico sebagai USB Device (Serial CDC)

 

#include "bsp/board.h"

#include "tusb.h"


int main() {

    board_init();

    tusb_init(); // Inisialisasi stack USB TinyUSB


    while (1) {

        tud_task(); // Loop utama TinyUSB, wajib dipanggil terus

        if (tud_cdc_connected() && tud_cdc_available()) {

            char buf[64];

            uint32_t count = tud_cdc_read(buf, sizeof(buf));

            tud_cdc_write(buf, count); // echo balik data

            tud_cdc_write_flush();

        }

    }

}

 

Contoh sederhana ini akan membuat Raspberry Pi Pico dikenali sebagai USB Serial (CDC) dan melakukan echo input.

2.  Pico dihubungkan ke host via kabel USB.

3.  Host mendeteksi Pico sebagai device tertentu dan memuat driver yang sesuai.

4.  Komunikasi data dapat dilakukan, seperti mengirim data sensor dari Pico ke host atau menerima perintah dari host untuk mengontrol GPIO Pico.

Contoh Aplikasi USB Device

1.  Data Logger dengan Penyimpanan Massal

Pico dapat diprogram sebagai USB Mass Storage Device. Dengan menambahkan SD card ke GPIO, Pico dapat mencatat data suhu, kelembaban, atau akselerasi ke file pada SD card. Ketika disambungkan ke PC, Pico akan muncul sebagai flash drive, memungkinkan pengguna untuk menarik file data dengan mudah tanpa perlu mencopot SD card.

2.  Human Interface Device (HID)

- Macropad/Keyboard Kustom: Pico dapat menjadi keyboard atau keypad yang dapat diprogram untuk mengotomatiskan tugas, shortcut, atau bahkan untuk gaming.

- Joystick atau Gamepad: Mengubah tuas potensiometer atau joystick analog menjadi controller game yang diakui PC sebagai gamepad standar.

- Mouse: Menggunakan sensor optik atau joystick untuk mengontrol kursor komputer.

3.  Antarmuka Serial (CDC)

Ini adalah aplikasi paling umum. Pico muncul sebagai port COM/Serial di komputer. Ini digunakan untuk:

- Debugging: Menampilkan output log dan data debugging dari kode yang berjalan di Pico.

- Kontrol Real-time: Mengirim perintah sederhana dari PC (misalnya, dari script Python) untuk menyalakan/mematikan LED atau membaca status pin GPIO.

4.  MIDI Device

Bagi musisi, Pico dapat menjadi pengontrol MIDI (Musical Instrument Digital Interface). Dengan menambahkan potensiometer atau tombol, Pico dapat mengontrol parameter software synthesizer (DAW) seperti Volume, Pitch, atau Effect pada komputer host.

 

USB Host: Pico sebagai "Pengontrol"

 

Pengertian dan Karakteristik

Dalam mode USB Host, peran Pico berbalik. Pico menjadi host atau pengontrol yang bertugas menyediakan daya dan mengelola komunikasi dengan device USB yang terhubung kepadanya (seperti keyboard, mouse, atau flash drive).

Ciri-ciri USB Host Mode:

- Daya: Pico harus menyediakan daya ke device yang terhubung. Ini memerlukan rangkaian tambahan (powered USB hub atau pengaturan daya eksternal) karena port USB Pico tidak dirancang untuk menyuplai daya yang besar.

- Kontrol: Pico yang memulai dan mengontrol semua transfer data.

- Kompleksitas: Pemrograman mode Host lebih kompleks karena Pico harus menjalankan stack dan driver untuk device yang ingin dikenali.

Fungsi dan Cara Kerja

Fungsi mode Host adalah memungkinkan Pico untuk berinteraksi dengan dan mengontrol peripheral USB standar. Cara kerjanya:

- Pico diprogram dengan firmware Host yang menyertakan driver untuk device target (misalnya, driver HID untuk keyboard).

- Device (misalnya, keyboard USB) dihubungkan ke Pico. Ini biasanya memerlukan USB OTG Adapter (micro-USB to female USB-A) karena bentuk port Pico adalah micro-USB.

- Pico menyediakan daya terbatas dan melakukan enumeration (pengenalan perangkat oleh host) untuk mengidentifikasi device yang terhubung.

- Pico kemudian dapat membaca data dari device (seperti keypress dari keyboard) dan menggunakan data tersebut untuk logika pada GPIO-nya.

Contoh Aplikasi USB Host

1. Human Interface

- Menggunakan Keyboard USB: Membuat project yang dapat dikontrol dengan keyboard USB standar. Misalnya, mengetik 'L' untuk menyalakan LED atau 'A' untuk menggerakkan servo.

- Menggunakan Mouse USB: Membaca pergerakan dan klik mouse untuk mengontrol proyek lain, seperti crane robot sederhana.

2. Pembaca Storage (USB Mass Storage Host)

Pico dapat membaca file langsung dari flash drive USB. Contoh aplikasinya:

- Pemutar Musik Sederhana: Membaca file audio (.wav) dari USB drive dan memutarnya melalui output DAC sederhana.

- Pembaca Konfigurasi: Membaca file konfigurasi (file teks) dari USB drive untuk mengubah perilaku project tanpa perlu mem-flash ulang firmware.

3. Konektivitas dengan Device Khusus

Pico berperan sebagai host untuk adapter tersebut.

 

Pemahaman tentang dual-mode USB pada Raspberry Pi Pico membuka pintu ke berbagai aplikasi yang sangat luas. Mode USB Device adalah pintu gerbang untuk berkomunikasi dengan dunia PC, ideal untuk logging data, kontrol, dan interaksi HID. Sementara mode USB Host mengubah Pico menjadi otak yang dapat berinteraksi dengan peripheral USB standar, membuka kemungkinan untuk interface yang familiar seperti keyboard dan mouse tanpa perlu board yang lebih besar. Dengan fleksibilitas ini, Raspberry Pi Pico bisa menjadi titik awal belajar komunikasi USB bagi siapa pun yang ingin mendalami embedded system. Jangan ragu untuk bereksperimen, karena setiap proyek kecil bisa membuka ide besar berikutnya. Jadi, mode Device membuat Raspberry Pi Pico dikendalikan oleh komputer, sedangkan mode Host membuat Pico mengendalikan perangkat lain.

 

 

 

 

 

 

 

 

 

Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?

Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami! 

 

0 on: "USB Device vs USB Host di Raspberry Pi Pico: Perbedaan, Fungsi, dan Contoh Aplikasi"