Menghubungkan Barcode dan QR Code Scanner GM65 Dengan Arduino
Halo teman – teman semua, pada kesempatan ini admin akan menunjukan tutorial tentang cara menghubungkan sensor barcode dan qr scanner ke mikrokontroler arduino tanpa USB Host Shield. GM65 dapat dihubungkan juga ke mikrokontroler NodeMCU & ESP32 dikarenakan sensor GM65 memiliki pin Serial UART jadi bisa terhubung dengan mikrokontroler yang support komunikasi Serial.
Tahap pertama kita reset dulu modul sensor GM65 ke setelan pabrik agar lancar saat mengikuti tutorial ini. untuk itu maka teman – teman rakit modul GM65 sesuai skema berikut.

Dari skema diatas maka pin map nya adalah sebagai berikut
GM65 PIN | ARDUINO PIN |
5V | 5V |
TX | D2 |
RX | D3 |
GND | GND |
Langkah selanjutnya upload program berikut ke arduino.
#include <SoftwareSerial.h>
SoftwareSerial scanner(2, 3);
void setup()
{
Serial.begin(9600);
scanner.begin(9600);
}
void loop() {
if (scanner.available()) {
String id = scanner.readString();
Serial.println(id);
}
}
Selanjutnya, setelah program berhasil di upload ke Arduino, maka tahapan selanjutnya arahkan modul GM65 ke QR code berikut untuk mengembalikan Modul GM65 ke setelan pabrik.

Setelah scan berhasil. biasanya ditandai dengan buzzeratau tone pada modul GM65 akan berbunyi. Proses reset kurang lebih 5 detik.
Setelah itu, kita akan mengeset GM65 menjadi mode Serial UART. untuk mengesetnya Scan kembali QR Code berikut ini.

Jika scan berhasil akan ada tone pada modul.
Sampai disini kita sudah bisa menggunakan modul GM65 tanpa harus menghubungkan dengan USB Host Shield lagi. Untuk mengujinya teman – teman bisa membuka Serial Monitor pada software Arduino IDE

Kemudian set baudrate ke 9600.

Kemudian coba arahkan modul GM65 pada QR atau Barcode. jika berhasil maka hasil scan akan ditampilkan di Serial Monitor.

Settingan diatas modul GM65 berada pada mode continuous atau mode dimana modul akan aktif secara terus menerus untuk melakukan scanning.
INDUCTION MODE
Mode ini sangat cocok ketika teman – teman sedang membuat proyek scan QR Code atau Barcode yang ada pada layar hp atau monitor. Dimana jika kita mengeset modul GM65 ke induction mode maka modul hanya akan aktif ketika diarahkan ke layar / monitor saja atau adanya cahaya yang terang diarahkan ke modul. jika teman – teman ingin mengeset ke mode ini, maka scan QR Code berikut.

Jika berhasil scan akan ada tone pada modul. Cobalah arahkan modul GM65 ke layar / monitor.
Teman – teman juga bisa mengatur interval atau waktu berapa lama modul akan aktif. Silahkan scan Qr code berikut untuk mengatur interval. Defaultnya adalah akitf selama 5 detik / 5000ms.

MANUAL MODE
Pada mode ini kita akan mengontrol modul GM65 secara manual dimana modul akan aktif ketika teman – teman menekan tombol fisik yang ada pada modul GM65.
Contoh kasus disini admin akan membuat perhitungan sederhana 0 – 10. dimana Modul GM65 akan aktif tanpa harus menekan tombol fisik di modul untuk melakukan scan QR Code atau Barcode ketika perhitungan sudah mencapai angka 10.
Pada kasus diatas, kita akan memanfaatkan Command Trigered Mode untuk mengaktifkan modul tanpa harus menekan tombol fisik pada modul GM65. untuk menggunakan Command Trigered Mode modul GM65 harus berada pada Manual Mode terlebih dahulu. untuk itu scan QR Code berikut untuk masuk ke mode manual.

Jika scan berhasil akan ada tone pada modul. dan modul GM65 hanya bisa diaktifkan menggunakan tombol fisik yang ada pada modul saja.
Setelah itu aktifkan Command Trigered Mode pada modul GM65 scan QR Code berikut.

Jika scan berhasil akan ada tone pada modul. Kemudian untuk mengujinya berikut ini adalah program seperti contoh kasus yang sudah admin tulis diatas.
#include <SoftwareSerial.h>
SoftwareSerial scanner(2, 3); // pin RX | TX
char command_trigger[9] = {0x7E, 0x00, 0x08, 0x01, 0x00, 0x02, 0x01, 0xAB, 0xCD};
void setup()
{
Serial.begin(9600);
scanner.begin(9600);
//hitung 0 - 10
for (int i = 0; i < 10; i++) {
Serial.println("Hitung = " + String(i));
delay(1000);
}
Serial.println("Nyalakan GM65");
scanner.write(command_trigger, 9); //Kirim perintah mengaktifkan modul
}
void loop() {
if (scanner.available()) {
String id = scanner.readString();
Serial.println(id);
}
}
Upload program diatas ke arduino. setelah selesai buka serial monitor dan kurang lebih hasilnya adalah seperti gambar berikut.

Modul akan aktif defaultnya adalah 5 detik / 5000ms dan akan nonaktif secara otomatis jika tidak ada QR Code atau Barcode yang terdeteksi. Akan tetapi modul akan langsung nonaktif ketika telah melakukan scan Barcode atau QR Code.
Teman – teman juga bisa mengatur waktu / interval modul GM65 akan aktif. Silahkan scan Qr code berikut untuk mengatur interval.

Teman – teman bisa mengembangkan tutorial ini sesuai dengan kebutuhan dari teman – teman sendiri ya. Terima kasih dan semoga bisa bermanfaat.