Zum Hauptinhalt springen

Schnellstart

Verbinden Sie den Scanner über UART mit einem Mikrocontroller, installieren Sie die Bibliothek und geben Sie jeden gescannten Barcode aus.

Sie programmieren den Controller, der an dieses Breakout angeschlossen ist. Das Breakout selbst wird nicht geflasht.

Stellen Sie den Scanner zuerst auf UART um. Der Scanner wird im USB-Modus ausgeliefert, und in diesem Modus antwortet er nicht an RX und TX. Scannen Sie einmal den Konfigurationsbarcode POR232 (TTL/RS232), um ihn auf UART umzustellen. Im Repository der Arduino-Bibliothek liegt im Ordner barcodes eine Datei mit dem Namen TTL-Mode.PNG.

Die Header-Pins arbeiten mit 3,3-V-Logik. Wenn Sie das Board über den Header des Controllers statt über USB-C versorgen, verwenden Sie den 3,3-V-Pin des Controllers und verbinden Sie 3V3 niemals mit 5 V.

1. Breakout Board anschließen​

Dieses Beispiel ist für ein ESP32-Board geschrieben: Es kommuniziert mit dem Scanner über den Hardware-UART2 (HardwareSerial(2)) des ESP32 an GPIO4 und GPIO5. Kreuzen Sie die Datenleitungen: Der TX des Controllers geht an den RX des Scanners, und der TX des Scanners geht an den RX des Controllers.

ControllerSoldered Barcode Scanner DE2120
GPIO5 (TX)RX
GPIO4 (RX)TX
3V33V3
GNDGND
Soldered Barcode Scanner DE2120 Breakout von oben gesehen
Draufsicht

2. Bibliothek installieren​

Installieren Sie Soldered DE2120 aus dem GitHub-Repository.

🔗Soldered DE2120 Arduino-Bibliothek

Geprüfte Arduino-Bibliothek im Commit 697eb25

→

Tipp: Download von GitHub. Klicken Sie auf der GitHub-Seite der Bibliothek auf die grüne Schaltfläche Code und wählen Sie Download ZIP. Fügen Sie die Datei dann in der Arduino IDE über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen... hinzu.

Die Bibliothek bindet SoftwareSerial.h ein, daher muss eine SoftwareSerial-Bibliothek installiert sein, auch wenn Ihr Sketch einen Hardware-UART verwendet. Die Beispiele der Bibliothek verweisen dafür auf den Arduino Library Manager.

3. Erstes Beispiel ausführen​

Öffnen Sie HardwareScan aus den Beispielen der Bibliothek, wählen Sie Ihr ESP32-Board und den Port aus und laden Sie es hoch. Der Sketch startet den UART2 des ESP32 an GPIO4 (RX) und GPIO5 (TX), findet den Scanner und gibt jeden gelesenen Code aus.

Select Board
HardwareScan.ino
/**
**************************************************
*
* @file HardwareScan.ino
* @brief Scan and output barcodes using the DE2120 1D/2D barcode
* scanner module over HardwareSerial (UART2) on ESP32.
*
* Unlike SoftwareSerial, HardwareSerial uses a dedicated
* UART peripheral for reliable communication at 115200 bps.
* The library will automatically negotiate the baud rate
* down to 9600 bps on first connect.
*
* Default wiring: GPIO4 = RX (scanner TX),
* GPIO5 = TX (scanner RX). Change the pin arguments in
* scannerSerial.begin() to match your wiring.
*
* The scanner must first be put into TTL/RS232 mode by
* scanning the POR232 barcode from the DYScan settings
* manual before uploading this sketch.
*
* Make sure you have SoftwareSerial library installed. It
* can be found in Arduino library manager.
*
* @authors Fran Fodor @ soldered.com
***************************************************/

#include "HardwareSerial.h"
HardwareSerial scannerSerial(2); // Use UART2

#include "DE2120-SOLDERED.h"
DE2120_Soldered scanner;

#define BUFFER_LEN 40
char scanBuffer[BUFFER_LEN];

void setup()
{
Serial.begin(115200);
Serial.println("DE2120 Scanner Example");

scannerSerial.begin(115200, SERIAL_8N1, 4, 5); // RX=GPIO4, TX=GPIO5
delay(500);

if (scanner.begin(scannerSerial) == false)
{
Serial.println("Scanner did not respond. Please check wiring. Did you scan the POR232 barcode? Freezing...");
while (1);
}
Serial.println("Scanner online!");
}

void loop()
{
if (scanner.readBarcode(scanBuffer, BUFFER_LEN))
{
Serial.print("Code found: ");
for (int i = 0; i < strlen(scanBuffer); i++)
Serial.print(scanBuffer[i]);
Serial.println();
}
delay(200);
}

4. Ergebnis prüfen​

Öffnen Sie den Serial Monitor mit 115200 Baud. Wenn der Scanner antwortet, sehen Sie:

Serial MonitorAutoscrollShow timestampNewline115200 baud
Message (Enter to send message to the board)
DE2120 Scanner Example
Scanner online!

Der Scanner startet im manuellen Modus. Drücken Sie also die Auslösetaste auf dem Board und richten Sie ihn auf einen Barcode. Jeder gelesene Code wird in einer eigenen Zeile als Code found: gefolgt vom Inhalt des Codes ausgegeben.

Wenn stattdessen Scanner did not respond. Please check wiring. Did you scan the POR232 barcode? Freezing... erscheint, ist der Scanner noch im USB-Modus oder RX und TX sind vertauscht.

5. Wenn es nicht funktioniert​

Fahren Sie mit der Fehlerbehebung fort und wiederholen Sie dieses einfachste Beispiel nach jeder Änderung.