Komponen · 10 mnt baca

Konverter Serial USB-TTL: Memakai CH340 dan CP2102

Apa fungsi konverter USB-TTL? Koneksi silang TX-RX, jumper 3,3 V/5 V, driver, pemrograman Pro Mini, ESP-01 dan ESP32-CAM, serta perbandingan CH340 vs CP2102.

Konverter USB-TTL adalah board kecil yang menerjemahkan port USB komputermu ke bahasa serial (UART) yang digunakan mikrokontroler. Kamu membutuhkannya untuk meng-upload kode ke board tanpa soket USB seperti Arduino Pro Mini, ESP-01, dan ESP32-CAM, membaca pesan serial yang keluar dari modul, atau mengonfigurasi modul GPS dan Bluetooth langsung dari komputer. Sebenarnya, setiap Arduino Uno dan Nano sudah memiliki rangkaian ini; konverter menjadikannya modul terpisah yang mudah dibawa.

Dalam panduan ini, kamu akan mempelajari pin konverter, kesalahan yang paling umum (pengkabelan TX-RX), jumper untuk memilih level logika 3,3 V atau 5 V, serta instalasi driver di Windows, macOS, dan Linux. Lalu kamu akan melihat cara memprogram Arduino Pro Mini tanpa menekan tombol berkat pin DTR, meng-upload kode ke ESP-01 dan ESP32-CAM, memakai konverter sebagai monitor serial kedua, serta perbedaan tiga chip yang paling umum: CH340, CP2102, dan FT232.

Modul konverter USB-TTL CP2102
Konverter USB-TTL CP2102: USB di satu ujung, pin GND, TXD, RXD, DTR, dan daya di ujung lainnya. Cara paling praktis untuk memprogram Pro Mini, ESP-01, atau ESP32-CAM.

Apa itu konverter USB-TTL dan apa fungsinya?

Komputer dan mikrokontroler berbicara dalam bahasa berbeda. USB adalah protokol kompleks yang dibangun dari paket, alamat, dan driver. Sebaliknya, UART mikrokontroler hanya memakai dua jalur: satu mengirim data (TX), satu lagi menerimanya (RX), dan setiap byte tersusun dari bit yang dikirim berurutan pada kecepatan yang disepakati (baud). Chip pada konverter muncul di komputermu sebagai port serial virtual (COM3 di Windows, /dev/cu.usbserial... di macOS, /dev/ttyUSB0 di Linux); setiap byte yang kamu tulis ke port tersebut keluar dari pin TX sebagai sinyal UART, dan setiap byte yang tiba di pin RX diteruskan ke komputer. TTL pada namanya berarti sinyal berubah antara 0 V dan 5 V, atau 0 V dan 3,3 V.

  • Memprogram board tanpa USB: Arduino Pro Mini, LilyPad, ESP-01, ESP32-CAM, dan chip ATmega328P polos dengan bootloader.
  • Membaca log serial: Memantau pesan debug di jendela kedua sementara USB bawaan board sibuk mengerjakan hal lain.
  • Berkomunikasi langsung dengan modul: Mengirim perintah AT ke ESP-01, membaca kalimat NMEA dari modul GPS, mengganti nama modul Bluetooth.
  • Menyelamatkan board rusak: Memprogram Uno atau Nano yang chip USB-nya mati melalui pin D0 dan D1.
  • Menghubungkan ke konsol perangkat lain: Pin konsol serial pada router, board printer 3D, atau komputer papan tunggal.

Pin USB-TTL: GND, VCC, TXD, RXD, DTR, dan RTS

PinFungsiCatatan
GNDGround bersamaSelalu dihubungkan
5VOutput 5 V dari USBBiasanya hingga 500 mA, tergantung port komputer
3V3Output 3,3 VDari chip atau regulator kecil; arus terbatas
TXDOutput data (komputer ke board)Terhubung ke pin RX board tujuan
RXDInput data (board ke komputer)Terhubung ke pin TX board tujuan
DTRJalur kendali yang menjadi LOW ketika port dibukaDipakai untuk reset otomatis pada Arduino
RTS / CTSJalur kendali aliranRTS dipakai dalam rangkaian upload otomatis board ESP; CTS dibiarkan tidak terhubung pada kebanyakan proyek

Pengkabelan silang TX-RX

Kesalahan paling umum adalah menghubungkan TX ke TX. Aturannya sederhana: jalur tempat satu perangkat berbicara harus menuju jalur tempat perangkat lain mendengarkan. Jadi, pin TXD konverter terhubung ke pin RX board tujuan, dan pin RXD-nya ke pin TX board tujuan. Beberapa board menambahkan arah pada labelnya agar tidak membingungkan: Arduino Pro Mini memakai label RXI (RX masuk) dan TXO (TX keluar), dan board FTDI bergaya SparkFun diberi label sehingga memasangkan kedua board secara langsung menghasilkan koneksi silang yang benar. Jika kamu tidak yakin dengan labelnya, coba balik koneksinya sekali; menukar TX dan RX tidak merusak apa pun, hanya tidak terjadi komunikasi.

KonverterBoard tujuanKeterangan
GNDGNDGround bersama, wajib
TXDRX (RXI, U0R)Silang: pemancar ke penerima
RXDTX (TXO, U0T)Silang: penerima ke pemancar
5V atau 3V3VCCHanya jika board tujuan tidak memiliki catu daya lain
DTRDTR / GRN / RSTHanya jika kamu membutuhkan reset otomatis
Jika board tujuan sudah mendapat daya dari adaptor atau baterainya sendiri, jangan hubungkan pin VCC konverter; GND, TXD, dan RXD sudah cukup. Menyatukan output dua catu daya terpisah bisa mendorong arus dari satu catu daya ke catu daya lainnya dan merusak konverter atau port USB komputermu. Namun, GND harus selalu dihubungkan; tanpa ground bersama, level sinyal menjadi tidak bermakna.

Jumper 3,3 V / 5 V: cara memilih level logika

Arduino Uno, Nano, dan Pro Mini 5 V memakai logika 5 V; ESP8266, ESP32, dan Raspberry Pi Pico memakai logika 3,3 V. Memasukkan sinyal 5 V ke pin RX ESP membebani dioda pelindung input dan bisa merusak pin secara bertahap. Itulah sebabnya kebanyakan modul CH340G memiliki jumper tiga pin: jumper memilih tegangan catu chip, dan level output TXD mengikuti tegangan tersebut. CP2102 selalu bekerja dengan logika 3,3 V, tetapi inputnya tahan terhadap 5 V, sehingga bisa berkomunikasi dengan baik dengan board 3,3 V maupun 5 V, karena ATmega328P 5 V sudah menganggap tegangan di atas 3 V sebagai HIGH. Modul FT232RL juga sering memiliki jumper yang memilih level I/O chip (VCCIO).

Board tujuanJumper atau level logikaDaya
Arduino Pro Mini 5 V / 16 MHz5 VDari pin 5V konverter
Arduino Pro Mini 3,3 V / 8 MHz3,3 VDari pin 3V3 atau catu dayanya sendiri
ESP-01 / ESP-01S3,3 VRegulator 3,3 V terpisah (minimal 300 mA)
ESP32-CAM3,3 VDari pin 5V konverter ke pin 5V board
Raspberry Pi Pico (UART0)3,3 VPico mendapat daya dari USB-nya sendiri; hanya GND, TX, RX

Jika konvertermu tidak memiliki jumper dan kamu perlu menghubungkan jalur TX 5 V ke input 3,3 V, pembagi tegangan sederhana sudah cukup: dengan 1 kΩ antara jalur TX dan RX tujuan, serta 2 kΩ antara RX tujuan dan GND, tegangan 5 V turun menjadi sekitar 3,3 V. Perhitungan lengkapnya ada di artikel pembagi tegangan. Arah sebaliknya, TX 3,3 V ke input 5 V, biasanya tidak bermasalah.

CH340 vs CP2102 vs FT232

FiturCH340 (G / C)CP2102FT232RL
ProdusenWCHSilicon LabsFTDI
Baud maksimum2 Mbps1 Mbps (CP2102N: 3 Mbps)3 Mbps
KristalCH340G membutuhkan kristal eksternal 12 MHz; CH340C memiliki kristal bawaanInternalInternal
Output 3,3 VTergantung modul, lemah pada kebanyakan modulAda, sekitar 100 mA termasuk chipAda, hingga 50 mA
Level logika5 V atau 3,3 V tergantung catu daya3,3 V, input tahan terhadap 5 V5 V atau 3,3 V tergantung VCCIO
DTR dan RTSAdaAdaAda, lengkap dengan semua jalur modem
DriverBiasanya otomatis di Windows; bawaan di macOS dan LinuxBiasanya otomatis di Windows; bawaan di macOS dan LinuxOtomatis di Windows; bawaan di macOS dan Linux
HargaPaling murahMenengahPaling mahal
Perlu diperhatikanJangan membebani pin 3V3 modul terlalu besarUrutan pin modul berbeda antarprodusenChip palsu banyak beredar; driver resmi mungkin menolak sebagian di antaranya

Untuk proyek hobi sehari-hari, praktis tidak ada perbedaan antara CH340 dan CP2102; keduanya berjalan tanpa masalah pada 115200 baud dan mudah menangani setiap kecepatan yang dipakai Arduino IDE. Osilator internal dan output 3,3 V yang lebih kuat pada CP2102 memberinya sedikit keunggulan ketika memberi daya ke board kecil 3,3 V, sedangkan CH340 paling murah dan paling umum. FT232RL adalah chip andal dengan opsi konfigurasi yang rinci, tetapi sebagian besar modul FT232 murah di pasaran memakai chip palsu. CH9102 dan CH343 yang kamu lihat pada board ESP32 yang lebih baru adalah anggota keluarga yang sama dengan kecepatan lebih tinggi dan dipakai dengan cara yang persis sama.

Konverter USB-TTL CH340
Konverter USB-TTL CH340: pilihan paling terjangkau. Jumper-nya memilih level logika 5 V atau 3,3 V.

Menginstal driver: Windows, macOS, dan Linux

Sistem operasiYang perlu dilakukanNama port
Windows 10 / 11Windows Update biasanya menginstal driver secara otomatis; jika tidak, instal CH341SER untuk CH340 atau driver CP210x VCP untuk CP2102COM3, COM4... di Device Manager › Ports (COM & LPT)
macOSVersi terbaru memiliki driver bawaan untuk CH340, CP2102, dan FT232; jangan menambahkan driver vendor lama di atasnya/dev/cu.usbserial-..., atau /dev/cu.wchusbserial... atau /dev/cu.SLAB_USBtoUART dengan driver vendor
LinuxDriver sudah ada di kernel; tambahkan pengguna kamu ke grup dialout, dan di Ubuntu hapus paket brltty jika port CH340 menghilang/dev/ttyUSB0

Jika setelah memasang konverter di Windows kamu melihat USB2.0-Serial dengan tanda seru kuning di bawah Other devices pada Device Manager, berarti driver CH340 belum terpasang; jika kamu melihat CP2102 USB to UART Bridge Controller, berarti driver CP2102 belum terpasang. Setelah driver terinstal, cabut konverter, pasang kembali, lalu lihat Tools › Port di Arduino IDE: port baru yang muncul ketika itu adalah port konverter. Jika tidak muncul apa pun, ganti kabel terlebih dahulu; kabel pengisian daya tidak memiliki kawat data. Daftar lengkap masalah port, driver, dan izin ada di artikel kode Arduino gagal di-upload.

Uji loopback: apakah konverter berfungsi?

  1. Lepaskan semua kabel dari konverter lalu pasang konverter ke komputer.
  2. Dengan kabel jumper, hubungkan pin TXD dan RXD pada konverter itu sendiri.
  3. Pilih port konverter di Arduino IDE dan buka Serial Monitor; kecepatannya tidak berpengaruh untuk pengujian ini.
  4. Ketik sesuatu dan kirim. Jika teksmu langsung kembali, chip, driver, dan kabel berfungsi baik; masalahnya ada pada pengkabelan atau board tujuan.
  5. Jika tidak ada yang kembali, periksa port, driver, dan kabel, lalu lihat apakah LED TX dan RX konverter berkedip.

Memprogram Arduino Pro Mini: reset otomatis dengan DTR

Board Arduino Pro Mini
Arduino Pro Mini: tidak memiliki soket USB. Header enam pin BLK, GND, VCC, RXI, TXO, dan GRN di sisi pendeknya ditujukan untuk konverter USB-TTL.

Ketika kode di-upload ke Arduino, board di-reset terlebih dahulu; bootloader, yang berjalan sekitar satu detik setelah reset, memeriksa apakah ada program baru yang datang melalui port serial. Uno dan Nano melakukan reset ini secara otomatis: ada kapasitor 100 nF di antara jalur DTR chip USB dan pin RESET prosesor. Begitu IDE membuka port, DTR turun dari HIGH ke LOW, kapasitor meneruskan penurunan mendadak ini ke pin RESET sebagai pulsa LOW singkat, dan board melakukan reset. Pada Pro Mini, kapasitor yang sama berada di board dan terhubung ke pin GRN (atau DTR) pada header; ketika kamu menghubungkan pin DTR konverter ke sana, upload menjadi semudah pada Uno.

USB-TTLPro MiniCatatan
GNDGND (atau BLK)Ground bersama
5V atau 3V3VCC5V untuk versi 5 V / 16 MHz, 3V3 untuk versi 3,3 V / 8 MHz
TXDRXISilang
RXDTXOSilang
DTRGRN (DTR)Reset otomatis; tanpanya kamu harus melakukan reset secara manual
  1. Cari tahu versi board-mu dari tulisan di bagian belakang atau pada kristalnya: board dengan kristal 16 MHz adalah versi 5 V, sedangkan yang memakai 8 MHz adalah versi 3,3 V.
  2. Atur jumper konverter agar sesuai dengan versi board, lalu hubungkan kabel sesuai tabel.
  3. Di Arduino IDE, pilih Tools › Board › Arduino AVR Boards › Arduino Pro or Pro Mini.
  4. Di bawah Tools › Processor, pilih ATmega328P (5V, 16 MHz) atau ATmega328P (3.3V, 8 MHz) sesuai board-mu.
  5. Pilih port konverter dan upload sketch pengujian di bawah; jika DTR terhubung, kamu tidak perlu menekan tombol apa pun.
C++ (Arduino IDE)
1// Pro Mini + USB-TTL testi: LED yanıp söner, gönderdiğin satır geri gelir
2// Pro Mini + USB-TTL test: the LED blinks and every line you send comes back
3const int LED = 13;                     // Pro Mini'nin dahili LED'i / Pro Mini onboard LED
4unsigned long sonDegisim = 0;
5bool ledAcik = false;
6
7void setup() {
8  Serial.begin(9600);
9  pinMode(LED, OUTPUT);
10  Serial.println(F("Pro Mini hazir / ready"));
11  Serial.print(F("Derlenen saat / compiled clock: "));
12  Serial.print(F_CPU / 1000000UL);      // 16 = 5 V sürüm, 8 = 3,3 V sürüm / 16 = 5 V board, 8 = 3.3 V board
13  Serial.println(F(" MHz"));
14}
15
16void loop() {
17  if (millis() - sonDegisim >= 500) {   // yarım saniyede bir / every half second
18    sonDegisim = millis();
19    ledAcik = !ledAcik;
20    digitalWrite(LED, ledAcik);
21  }
22  if (Serial.available()) {
23    String satir = Serial.readStringUntil('\n');   // satır sonuna kadar oku / read up to the line ending
24    satir.trim();
25    Serial.print(F("Geldi / received: "));
26    Serial.println(satir);
27  }
28}

Setelah upload selesai, LED pada board berkedip setiap setengah detik. Buka Serial Monitor pada 9600 baud dengan New Line dipilih, ketik sesuatu, dan teksnya akan kembali. Baris F_CPU dalam kode menangkap jebakan kecil tetapi penting: bootloader kedua versi Pro Mini melakukan upload pada 57600 baud, sehingga kode tetap bisa di-upload meskipun opsi Processor salah. Namun, jika kamu memilih 16 MHz untuk board 8 MHz, semuanya berjalan dengan setengah kecepatan, LED berubah sekali setiap detik, dan kamu hanya melihat karakter sampah di Serial Monitor. Jika konvertermu tidak memiliki pin DTR, kamu bisa mengatur waktu upload secara manual: begitu IDE selesai mengompilasi dan menampilkan Uploading... di output, tekan lalu lepaskan tombol reset Pro Mini.

Meng-upload kode ke ESP-01 dan ESP32-CAM

Pada ESP8266 dan ESP32, bootloader tertanam di dalam chip dan memeriksa pin GPIO 0 ketika boot: jika GPIO 0 LOW, chip masuk ke mode unduh dan menunggu kode; jika HIGH, chip menjalankan program dalam flash. Board pengembangan memiliki rangkaian upload otomatis yang menghubungkan jalur DTR dan RTS ke EN dan GPIO 0 melalui dua transistor; esptool mengubah level jalur ini secara berurutan untuk memasukkan board ke mode unduh secara otomatis. Konverter USB-TTL biasa tidak memiliki rangkaian ini, jadi kamu melakukannya secara manual: hubungkan GPIO 0 ke GND, reset board, upload kode, lalu lepaskan koneksi GPIO 0 dan reset lagi.

USB-TTL (jumper di 3,3 V)ESP-01ESP32-CAM
GNDGNDGND
TXDRXU0R (GPIO 3)
RXDTXU0T (GPIO 1)
DayaVCC dan EN (CH_PD) dari regulator 3,3 V terpisahDari pin 5V konverter ke pin 5V board
Mode uploadGPIO 0 ke GND, sentuhkan RST ke GND sebentarIO0 ke GND, tekan tombol RST
Board di Arduino IDEGeneric ESP8266 ModuleAI Thinker ESP32-CAM

ESP-01 menarik arus puncak di atas 300 mA ketika terhubung ke Wi-Fi; pin 3V3 konverter tidak bisa memasoknya dan modul terus melakukan reset. Jadi, gunakan regulator AMS1117-3.3 yang diberi daya dari pin 5V. Semua koneksi dan perintah AT ESP-01 ada di artikel modul ESP-01, dan langkah demi langkah upload ESP32-CAM ada di Tutorial ESP32-CAM. Jika kamu ingin proyek yang menambahkan PIR ke ESP32-CAM dan mengirim foto ke ponselmu, lihat foto ESP32-CAM ke Telegram.

ESP8266 mengirim pesan boot pada kecepatan yang tidak biasa, 74880 baud; atur Serial Monitor ke kecepatan tersebut dan kamu akan melihat apakah modul mulai dalam mode unduh (boot mode:(1,x)) atau mode normal (boot mode:(3,x)). ESP32 menulis pesan boot pada 115200 baud; baris waiting for download berarti GPIO 0 masih terhubung ke GND.

Membaca log serial: USB-TTL sebagai port serial kedua

Salah satu fungsi konverter yang jarang diketahui tetapi sangat berguna adalah menambahkan monitor serial kedua ke board. Ketika port USB bawaan board berkomunikasi dengan program Python, Serial Plotter, atau perangkat lain, kamu bisa memantau pesan debug terperinci melalui port terpisah. ESP32 memiliki tiga UART perangkat keras; kode di bawah menetapkan UART2 ke GPIO 16 dan 17, lalu mengirim satu baris log ke konverter setiap detik. Mengirim huruf r dari konverter mereset penghitung, sehingga kamu bisa melihat bahwa komunikasi berjalan dua arah.

C++ (Arduino IDE)
1// ESP32: USB portu Serial'de kalır, ikinci log kanalı USB-TTL'ye gider
2// ESP32: the USB port stays on Serial, a second log channel goes to the USB-TTL
3#define LOG_RX 16                       // USB-TTL TXD buraya / USB-TTL TXD goes here
4#define LOG_TX 17                       // USB-TTL RXD buraya / USB-TTL RXD goes here
5
6unsigned long sayac = 0;
7
8void setup() {
9  Serial.begin(115200);                                  // kartın kendi USB portu / the board's own USB port
10  Serial2.begin(115200, SERIAL_8N1, LOG_RX, LOG_TX);     // UART2: USB-TTL'ye / UART2: to the USB-TTL
11  Serial.println("Ana port / main port");
12  Serial2.println("Log portu hazir / log port ready");
13}
14
15void loop() {
16  sayac++;
17  int deger = analogRead(34);                            // GPIO 34'e bağlı bir sensör / a sensor on GPIO 34
18  Serial2.printf("[%lu ms] #%lu ADC=%d\n", millis(), sayac, deger);   // ayrıntılı log / detailed log
19  if (sayac % 10 == 0) Serial.println(deger);            // ana portta yalnız özet / only a summary on the main port
20
21  while (Serial2.available()) {                          // USB-TTL'den gelen komut / command from the USB-TTL
22    char c = Serial2.read();
23    if (c == 'r') {
24      Serial2.println("Sayac sifirlandi / counter reset");
25      sayac = 0;
26    }
27  }
28  delay(1000);
29}

Untuk pengkabelannya, atur jumper konverter ke 3,3 V dan hubungkan TXD ke GPIO 16, RXD ke GPIO 17, serta GND ke GND. Lalu, alih-alih membuka Arduino IDE kedua, kamu bisa memakai PuTTY, screen di macOS dan Linux, atau program pembaca kecil yang kamu tulis dalam Python; untuk sisi Python, lihat komunikasi serial Arduino dan Python. Pada Raspberry Pi Pico, gagasan yang sama hanya membutuhkan beberapa baris MicroPython: UART0 berada pada GP0 (TX) dan GP1 (RX), dan kode mengirim log sekaligus mengirim balik byte yang diterimanya.

MicroPython
1# Raspberry Pi Pico (MicroPython): UART0 üzerinden USB-TTL'ye log ve yankı
2# Raspberry Pi Pico (MicroPython): log and echo to a USB-TTL over UART0
3from machine import UART, Pin
4import time
5
6uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))   # GP0 = TX, GP1 = RX
7led = Pin(25, Pin.OUT)                                  # Pico dahili LED / Pico onboard LED (Pico W: "LED")
8sayac = 0
9son = time.ticks_ms()
10
11uart.write("Pico UART0 hazir / ready\r\n")
12while True:
13    if time.ticks_diff(time.ticks_ms(), son) >= 1000:   # saniyede bir log / one log line per second
14        son = time.ticks_ms()
15        sayac += 1
16        led.toggle()
17        uart.write("[%d ms] #%d\r\n" % (time.ticks_ms(), sayac))
18    if uart.any():                                      # USB-TTL'den gelen baytlar / bytes from the USB-TTL
19        veri = uart.read()
20        uart.write(b"Geldi / received: " + veri)
21    time.sleep_ms(10)

Metode yang sama memungkinkanmu mendengarkan apa yang dikirim modul tanpa Arduino sebagai perantara. Hubungkan modul GPS NEO-6M langsung ke konverter dan buka port pada 9600 baud, lalu kamu akan melihat kalimat NMEA mengalir masuk; buka Modul Bluetooth HC-05 dalam mode AT pada 38400 baud dan kamu bisa mengubah nama serta PIN-nya. Semua pengaturan akhir baris dan baud Serial Monitor ada di Serial Monitor Arduino.

Masalah umum dan solusinya

GejalaKemungkinan penyebabSolusi
Konverter tidak ada dalam daftar portKabel pengisian daya, driver belum terpasang, atau brltty di LinuxGunakan kabel data, instal driver, hapus brltty
“avrdude: stk500_getsync(): not in sync: resp=0x00”TX-RX terhubung lurus, DTR tidak terhubung, atau board yang dipilih salahHubungkan TX ke RXI dan RX ke TXO; hubungkan DTR ke GRN atau tekan reset ketika Uploading... muncul
Kode berhasil di-upload tetapi Serial Monitor menampilkan karakter sampahBaud rate tidak cocok atau pilihan MHz untuk Pro Mini salahAtur Serial Monitor ke kecepatan dalam kode, pilih versi board-mu yang sebenarnya di menu Processor
“Failed to connect to ESP8266 / ESP32”GPIO 0 tidak LOW ketika boot, atau TX-RX terbalikHubungkan GPIO 0 ke GND, lalu reset; periksa TX-RX
ESP terus memulai ulangOutput 3,3 V konverter tidak mampu menangani arus puncakGunakan regulator 3,3 V terpisah dan kapasitor 100–470 µF
Pro Mini melakukan reset setiap kali Serial Monitor dibukaDTR terhubung; reset ketika port dibuka adalah hal normalJika kamu tidak menginginkan reset, lepaskan kabel DTR setelah upload
Komputer mematikan port USB ketika konverter dipasangKorsleting atau dua catu daya saling berbenturanLepaskan kabel; jangan hubungkan VCC jika perangkat tujuan memiliki catu daya sendiri
Jika kamu tidak memiliki konverter, kamu bisa memakai Arduino Uno sebagai pengganti sementara: hubungkan pin RESET Uno ke GND atau upload sketch kosong ke Uno. Dalam kondisi ini, pengkabelannya lurus, bukan silang: TX perangkat tujuan menuju D1 (TX) Uno dan RX-nya ke D0 (RX) Uno, karena data memakai chip USB Uno, bukan prosesornya. Uno bekerja dengan logika 5 V, jadi jangan lupa memasang pembagi tegangan pada jalur D0 untuk board 3,3 V.

Konverter USB-TTL adalah salah satu alat terkecil di lacimu sekaligus salah satu yang paling sering kamu pakai: alat ini memprogram board tanpa USB, memungkinkan komputermu berkomunikasi dengan modul, dan menunjukkan baris demi baris apa yang terjadi di dalam proyekmu. Jika kamu ingat untuk menyilangkan TX dan RX, memilih level logika yang benar, dan menyatukan GND, hampir semua masalah hilang. Di aplikasi BlueGrays, kamu akan menemukan proyek komunikasi serial antara dua Arduino, kendali dari ponsel melalui Bluetooth, dan Wi-Fi ESP32, lengkap dengan skema pengkabelan langkah demi langkah dan kode siap pakai.

Pertanyaan umum

Untuk apa konverter USB-TTL digunakan?

Konverter ini mengubah port USB komputermu menjadi komunikasi serial UART yang dipakai mikrokontroler. Dengan begitu, kamu bisa meng-upload kode ke board tanpa USB seperti Arduino Pro Mini, ESP-01, dan ESP32-CAM, membaca pesan serialnya, serta mengonfigurasi modul seperti GPS atau Bluetooth langsung dari komputer.

Mana yang lebih baik, CH340 atau CP2102?

Pada proyek hobi, keduanya berjalan tanpa masalah pada 115200 baud dan kamu tidak akan merasakan perbedaannya dalam praktik. CP2102 memiliki osilator internal dan output 3,3 V yang lebih kuat, serta input yang tahan terhadap 5 V; CH340 lebih murah dan lebih umum. Versi terbaru macOS dan Linux memiliki driver bawaan untuk keduanya.

Bagaimana cara menghubungkan TX dan RX pada konverter USB-TTL?

Keduanya dihubungkan silang: pin TXD konverter menuju pin RX board tujuan, dan pin RXD-nya menuju pin TX board tujuan. GND harus selalu disatukan. Membalik jalur tidak menyebabkan kerusakan, tetapi tidak ada data yang akan diterima; jika ragu, tukar keduanya dan coba lagi.

Bagaimana cara memprogram Arduino Pro Mini dengan konverter USB-TTL?

Hubungkan GND ke GND, VCC ke VCC, TXD ke RXI, RXD ke TXO, dan DTR ke pin GRN. Di Arduino IDE, pilih board Arduino Pro or Pro Mini serta opsi ATmega328P (5V, 16 MHz) atau (3.3V, 8 MHz) yang sesuai dengan board-mu, lalu upload seperti biasa. Tanpa DTR, tekan tombol reset begitu Uploading... muncul.

Apakah konverter USB-TTL sebaiknya 3,3 V atau 5 V?

Level logika harus sesuai dengan board tujuan: 5 V untuk Uno, Nano, dan Pro Mini 5 V; 3,3 V untuk ESP8266, ESP32, dan Raspberry Pi Pico. Pada modul dengan jumper, kamu membuat pilihan ini melalui jumper. CP2102 selalu menghasilkan output 3,3 V dan inputnya tahan terhadap 5 V, sehingga bisa bekerja dengan kedua jenis board.

Bisakah Arduino Uno dipakai sebagai konverter USB-TTL?

Ya. Jika kamu menghubungkan pin RESET Uno ke GND atau meng-upload sketch kosong, chip USB-nya bisa diakses langsung melalui D0 dan D1. Dalam kondisi tersebut, pengkabelannya lurus: TX perangkat tujuan menuju D1 dan RX-nya ke D0. Karena Uno memakai logika 5 V, tambahkan pembagi tegangan pada jalur D0 untuk board 3,3 V.

Lihat semua proyek
Pengukuran Jarak HC-SR04 (Tampilan Serial)
#27Pemula

Pengukuran Jarak HC-SR04 (Tampilan Serial)

Sensor HC-SR04 bekerja persis seperti kelelawar yang mencari jalan dalam gelap: ia mengirim suara yang tidak bisa kamu dengar, mendengarkan pantulannya, dan mengukur seberapa jauh benda di depannya. A

4.6(46)
71
Suhu dan Kelembapan dengan DHT11
#55Menengah

Suhu dan Kelembapan dengan DHT11

Seberapa hangat kamarmu, dan apakah udaranya lembap atau kering? Sensor DHT11 mengukur suhu dan kelembapan, dan Arduino menulis nilainya di layar LCD dua baris, diperbarui setiap beberapa detik. Jika

4.7(47)
73
LED Berkedip dengan ESP32
#103Pemula

LED Berkedip dengan ESP32

Mengajarkan penggunaan output GPIO dasar dengan ESP32. Kita membuat efek berkedip dengan menyalakan dan mematikan LED dari pin digital. Versi ESP32 dari proyek blink klasik di Arduino UNO; perintah blink dasar di lingkungan Arduino sama, tetapi susunan pin ESP32 dan level GPIO 3,3 V-nya berbeda dengan Arduino UNO.

4.7(37)
99
Komunikasi Satu Arah Antara 2 Arduino
#57Menengah
Premium

Komunikasi Satu Arah Antara 2 Arduino

Kamu membuat dua Arduino berbicara lewat satu kabel: tekan tombol di satu board dan LED di board lain menyala, tekan lagi dan LED mati. Board pengirim melaporkan tekanan tombol dengan pesan singkat, d

4.4(37)
50
Komunikasi Dua Arah Antara 2 Arduino
#58Menengah
Premium

Komunikasi Dua Arah Antara 2 Arduino

Dua Arduino disambung dengan kabel dan saling berbicara: tekan tombol di satu board dan lampu di board lain menyala, tekan lagi dan lampunya mati. Kedua board menjalankan program yang sama, jadi masin

4.5(20)
26
Kendalikan LED dari Ponselmu lewat Bluetooth
#34Pemula
Premium

Kendalikan LED dari Ponselmu lewat Bluetooth

Latihan kecil untuk menyalakan dan mematikan lampu kamarmu dari ponsel. Modul Bluetooth meneruskan huruf yang dikirim dari ponselmu ke Arduino; satu huruf menyalakan LED merah, huruf lain menyalakan L

4.8(68)
89
Koneksi Wi-Fi STA ESP32 (dengan Layar LCD)
#127Mahir

Koneksi Wi-Fi STA ESP32 (dengan Layar LCD)

Di proyek ini, kita menyambungkan ESP32 ke jaringan Wi-Fi rumah dalam mode Station (STA) dengan cara yang aman dan tahan gangguan. Kita menyimpan SSID dan kata sandi di file secrets.h terpisah agar tidak bocor ke Git, menyiapkan mekanisme sambung ulang otomatis, dan menampilkan tingkat sinyal RSSI dan alamat IP di layar LCD I2C. LED bawaan bekerja sebagai indikator status. Ini adalah pengelola koneksi kelas produksi.

4.4(21)
34
Pembaruan OTA ESP32: Instal Firmware Tanpa Kabel (dengan Layar LCD)
#132Mahir
Premium

Pembaruan OTA ESP32: Instal Firmware Tanpa Kabel (dengan Layar LCD)

Di proyek ini, kamu belajar cara meng-upload firmware baru ke ESP32 lewat Wi-Fi tanpa kabel USB. Dengan library ArduinoOTA, ESP32 terlihat di jaringan dan otomatis tercantum sebagai bluegrays-ota di tab "Network port" Arduino IDE. Upload pertama dilakukan lewat USB, dan semua pembaruan berikutnya tanpa kabel; fitur penting untuk perangkat di lapangan. Layar LCD I2C menampilkan status Wi-Fi, alamat IP, nama host, persentase upload OTA, dan pesan error.

4.6(14)
22