Kodesiana #NgodingItuMudah by Fahmi Noor Fiqri

Arduino sebagai USB Serial ProgammeršŸ”Œ

Salah satu metode komunikasi yang didukung oleh Arduino adalah USB serial/UART. Arduino merupakan prototypingĀ board yang marak digunakan untuk membuat sistem kecil menggunakan mikrokontroler ATmega 328P. Terdapat banyak sekali modul yang dapat digunakan bersama dengan Arduino yang membuat board ini semakin populer.

Admin mohon maaf karena tidak bisa posting artikel tentang IoT dan ESP8266 karena admin kehilangan modulnya :( Mungkin di kesempatan selanjutnya admin akan posting!

Komunikasi serial ini memiliki banyak kelebihan seperti hanya menggunakan dua kabel (TX dan RX), kecepatan komunikasi yang tinggi, dan banyak modul yang menggunakan metode komunikasi ini. Sebelum dapat menggunakan modul tersebut, terkadang beberapa modul tertentu perlu melakukan konfigurasi terlebih dahulu sebelum dapat digunakan bersama dengan Arduino.

Hal ini dapat dilakukan dengan menggunakan bantuan USB to Serial/TTL Converter yang biasanya menggunakan chip FTDI. Konverter semacam ini sangat umum dipasaran dengan harga yang bervariasi. Tetapi jika Anda tidak mempunyai konverter ini, Anda dapat menggunakan board Arduino sebagai koverter USB ke serial. Board Arduino memiliki adapter USB yaitu chip ATmega16U2. Dengan memanfaatkan fitur ini, kita dapat menggunakan Arduino sebagai konverter USB ke serial/TTL.

Arduino USB Serial Pass Through

Metode yang akan digunakan kali ini adalah prinsip serial passĀ through. Idenya adalah meneruskan data dari HardwareSerial ke perangkat lain menggunakan SoftwareSerial.

Skema Breadboard

Pada contoh kali ini penulis akan menggunakan modul HC-05 dan Arduino UNO R3. Penulis ingin mengubah pengaturan HC-05 agar lebih mudah digunakan dengan Arduino. Hubungkan HC-05 pin RX ke 6 dan TX ke pin 7 pada Arduino.

Catatan! Sebaiknya Anda menggunakan logicĀ levelĀ shifter untuk mengubah TTL dari level 5v ke 3,3v. Hal ini diperlukan karena HC-05 menggunakan level TTL 3,3v. Jika Anda tidak mempunyai level shifter, Anda dapat menggunakan rangkaian resistor 1k dan 2k pada bagian RX ke HC-05. Selain itu, dapat dilihat bahwa PIN 6 adalah RX dari HC-05 dan PIN 7 adalah TX dari HC-05 (selalu ingat RX–>TX dan TX–>RX).

Source Code

Setelah rangkaian terpasang, selanjutnya adalah memprogram Arduino untuk meneruskan data dari USB ke modul melalui PIN 6 dan 7. Salin kode di bawah ini ke Visual Studio Code.

Pada semua tutorial Arduino di Kodesiana.com, semuanya akan menggunakan Visual Studio Code dan bukan Arduino IDE. Tetapi Anda tetap bisa menggunakan Arduino IDE dengan kode yang sama dari artikel ini! Baca artikel ini: Ngoding Arduino Lebih Cepat dengan Visual Studio Code.

#include <SoftwareSerial.h>

SoftwareSerial _passthru(7, 6);

void setup()
{
    Serial.begin(9600);
    _passthru.begin(9600);
}

void loop()
{
    if (_passthru.available()) {
            Serial.write(_passthru.read());
    }
    if (Serial.available()) {
        _passthru.write(Serial.read());
    }
}

Upload kode di atas ke board Arduino. Anda mungkin perlu mengubah baudĀ rate dari 9600 ke 38400 jika ini adalah pertama kalinya Anda menggunakan HC-05 (AT mode).

Serial Monitor

Setelah kode berhasil di upload, buka Command Pallete kemudian jalankan perintah berikut.

  • Arduino: Open Serial Monitor, untuk membuka serial monitor.
  • Arduino: Change Baud Rate, untuk mengubah baudĀ rate. Pilih dari menu yang ditampilkan. Setelah itu, pada status bar klik NoĀ lineĀ endings kemudian ubah menjadi BothĀ NLĀ & CR.
  • Arduino: Send Text to Serial Port, untuk mengirim perintah melalui serial. Ketikan perintah “AT” kemudian tekan Enter. Seharusnya akan muncul respon OK.

Sampai pada tahap ini Anda telah berhasil menggunakan Arduino sebagai konverter USB ke serial/TTL.

Lihat Juga

Semua konten dilisensikan di bawah lisensi CC BY 4.0.